10#include "vecmem/containers/data/jagged_vector_data.hpp"
11#include "vecmem/edm/details/schema_traits.hpp"
12#include "vecmem/edm/details/view_traits.hpp"
13#include "vecmem/edm/schema.hpp"
14#include "vecmem/memory/memory_resource.hpp"
15#include "vecmem/utils/tuple.hpp"
21namespace vecmem::edm::details {
26template <
typename TYPE>
28 using type = std::monostate;
31template <
typename TYPE>
41template <
typename TYPE>
43 static typename data_type<TYPE>::type make(std::size_t, memory_resource&) {
48template <
typename TYPE>
51 std::size_t size, memory_resource&
mr) {
62 const std::tuple<
typename data_type<VARTYPES>::type...>&
data,
63 std::index_sequence<INDEX, Is...>) {
71 if constexpr (
sizeof...(Is) > 0) {
A data wrapper for jagged vectors.
Definition jagged_vector_data.hpp:30
Technical base type for data<schema<VARTYPES...>>
Definition data.hpp:25
Technical base type for view<schema<VARTYPES...>>
Definition view.hpp:28
vector< vector< T > > jagged_vector
Alias type for jagged vectors with our polymorphic allocator.
Definition jagged_vector.hpp:30
std::vector< T, vecmem::polymorphic_allocator< T > > vector
Alias type for vectors with our polymorphic allocator.
Definition vector.hpp:35
Definition data_traits.hpp:42
Definition data_traits.hpp:27
Definition view_traits.hpp:33
Definition schema_traits.hpp:82
Default tuple type.
Definition tuple.hpp:24