Class VectorView

template<typename T>
class VectorView

Manage externally allocated memory ranges with a vector-like interface.

Public Types

template<>
using value_type = T
template<>
using size_type = std::size_t
template<>
using difference_type = std::ptrdiff_t
template<>
using reference = value_type&
template<>
using const_reference = value_type const&
template<>
using pointer = value_type *
template<>
using const_pointer = value_type const *
template<>
using iterator = pointer
template<>
using const_iterator = const_pointer

Public Functions

VectorView()
DEVICE VectorView(T *data, size_type const size, size_type const capacity)
DEVICE VectorView(T *data, size_type const size)
DEVICE T& VectorView::back()
DEVICE T const& VectorView::back() const
DEVICE T* VectorView::begin() const
DEVICE size_type VectorView::capacity() const
DEVICE T const* VectorView::cbegin() const
DEVICE T const* VectorView::cend() const
DEVICE void VectorView::clear()
DEVICE T* VectorView::data()
DEVICE T const* VectorView::data() const
DEVICE bool VectorView::empty() const
DEVICE T* VectorView::end() const
DEVICE bool VectorView::full() const
DEVICE T& VectorView::front()
DEVICE T const& VectorView::front() const
DEVICE T& VectorView::operator[](size_type const i)
DEVICE T const& VectorView::operator[](size_type const i) const
DEVICE void VectorView::push_back(T const & value)
DEVICE void VectorView::resize(size_type const size)
DEVICE void VectorView::set(T * data, size_type const size)
DEVICE size_type VectorView::size() const

Private Members

T *data_ = {nullptr}
size_type size_ = {0}
size_type capacity_ = {0}