LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
BulkAllocator.h File Reference

Memory allocator for large amount of (small) objects. More...

#include <cstdlib>
#include <memory>
#include <stdexcept>
#include <algorithm>
#include <array>
#include <iostream>
#include <string>
#include <typeinfo>
#include <vector>

Go to the source code of this file.

Classes

class  lar::details::bulk_allocator::BulkAllocatorBase< T >
 A class managing a memory pool. More...
 
class  lar::memory_error
 Exception thrown when BulkAllocator-specific allocation errors happen. More...
 
class  lar::BulkAllocator< T >
 Aggressive allocator reserving a lot of memory in advance. More...
 
struct  lar::BulkAllocator< T >::rebind< U >
 
class  lar::details::bulk_allocator::ReferenceCounter
 A simple reference counter, keep track of a number of users. More...
 
class  lar::details::bulk_allocator::BulkAllocatorBase< T >
 A class managing a memory pool. More...
 
class  lar::details::bulk_allocator::BulkAllocatorBase< T >::MemoryChunk_t
 Internal memory chunk; like a std::vector, but does not construct. More...
 

Namespaces

 lar
 LArSoft-specific namespace.
 
 lar::details
 Namespace hiding implementation details.
 
 lar::details::bulk_allocator
 Namespace specific to bulk allocator.
 

Functions

template<typename T >
std::string lar::details::demangle ()
 Demangles the name of a type. More...
 
template<typename T >
std::string lar::details::demangle (const T &)
 Demangles the name of a type. More...
 

Variables

constexpr bool lar::details::bulk_allocator::bDebug = false
 

Detailed Description

Memory allocator for large amount of (small) objects.

Author
Gianluca Petrillo (petri.nosp@m.llo@.nosp@m.fnal..nosp@m.gov)
Date
August 17th, 2014

Definition in file BulkAllocator.h.