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

Lock-free slot allocator and single-pass sink. More...

#include <algorithm>
#include <atomic>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <memory>
#include <memory_resource>
#include <new>
#include <numeric>
#include <stdexcept>
#include <utility>
#include <vector>
#include "ITSMFTTracking/BoundedAllocator.h"

Go to the source code of this file.

Classes

class  o2::itsmft::tracking::detail::ThreadLocalStorage
 
struct  o2::itsmft::tracking::detail::MoveContext< T >
 
class  o2::itsmft::tracking::SlabBumpAllocator
 
struct  o2::itsmft::tracking::SlabBumpAllocator::Range
 
struct  o2::itsmft::tracking::SlabSinkStats
 
class  o2::itsmft::tracking::SlabSink< T, Mode >
 
struct  o2::itsmft::tracking::SlabSink< T, Mode >::Config
 
struct  o2::itsmft::tracking::SlabSink< T, Mode >::Run
 
class  o2::itsmft::tracking::SlabSink< T, Mode >::Handle
 

Namespaces

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

Typedefs

using o2::itsmft::tracking::detail::ParallelForBody = void(*)(void *, size_t, size_t)
 
template<typename T >
using o2::itsmft::tracking::UnorderedSlabSink = SlabSink< T, SlabMode::Unordered >
 
template<typename T >
using o2::itsmft::tracking::GroupedSlabSink = SlabSink< T, SlabMode::GroupedByProducer >
 

Enumerations

enum class  o2::itsmft::tracking::SlabMode : uint8_t { o2::itsmft::tracking::Unordered , o2::itsmft::tracking::GroupedByProducer }
 

Functions

void o2::itsmft::tracking::detail::parallelFor (size_t begin, size_t end, size_t grainSize, void *context, ParallelForBody body)
 

Detailed Description

Lock-free slot allocator and single-pass sink.

Definition in file SlabBumpAllocator.h.