carl  24.04
Computer ARithmetic Library
carl::pool::LocalPool< Content > Class Template Reference

#include <LocalPool.h>

Collaboration diagram for carl::pool::LocalPool< Content >:

Data Structures

struct  content_equal
 
struct  content_hash
 

Public Member Functions

 LocalPool (std::size_t _capacity=1000)
 
 ~LocalPool ()
 
template<typename Key >
std::shared_ptr< LocalPoolElementWrapper< Content > > add (std::shared_ptr< LocalPool< Content >> pool, Key &&c)
 

Protected Member Functions

void free (const LocalPoolElementWrapper< Content > *c)
 

Private Types

using UnderlyingSet = boost::intrusive::unordered_set< LocalPoolElementWrapper< Content > >
 

Private Member Functions

void check_rehash ()
 

Private Attributes

friend LocalPoolElementWrapper< Content >
 
IDPool m_ids
 id allocator More...
 
pool::RehashPolicy m_rehash_policy
 
std::unique_ptr< typename UnderlyingSet::bucket_type[]> m_pool_buckets
 
UnderlyingSet m_pool
 The pool. More...
 

Detailed Description

template<class Content>
class carl::pool::LocalPool< Content >

Definition at line 51 of file LocalPool.h.

Member Typedef Documentation

◆ UnderlyingSet

template<class Content >
using carl::pool::LocalPool< Content >::UnderlyingSet = boost::intrusive::unordered_set<LocalPoolElementWrapper<Content> >
private

Definition at line 77 of file LocalPool.h.

Constructor & Destructor Documentation

◆ LocalPool()

template<class Content >
carl::pool::LocalPool< Content >::LocalPool ( std::size_t  _capacity = 1000)
inline

Definition at line 104 of file LocalPool.h.

Here is the call graph for this function:

◆ ~LocalPool()

template<class Content >
carl::pool::LocalPool< Content >::~LocalPool ( )
inline

Definition at line 111 of file LocalPool.h.

Member Function Documentation

◆ add()

template<class Content >
template<typename Key >
std::shared_ptr<LocalPoolElementWrapper<Content> > carl::pool::LocalPool< Content >::add ( std::shared_ptr< LocalPool< Content >>  pool,
Key &&  c 
)
inline

Definition at line 114 of file LocalPool.h.

Here is the call graph for this function:

◆ check_rehash()

template<class Content >
void carl::pool::LocalPool< Content >::check_rehash ( )
inlineprivate

Definition at line 94 of file LocalPool.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ free()

template<class Content >
void carl::pool::LocalPool< Content >::free ( const LocalPoolElementWrapper< Content > *  c)
inlineprotected

Definition at line 134 of file LocalPool.h.

Here is the call graph for this function:

Field Documentation

◆ LocalPoolElementWrapper< Content >

template<class Content >
friend carl::pool::LocalPool< Content >::LocalPoolElementWrapper< Content >
private

Definition at line 52 of file LocalPool.h.

◆ m_ids

template<class Content >
IDPool carl::pool::LocalPool< Content >::m_ids
private

id allocator

Definition at line 74 of file LocalPool.h.

◆ m_pool

template<class Content >
UnderlyingSet carl::pool::LocalPool< Content >::m_pool
private

The pool.

Definition at line 80 of file LocalPool.h.

◆ m_pool_buckets

template<class Content >
std::unique_ptr<typename UnderlyingSet::bucket_type[]> carl::pool::LocalPool< Content >::m_pool_buckets
private

Definition at line 78 of file LocalPool.h.

◆ m_rehash_policy

template<class Content >
pool::RehashPolicy carl::pool::LocalPool< Content >::m_rehash_policy
private

Definition at line 76 of file LocalPool.h.


The documentation for this class was generated from the following file: