ADOL-C: Automatic Differentiation in C/C++ 2.7.3
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Static Protected Attributes | List of all members
StoreManager Class Referenceabstract

Abstract allocator for locations in ADOL-C's active-value store. More...

#include <storemanager.h>

Inheritance diagram for StoreManager:
Inheritance graph
[legend]

Public Types

enum  LocationMgrType { ADOLC_LOCATION_BLOCKS , ADOLC_LOCATION_SINGLETONS }
 

Public Member Functions

 StoreManager ()
 
virtual ~StoreManager ()
 
virtual locint next_loc ()=0
 
virtual void free_loc (locint)=0
 
virtual void ensure_block (size_t n)=0
 
void setStoreManagerControl (double gcTriggerRatio, size_t gcTriggerMaxSize)
 
double gcTriggerRatio () const
 
size_t gcTriggerMaxSize () const
 
virtual size_t maxSize () const =0
 
virtual size_t size () const =0
 
virtual unsigned char storeType () const =0
 
virtual void grow (size_t mingrow=0)=0
 

Static Public Member Functions

static size_t get_initialSize ()
 

Protected Attributes

double myGcTriggerRatio {0}
 
size_t myGcTriggerMaxSize {0}
 

Static Protected Attributes

static size_t const initialSize {4}
 

Detailed Description

Abstract allocator for locations in ADOL-C's active-value store.

Implementations allocate, free, and grow contiguous ranges while updating the shared store size and live-location count.

Member Enumeration Documentation

◆ LocationMgrType

Enumerator
ADOLC_LOCATION_BLOCKS 
ADOLC_LOCATION_SINGLETONS 

Constructor & Destructor Documentation

◆ StoreManager()

StoreManager::StoreManager ( )
inline

◆ ~StoreManager()

virtual StoreManager::~StoreManager ( )
inlinevirtual

Member Function Documentation

◆ ensure_block()

virtual void StoreManager::ensure_block ( size_t  n)
pure virtual

◆ free_loc()

virtual void StoreManager::free_loc ( locint  )
pure virtual

Implemented in StoreManagerLocint.

◆ gcTriggerMaxSize()

size_t StoreManager::gcTriggerMaxSize ( ) const
inline

◆ gcTriggerRatio()

double StoreManager::gcTriggerRatio ( ) const
inline

◆ get_initialSize()

static size_t StoreManager::get_initialSize ( )
inlinestatic

◆ grow()

virtual void StoreManager::grow ( size_t  mingrow = 0)
pure virtual

◆ maxSize()

virtual size_t StoreManager::maxSize ( ) const
pure virtual

◆ next_loc()

virtual locint StoreManager::next_loc ( )
pure virtual

◆ setStoreManagerControl()

void StoreManager::setStoreManagerControl ( double  gcTriggerRatio,
size_t  gcTriggerMaxSize 
)
inline

◆ size()

virtual size_t StoreManager::size ( ) const
pure virtual

◆ storeType()

virtual unsigned char StoreManager::storeType ( ) const
pure virtual

Member Data Documentation

◆ initialSize

size_t const StoreManager::initialSize {4}
staticprotected

◆ myGcTriggerMaxSize

size_t StoreManager::myGcTriggerMaxSize {0}
protected

◆ myGcTriggerRatio

double StoreManager::myGcTriggerRatio {0}
protected

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