vecmem 1.14.0
Loading...
Searching...
No Matches
jagged_vector.hpp
1/*
2 * VecMem project, part of the ACTS project (R&D line)
3 *
4 * (c) 2021 CERN for the benefit of the ACTS project
5 *
6 * Mozilla Public License Version 2.0
7 */
8
9#pragma once
10
11// Local include(s).
12#include "vecmem/containers/data/jagged_vector_data.hpp"
13#include "vecmem/containers/vector.hpp"
14#include "vecmem/memory/memory_resource.hpp"
15#include "vecmem/utils/types.hpp"
16
17namespace vecmem {
18
29template <typename T>
31
33template <typename TYPE>
35 jagged_vector<TYPE>& vec, memory_resource* resource = nullptr);
36
38template <typename TYPE, typename ALLOC1, typename ALLOC2>
40 std::vector<std::vector<TYPE, ALLOC1>, ALLOC2>& vec,
41 memory_resource* resource);
42
44template <typename TYPE>
46 const jagged_vector<TYPE>& vec, memory_resource* resource = nullptr);
47
49template <typename TYPE, typename ALLOC1, typename ALLOC2>
51 const std::vector<std::vector<TYPE, ALLOC1>, ALLOC2>& vec,
52 memory_resource* resource);
53
54} // namespace vecmem
55
56// Include the implementation.
57#include "vecmem/containers/impl/jagged_vector.ipp"
A data wrapper for jagged vectors.
Definition jagged_vector_data.hpp:30
Main namespace for the vecmem classes/functions.
Definition atomic_ref.hpp:16
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
VECMEM_HOST data::vector_view< T > get_data(array< T, N > &a)
Helper function creating a vecmem::data::vector_view object.
Definition array.ipp:217