Project
Loading...
Searching...
No Matches
BoundedAllocator.h File Reference

Shared budgeted host allocation and bounded-vector utilities. More...

#include <algorithm>
#include <array>
#include <atomic>
#include <limits>
#include <memory>
#include <memory_resource>
#include <new>
#include <string>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

class  o2::gtrk::BoundedMemoryResource
 
class  o2::gtrk::BoundedMemoryResource::MemoryLimitExceeded
 

Namespaces

namespace  o2
 a couple of static helper functions to create timestamp values for CCDB queries or override obsolete objects
 
namespace  o2::gtrk
 

Typedefs

template<typename T >
using o2::gtrk::BoundedVector = std::pmr::vector< T >
 
template<typename T >
using o2::gtrk::bounded_vector = BoundedVector< T >
 

Functions

template<typename T >
void o2::gtrk::deepVectorClear (std::vector< T > &vec)
 
template<typename T >
void o2::gtrk::deepVectorClear (bounded_vector< T > &vec, std::pmr::memory_resource *mr=nullptr)
 
template<typename T >
void o2::gtrk::deepVectorClear (std::vector< bounded_vector< T > > &vec, std::pmr::memory_resource *mr=nullptr)
 
template<typename T , size_t S>
void o2::gtrk::deepVectorClear (std::array< bounded_vector< T >, S > &arr, std::pmr::memory_resource *mr=nullptr)
 
template<typename T >
void o2::gtrk::clearResizeBoundedVector (bounded_vector< T > &vec, size_t sz, std::pmr::memory_resource *mr=nullptr, T def=T())
 
template<typename T >
void o2::gtrk::resizeBoundedVector (BoundedVector< T > &vec, size_t sz, std::pmr::memory_resource *mr=nullptr)
 
template<typename... T>
void o2::gtrk::deepVectorClear (std::pmr::memory_resource *mr, BoundedVector< T > &... vecs)
 
template<typename T >
void o2::gtrk::clearResizeBoundedVector (std::vector< bounded_vector< T > > &vec, size_t size, std::pmr::memory_resource *mr)
 
template<typename T , size_t S>
void o2::gtrk::clearResizeBoundedArray (std::array< bounded_vector< T >, S > &arr, size_t size, std::pmr::memory_resource *mr=nullptr, T def=T())
 
template<typename T >
std::vector< T > o2::gtrk::toSTDVector (const bounded_vector< T > &b)
 

Detailed Description

Shared budgeted host allocation and bounded-vector utilities.

Reconciles GTRK's overflow-safe allocator, profiling counters and vector rebuilds with the owned-resource, mutable-budget and stage-peak contracts used by the upstream legacy ITS tracker and vertexer.

Definition in file BoundedAllocator.h.