#include <ObjectPool.hxx>

Public Member Functions | |
| ObjectPool (int nblk=1024) | |
| virtual | ~ObjectPool () |
| X * | getNew () |
| void | destroy (X *obj) |
| void | clear () |
| size_t | size () const |
| size_t | nbElements () const |
| const X * | operator[] (size_t i) const |
| const X * | at (size_t i) const |
Private Member Functions | |
| int | getNextFree () |
| void | checkDelete (int chunkId) |
Private Attributes | |
| std::vector< X * > | _chunkList |
| std::vector< bool > | _freeList |
| int | _nextFree |
| int | _maxAvail |
| int | _chunkSize |
| int | _maxOccupied |
| int | _nbHoles |
| int | _lastDelChunk |
Friends | |
| class | ObjectPoolIterator< X > |
| ObjectPool< X >::ObjectPool | ( | int | nblk = 1024 | ) |
|
virtual |
References ObjectPool< X >::_chunkList.
| const X * ObjectPool< X >::at | ( | size_t | i | ) | const |
|
private |
References ObjectPool< X >::_chunkSize, and ObjectPool< X >::_freeList.
| void ObjectPool< X >::clear | ( | ) |
| void ObjectPool< X >::destroy | ( | X * | obj | ) |
| X * ObjectPool< X >::getNew | ( | ) |
References ObjectPool< X >::_chunkList, ObjectPool< X >::_chunkSize, ObjectPool< X >::_freeList, ObjectPool< X >::_maxAvail, ObjectPool< X >::_maxOccupied, ObjectPool< X >::_nbHoles, ObjectPool< X >::_nextFree, and ObjectPool< X >::getNextFree().
Referenced by StdMeshers::Cartesian3D::Grid::Add(), SMESH_MeshAlgos::FillHole(), and SMESH_MeshAlgos::MakeSlot().
|
private |
References ObjectPool< X >::_freeList, ObjectPool< X >::_maxAvail, ObjectPool< X >::_maxOccupied, ObjectPool< X >::_nbHoles, and ObjectPool< X >::_nextFree.
Referenced by ObjectPool< X >::getNew().
| size_t ObjectPool< X >::nbElements | ( | ) | const |
References ObjectPool< X >::_maxOccupied, and ObjectPool< X >::_nbHoles.
| const X * ObjectPool< X >::operator[] | ( | size_t | i | ) | const |
References ObjectPool< X >::_chunkList, and ObjectPool< X >::_chunkSize.
| size_t ObjectPool< X >::size | ( | ) | const |
References ObjectPool< X >::_freeList.
Referenced by ObjectPool< X >::at().
|
friend |
|
private |
|
private |
|
private |
|
private |
Referenced by ObjectPool< X >::clear(), ObjectPool< X >::destroy(), and ObjectPool< X >::ObjectPool().
|
private |
|
private |
|
private |
|
private |