Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals

BufferfstreamManager Class Reference

#include <BufferfstreamManager.h>

Collaboration diagram for BufferfstreamManager:

Collaboration graph
[legend]

Static Public Member Functions

void clear ()
void free_handle (int)
int get_handle ()
BufferfstreamManagerInstance ()

Protected Member Functions

 BufferfstreamManager (const BufferfstreamManager &)
 BufferfstreamManager ()
BufferfstreamManageroperator= (const BufferfstreamManager &)
 ~BufferfstreamManager ()

Static Private Attributes

int _begin = 1
bool * _freetable = new bool[BUFFERFSTREAMMANAGER_SIZEMAX]
BufferfstreamManager_ptinstance = 0

Constructor & Destructor Documentation

BufferfstreamManager::BufferfstreamManager  )  [protected]
 

Definition at line 52 of file BufferfstreamManager.cpp.

References _freetable, and BUFFERFSTREAMMANAGER_SIZEMAX.

00053 {
00054    _freetable[0] = false;
00055    for(int i = 1; i < BUFFERFSTREAMMANAGER_SIZEMAX; ++i) _freetable[i] = true;
00056 }

BufferfstreamManager::BufferfstreamManager const BufferfstreamManager  )  [protected]
 

Definition at line 58 of file BufferfstreamManager.cpp.

References _begin, _freetable, and BUFFERFSTREAMMANAGER_SIZEMAX.

00059 {
00060    _begin = rhs._begin;
00061    for(int i = 0; i < BUFFERFSTREAMMANAGER_SIZEMAX; ++i) {
00062       _freetable[i] = rhs._freetable[i];
00063    }
00064 }

BufferfstreamManager::~BufferfstreamManager  )  [protected]
 

Definition at line 66 of file BufferfstreamManager.cpp.

References _freetable, and _ptinstance.

00067 {
00068    if ( _freetable != 0 ) { delete [] _freetable; _freetable = 0; }
00069    if ( _ptinstance != 0 ) { delete _ptinstance; _ptinstance = 0; }
00070 }


Member Function Documentation

void BufferfstreamManager::clear  )  [static]
 

Definition at line 29 of file BufferfstreamManager.cpp.

References _begin, _freetable, and BUFFERFSTREAMMANAGER_SIZEMAX.

00030 {
00031    _begin = 1;
00032    _freetable[0] = false;
00033    for(int i = 1; i < BUFFERFSTREAMMANAGER_SIZEMAX; ++i) _freetable[i] = true;
00034 }

void BufferfstreamManager::free_handle int   )  [static]
 

Definition at line 46 of file BufferfstreamManager.cpp.

References _begin, and _freetable.

Referenced by Bufferfstream.~Bufferfstream().

00047 {
00048    _freetable[handle] = true;
00049    if ( handle < _begin ) _begin = handle;
00050 }

int BufferfstreamManager::get_handle  )  [static]
 

Definition at line 36 of file BufferfstreamManager.cpp.

References _begin, _freetable, and BUFFERFSTREAMMANAGER_SIZEMAX.

Referenced by Bufferfstream.Bufferfstream().

00037 {
00038    int handle = _begin;
00039    while ( ( !_freetable[handle] ) 
00040      && ( handle++ < BUFFERFSTREAMMANAGER_SIZEMAX ) ) {}
00041    _freetable[handle] = false;
00042    _begin = handle;
00043    return handle;
00044 }

BufferfstreamManager * BufferfstreamManager::Instance  )  [static]
 

Definition at line 23 of file BufferfstreamManager.cpp.

References _ptinstance.

Referenced by Bufferfstream.Bufferfstream().

00024 {
00025    if ( _ptinstance == 0 ) _ptinstance = new BufferfstreamManager;
00026    return _ptinstance;
00027 }

BufferfstreamManager & BufferfstreamManager::operator= const BufferfstreamManager  )  [protected]
 

Definition at line 72 of file BufferfstreamManager.cpp.

References _begin, _freetable, and BUFFERFSTREAMMANAGER_SIZEMAX.

00075 {
00076    _begin = rhs._begin;
00077    for(int i = 0; i < BUFFERFSTREAMMANAGER_SIZEMAX; ++i) {
00078       _freetable[i] = rhs._freetable[i];
00079    }
00080    return *this;
00081 }


Field Documentation

int BufferfstreamManager::_begin = 1 [static, private]
 

Definition at line 21 of file BufferfstreamManager.cpp.

Referenced by BufferfstreamManager(), clear(), free_handle(), get_handle(), and operator=().

bool * BufferfstreamManager::_freetable = new bool[BUFFERFSTREAMMANAGER_SIZEMAX] [static, private]
 

Definition at line 19 of file BufferfstreamManager.cpp.

Referenced by BufferfstreamManager(), clear(), free_handle(), get_handle(), operator=(), and ~BufferfstreamManager().

BufferfstreamManager * BufferfstreamManager::_ptinstance = 0 [static, private]
 

Definition at line 17 of file BufferfstreamManager.cpp.

Referenced by Instance(), and ~BufferfstreamManager().


The documentation for this class was generated from the following files:
Generated on Mon May 31 21:40:43 2004 for SR2k4 Assembler by doxygen 1.3.6