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

Location allocator that tracks contiguous free blocks. More...

#include <storemanager.h>

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

Classes

struct  FreeBlock
 Descriptor for one contiguous range of free locations. More...
 

Public Member Functions

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

Protected Member Functions

void consolidateBlocks ()
 

Protected Attributes

double *& storePtr
 
std::forward_list< FreeBlock > indexFree {0}
 
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 that tracks contiguous free blocks.

This representation makes allocation of adjacent locations efficient for active vectors and other block operations.

Constructor & Destructor Documentation

◆ StoreManagerLocintBlock() [1/4]

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

◆ StoreManagerLocintBlock() [2/4]

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

◆ StoreManagerLocintBlock() [3/4]

StoreManagerLocintBlock::StoreManagerLocintBlock ( const StoreManagerLocintBlock &  )
delete

◆ StoreManagerLocintBlock() [4/4]

StoreManagerLocintBlock::StoreManagerLocintBlock ( StoreManagerLocintBlock &&  )
delete

◆ ~StoreManagerLocintBlock()

virtual StoreManagerLocintBlock::~StoreManagerLocintBlock ( )
virtual

Member Function Documentation

◆ consolidateBlocks()

void StoreManagerLocintBlock::consolidateBlocks ( )
protected

◆ ensure_block()

virtual void StoreManagerLocintBlock::ensure_block ( size_t  n)
virtual

Implements StoreManager.

◆ free_loc()

virtual void StoreManagerLocintBlock::free_loc ( size_t  loc)
virtual

◆ grow()

virtual void StoreManagerLocintBlock::grow ( size_t  minGrow = 0)
virtual

when minGrow is specified we asssume that we have already search the blocks and found no block with minGrow locations in it

Implements StoreManager.

◆ maxSize()

virtual size_t StoreManagerLocintBlock::maxSize ( ) const
inlinevirtual

Implements StoreManager.

◆ next_loc()

virtual size_t StoreManagerLocintBlock::next_loc ( )
virtual

Implements StoreManager.

◆ operator=() [1/2]

StoreManagerLocintBlock & StoreManagerLocintBlock::operator= ( const StoreManagerLocintBlock &  )
delete

◆ operator=() [2/2]

StoreManagerLocintBlock & StoreManagerLocintBlock::operator= ( StoreManagerLocintBlock &&  )
delete

◆ size()

virtual size_t StoreManagerLocintBlock::size ( ) const
inlinevirtual

Implements StoreManager.

◆ storeType()

virtual unsigned char StoreManagerLocintBlock::storeType ( ) const
inlinevirtual

Implements StoreManager.

Member Data Documentation

◆ currentfill

size_t& StoreManagerLocintBlock::currentfill
protected

◆ indexFree

std::forward_list<FreeBlock> StoreManagerLocintBlock::indexFree {0}
protected

◆ maxsize

size_t& StoreManagerLocintBlock::maxsize
protected

◆ storePtr

double*& StoreManagerLocintBlock::storePtr
protected

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