IBAMR  IBAMR version 0.19.
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SAMRAI::tbox::ReferenceCounter Class Reference

#include <tbox/ReferenceCounter.h>

Public Member Functions

 ReferenceCounter ()
 
 ReferenceCounter (Arena *newArena, ReferenceCounter *arenaCounter)
 
 ~ReferenceCounter ()
 
ArenagetArena ()
 
bool deleteReference ()
 
void addReference ()
 

Private Member Functions

 ReferenceCounter (const ReferenceCounter &)
 
void operator= (const ReferenceCounter &)
 

Private Attributes

int d_references
 
Arenad_arena
 
ReferenceCounterd_counter
 

Detailed Description

Class ReferenceCounter manages the shared reference counter and arena resources used by Pointer and Array.

{Do not subclass!} Changing the size of a ReferenceCounter object will cause my simple memory allocation mechanism to break in horrible and disgusting ways.

See also
tbox::Array
tbox::Pointer

Constructor & Destructor Documentation

◆ ReferenceCounter() [1/3]

SAMRAI::tbox::ReferenceCounter::ReferenceCounter ( )

Create a ReferenceCounter with an unmanaged memory arena. The number of references is set to one.

◆ ReferenceCounter() [2/3]

SAMRAI::tbox::ReferenceCounter::ReferenceCounter ( Arena newArena,
ReferenceCounter arenaCounter 
)

Create a ReferenceCounter with a managed memory arena. Argument newArena is the managed memory arena and arenaCounter is the reference counter for that arena. The number of references is set to one.

◆ ~ReferenceCounter()

SAMRAI::tbox::ReferenceCounter::~ReferenceCounter ( )

Destructor for ReferenceCounter. The destructor releases the managed memory arena if its count has gone to zero.

◆ ReferenceCounter() [3/3]

SAMRAI::tbox::ReferenceCounter::ReferenceCounter ( const ReferenceCounter )
private

Member Function Documentation

◆ getArena()

Arena* SAMRAI::tbox::ReferenceCounter::getArena ( )

Get the managed memory arena (or NULL if none exists).

◆ deleteReference()

bool SAMRAI::tbox::ReferenceCounter::deleteReference ( )

Decrement the number of references. True is returned if the reference count has gone to zero; false otherwise.

◆ addReference()

void SAMRAI::tbox::ReferenceCounter::addReference ( )

Increment the number of references.

◆ operator=()

void SAMRAI::tbox::ReferenceCounter::operator= ( const ReferenceCounter )
private

Member Data Documentation

◆ d_references

int SAMRAI::tbox::ReferenceCounter::d_references
private

◆ d_arena

Arena* SAMRAI::tbox::ReferenceCounter::d_arena
private

◆ d_counter

ReferenceCounter* SAMRAI::tbox::ReferenceCounter::d_counter
private

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