diff options
| author | Josh Blum <josh@joshknows.com> | 2011-02-10 16:16:40 -0800 | 
|---|---|---|
| committer | Josh Blum <josh@joshknows.com> | 2011-02-10 16:16:40 -0800 | 
| commit | 4addf2a48646f5b0faa5f42b35a5735d40d8b4f0 (patch) | |
| tree | 475d735bede768e45f89872c0b71f25c2d98a940 | |
| parent | 5845c437dddb1e6d661054a4388c9db6f6f06e73 (diff) | |
| download | uhd-4addf2a48646f5b0faa5f42b35a5735d40d8b4f0.tar.gz uhd-4addf2a48646f5b0faa5f42b35a5735d40d8b4f0.tar.bz2 uhd-4addf2a48646f5b0faa5f42b35a5735d40d8b4f0.zip | |
uhd: reference vector fix revealed when building w/ debug
| -rw-r--r-- | host/include/uhd/types/ref_vector.hpp | 22 | 
1 files changed, 7 insertions, 15 deletions
| diff --git a/host/include/uhd/types/ref_vector.hpp b/host/include/uhd/types/ref_vector.hpp index ef970802f..efd4b8f89 100644 --- a/host/include/uhd/types/ref_vector.hpp +++ b/host/include/uhd/types/ref_vector.hpp @@ -29,29 +29,22 @@ namespace uhd{   */  template <typename T> class ref_vector{  public: -    //! Create a reference vector of length one from a pointer -    template <typename Ptr> ref_vector(Ptr *ptr): -        _mem(memp_t(&ptr)), _size(1) +    //! Create a reference vector from a pointer and size +    template <typename Ptr> ref_vector(Ptr *ptr, size_t size = 1): +        _mem(T(ptr)), _size(size)      {          /* NOP */      }      //! Create a reference vector from a std::vector container      template <typename Range> ref_vector(const Range &range): -        _mem(memp_t(&range[0])), _size(range.size()) +        _mem(T(range.front())), _size(range.size())      {          /* NOP */      } -    //! Create a reference vector from a memory pointer and size -    ref_vector(T *mem, size_t size): -        _mem(mem), _size(size) -    { -        /* NOP */ -    } - -    T &operator[](size_t index) const{ -        return _mem[index]; +    const T &operator[](size_t index) const{ +        return (&_mem)[index];      }      size_t size(void) const{ @@ -59,8 +52,7 @@ public:      }  private: -    typedef T* memp_t; -    const memp_t _mem; +    const T      _mem;      const size_t _size;  }; | 
