12#include "vecmem/containers/data/vector_view.hpp"
13#include "vecmem/utils/type_traits.hpp"
14#include "vecmem/utils/types.hpp"
48 static_assert(!std::is_same<std::remove_cv_t<T>,
bool>::value,
49 "bool is not supported in VecMem containers");
57 using pointer = std::add_pointer_t<value_type>;
66 VECMEM_HOST_AND_DEVICE
80 std::enable_if_t<details::is_same_nc<T, OTHERTYPE>::value,
bool> =
true>
87 std::enable_if_t<details::is_same_nc<T, OTHERTYPE>::value,
bool> =
true>
95 std::enable_if_t<std::is_same<std::remove_cv_t<T>,
96 std::remove_cv_t<OTHERTYPE> >::value,
104 std::enable_if_t<std::is_same<std::remove_cv_t<T>,
105 std::remove_cv_t<OTHERTYPE> >::value,
111 VECMEM_HOST_AND_DEVICE
114 VECMEM_HOST_AND_DEVICE
118 VECMEM_HOST_AND_DEVICE
133 VECMEM_HOST_AND_DEVICE
161VECMEM_HOST std::vector<typename vector_view<T>::size_type>
get_capacities(
168#include "vecmem/containers/impl/jagged_vector_view.ipp"
An allocator class that wraps a memory resource.
Definition allocator.hpp:37
A view for jagged vectors.
Definition jagged_vector_view.hpp:45
VECMEM_HOST_AND_DEVICE pointer host_ptr() const
Access the host accessible array describing the inner vectors.
Definition jagged_vector_view.ipp:105
VECMEM_HOST_AND_DEVICE jagged_vector_view & operator=(const jagged_vector_view< OTHERTYPE > &rhs)
Assignment operator from a "slightly different" object.
std::size_t size_type
We cannot use boolean types.
Definition jagged_vector_view.hpp:53
std::add_pointer_t< value_type > pointer
Pointer type to the jagged array.
Definition jagged_vector_view.hpp:57
VECMEM_HOST_AND_DEVICE bool operator!=(const jagged_vector_view< OTHERTYPE > &rhs) const
Inequality check. Simply based on operator==.
Definition jagged_vector_view.ipp:79
jagged_vector_view()=default
Default constructor.
VECMEM_HOST_AND_DEVICE size_type capacity() const
Get the maximum capacity of the "outer" vector.
Definition jagged_vector_view.ipp:92
VECMEM_HOST_AND_DEVICE bool operator==(const jagged_vector_view< OTHERTYPE > &rhs) const
Equality check.
Definition jagged_vector_view.ipp:64
VECMEM_HOST_AND_DEVICE pointer ptr() const
Get a pointer to the vector elements.
Definition jagged_vector_view.ipp:99
VECMEM_HOST_AND_DEVICE size_type size() const
Get the "outer" size of the jagged vector.
Definition jagged_vector_view.ipp:86
VECMEM_HOST std::vector< typename vector_view< T >::size_type > get_capacities(const jagged_vector_view< T > &data)
Get the capacities of the inner vectors of a jagged vector.
Definition jagged_vector_view.ipp:111
Main namespace for the vecmem classes/functions.
Definition atomic_ref.hpp:16