thrust::host_vector
Defined in thrust/host_vector.h
-
template<typename T, typename Alloc = std::allocator<T>>
class host_vector : public detail::vector_base<T, std::allocator<T>> A
host_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 ahost_vector
may vary dynamically; memory management is automatic. The memory associated with ahost_vector
resides in memory accessible to hosts.See also
See also
universal_vector
Public Functions
-
inline host_vector()
This constructor creates an empty
host_vector
.
-
inline host_vector(const Alloc &alloc)
This constructor creates an empty
host_vector
.- Parameters
alloc – The allocator to use by this host_vector.
-
inline ~host_vector()
The destructor erases the elements.
-
inline explicit host_vector(size_type n)
This constructor creates a
host_vector
with the given size.- Parameters
n – The number of elements to initially create.
-
inline explicit host_vector(size_type n, const Alloc &alloc)
This constructor creates a
host_vector
with the given size.- Parameters
n – The number of elements to initially create.
alloc – The allocator to use by this host_vector.
-
inline explicit host_vector(size_type n, const value_type &value)
This constructor creates a
host_vector
with copies of an exemplar element.- Parameters
n – The number of elements to initially create.
value – An element to copy.
-
inline explicit host_vector(size_type n, const value_type &value, const Alloc &alloc)
This constructor creates a
host_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 host_vector.
-
inline host_vector(const host_vector &v)
Copy constructor copies from an exemplar
host_vector
.- Parameters
v – The
host_vector
to copy.
-
inline host_vector(const host_vector &v, const Alloc &alloc)
Copy constructor copies from an exemplar
host_vector
.- Parameters
v – The
host_vector
to copy.alloc – The allocator to use by this host_vector.
-
inline host_vector(host_vector &&v)
Move constructor moves from another host_vector.
- Parameters
v – The host_vector to move.
-
inline host_vector(host_vector &&v, const Alloc &alloc)
Move constructor moves from another host_vector.
- Parameters
v – The host_vector to move.
alloc – The allocator to use by this host_vector.
-
inline host_vector &operator=(const host_vector &v)
Assign operator copies from an exemplar
host_vector
.- Parameters
v – The
host_vector
to copy.
-
inline host_vector &operator=(host_vector &&v)
Move assign operator moves from another host_vector.
- Parameters
v – The host_vector to move.
-
template<typename OtherT, typename OtherAlloc>
inline host_vector(const host_vector<OtherT, OtherAlloc> &v) Copy constructor copies from an exemplar
host_vector
with different type.- Parameters
v – The
host_vector
to copy.
-
template<typename OtherT, typename OtherAlloc>
inline host_vector &operator=(const host_vector<OtherT, OtherAlloc> &v) Assign operator copies from an exemplar
host_vector
with different type.- Parameters
v – The
host_vector
to copy.
-
template<typename OtherT, typename OtherAlloc>
inline host_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 host_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 host_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 host_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 host_vector(std::initializer_list<T> il)
This constructor builds a
host_vector
from an intializer_list.- Parameters
il – The intializer_list.
-
inline host_vector(std::initializer_list<T> il, const Alloc &alloc)
This constructor builds a
host_vector
from an intializer_list.- Parameters
il – The intializer_list.
alloc – The allocator to use by this host_vector.
-
inline host_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 host_vector(InputIterator first, InputIterator last) This constructor builds a
host_vector
from a range.- Parameters
first – The beginning of the range.
last – The end of the range.
-
template<typename InputIterator>
inline host_vector(InputIterator first, InputIterator last, const Alloc &alloc) This constructor builds a
host_vector
from a range.- Parameters
first – The beginning of the range.
last – The end of the range.
alloc – The allocator to use by this host_vector.
Friends
-
inline friend void swap(host_vector &a, host_vector &b) noexcept(noexcept(a.swap(b)))
Exchanges the values of two vectors.
x
The firsthost_vector
of interest.y
The secondhost_vector
of interest.
-
inline host_vector()