thrust::device_vector
Defined in thrust/device_vector.h
-
template<typename T, typename Alloc = thrust::device_allocator<T>>
class device_vector : public detail::vector_base<T, thrust::device_allocator<T>> A
device_vector
is a container that supports random access to elements, constant time removal of elements at the end, and linear time insertion and removal of elements at the beginning or in the middle. The number of elements in adevice_vector
may vary dynamically; memory management is automatic. The memory associated with adevice_vector
resides in the memory accessible to devices.See also
See also
See also
universal_vector
Public Functions
-
inline device_vector()
This constructor creates an empty
device_vector
.
-
inline device_vector(const Alloc &alloc)
This constructor creates an empty
device_vector
.- Parameters
alloc – The allocator to use by this device_vector.
-
inline ~device_vector()
The destructor erases the elements.
-
inline explicit device_vector(size_type n)
This constructor creates a
device_vector
with the given size.- Parameters
n – The number of elements to initially create.
-
inline explicit device_vector(size_type n, const Alloc &alloc)
This constructor creates a
device_vector
with the given size.- Parameters
n – The number of elements to initially create.
alloc – The allocator to use by this device_vector.
-
inline explicit device_vector(size_type n, const value_type &value)
This constructor creates a
device_vector
with copies of an exemplar element.- Parameters
n – The number of elements to initially create.
value – An element to copy.
-
inline explicit device_vector(size_type n, const value_type &value, const Alloc &alloc)
This constructor creates a
device_vector
with copies of an exemplar element.- Parameters
n – The number of elements to initially create.
value – An element to copy.
alloc – The allocator to use by this device_vector.
-
inline device_vector(const device_vector &v)
Copy constructor copies from an exemplar
device_vector
.- Parameters
v – The
device_vector
to copy.
-
inline device_vector(const device_vector &v, const Alloc &alloc)
Copy constructor copies from an exemplar
device_vector
.- Parameters
v – The
device_vector
to copy.alloc – The allocator to use by this device_vector.
-
inline device_vector(device_vector &&v)
Move constructor moves from another
device_vector
.- Parameters
v – The device_vector to move.
-
inline device_vector(device_vector &&v, const Alloc &alloc)
Move constructor moves from another
device_vector
.- Parameters
v – The device_vector to move.
alloc – The allocator to use by this device_vector.
-
inline device_vector &operator=(const device_vector &v)
Copy assign operator copies another
device_vector
with the same type.- Parameters
v – The
device_vector
to copy.
-
inline device_vector &operator=(device_vector &&v)
Move assign operator moves from another
device_vector
.- Parameters
v – The device_vector to move.
-
template<typename OtherT, typename OtherAlloc>
inline explicit device_vector(const device_vector<OtherT, OtherAlloc> &v) Copy constructor copies from an exemplar
device_vector
with different type.- Parameters
v – The
device_vector
to copy.
-
template<typename OtherT, typename OtherAlloc>
inline device_vector &operator=(const device_vector<OtherT, OtherAlloc> &v) Assign operator copies from an exemplar
device_vector
with different type.- Parameters
v – The
device_vector
to copy.
-
template<typename OtherT, typename OtherAlloc>
inline device_vector(const std::vector<OtherT, OtherAlloc> &v) Copy constructor copies from an exemplar
std::vector
.- Parameters
v – The
std::vector
to copy.
-
template<typename OtherT, typename OtherAlloc>
inline device_vector &operator=(const std::vector<OtherT, OtherAlloc> &v) Assign operator copies from an exemplar
std::vector
.- Parameters
v – The
std::vector
to copy.
-
template<typename OtherT, typename OtherAlloc>
inline device_vector(const detail::vector_base<OtherT, OtherAlloc> &v) Copy construct from a
vector_base
whose element type is convertible toT
.- Parameters
v – The
vector_base
to copy.
-
template<typename OtherT, typename OtherAlloc>
inline device_vector &operator=(const detail::vector_base<OtherT, OtherAlloc> &v) Assign a
vector_base
whose element type is convertible toT
.- Parameters
v – The
vector_base
to copy.
-
inline device_vector(std::initializer_list<T> il)
This constructor builds a
device_vector
from an intializer_list.- Parameters
il – The intializer_list.
-
inline device_vector(std::initializer_list<T> il, const Alloc &alloc)
This constructor builds a
device_vector
from an intializer_list.- Parameters
il – The intializer_list.
alloc – The allocator to use by this device_vector.
-
inline device_vector &operator=(std::initializer_list<T> il)
Assign an
intializer_list
with a matching element type- Parameters
il – The intializer_list.
-
template<typename InputIterator>
inline device_vector(InputIterator first, InputIterator last) This constructor builds a
device_vector
from a range.- Parameters
first – The beginning of the range.
last – The end of the range.
-
template<typename InputIterator>
inline device_vector(InputIterator first, InputIterator last, const Alloc &alloc) This constructor builds a
device_vector
from a range.- Parameters
first – The beginning of the range.
last – The end of the range.
alloc – The allocator to use by this device_vector.
-
inline device_vector()