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

Location allocator backed by a free-location index array. More...

#include <storemanager.h>

Inheritance diagram for StoreManagerLocint:
Inheritance graph
[legend]
Collaboration diagram for StoreManagerLocint:
Collaboration graph
[legend]

Public Member Functions

 StoreManagerLocint (double *&storePtr, size_t &size, size_t &numlives)
 
 StoreManagerLocint (const StoreManagerLocint *const stm, double *&storePtr, size_t &size, size_t &numLives)
 
virtual ~StoreManagerLocint ()
 
virtual size_t size () const
 
virtual size_t maxSize () const
 
virtual unsigned char storeType () const
 
virtual bool realloc_on_next_loc () const
 
virtual locint next_loc ()
 
virtual void free_loc (locint loc)
 
virtual void ensure_block (size_t n)
 
virtual void grow (size_t mingrow=0)
 
- Public Member Functions inherited from StoreManager
 StoreManager ()
 
virtual ~StoreManager ()
 
void setStoreManagerControl (double gcTriggerRatio, size_t gcTriggerMaxSize)
 
double gcTriggerRatio () const
 
size_t gcTriggerMaxSize () const
 

Protected Attributes

double *& storePtr
 
locint * indexFree
 
locint head
 
size_t & maxsize
 
size_t & currentfill
 
- Protected Attributes inherited from StoreManager
double myGcTriggerRatio {0}
 
size_t myGcTriggerMaxSize {0}
 

Additional Inherited Members

- Public Types inherited from StoreManager
enum  LocationMgrType { ADOLC_LOCATION_BLOCKS , ADOLC_LOCATION_SINGLETONS }
 
- Static Public Member Functions inherited from StoreManager
static size_t get_initialSize ()
 
- Static Protected Attributes inherited from StoreManager
static size_t const initialSize {4}
 

Detailed Description

Location allocator backed by a free-location index array.

The index array links free locations. This allocator supports scalar allocations; ensure_block() throws because contiguous blocks are unsupported.

Constructor & Destructor Documentation

◆ StoreManagerLocint() [1/2]

StoreManagerLocint::StoreManagerLocint ( double *&  storePtr,
size_t &  size,
size_t &  numlives 
)

◆ StoreManagerLocint() [2/2]

StoreManagerLocint::StoreManagerLocint ( const StoreManagerLocint *const  stm,
double *&  storePtr,
size_t &  size,
size_t &  numLives 
)

◆ ~StoreManagerLocint()

virtual StoreManagerLocint::~StoreManagerLocint ( )
virtual

Member Function Documentation

◆ ensure_block()

virtual void StoreManagerLocint::ensure_block ( size_t  n)
virtual

Implements StoreManager.

◆ free_loc()

virtual void StoreManagerLocint::free_loc ( locint  loc)
virtual

Implements StoreManager.

◆ grow()

virtual void StoreManagerLocint::grow ( size_t  mingrow = 0)
virtual

Implements StoreManager.

◆ maxSize()

virtual size_t StoreManagerLocint::maxSize ( ) const
inlinevirtual

Implements StoreManager.

◆ next_loc()

virtual locint StoreManagerLocint::next_loc ( )
virtual

Implements StoreManager.

◆ realloc_on_next_loc()

virtual bool StoreManagerLocint::realloc_on_next_loc ( ) const
inlinevirtual

◆ size()

virtual size_t StoreManagerLocint::size ( ) const
inlinevirtual

Implements StoreManager.

◆ storeType()

virtual unsigned char StoreManagerLocint::storeType ( ) const
inlinevirtual

Implements StoreManager.

Member Data Documentation

◆ currentfill

size_t& StoreManagerLocint::currentfill
protected

◆ head

locint StoreManagerLocint::head
protected

◆ indexFree

locint* StoreManagerLocint::indexFree
protected

◆ maxsize

size_t& StoreManagerLocint::maxsize
protected

◆ storePtr

double*& StoreManagerLocint::storePtr
protected

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