From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/a02535.html | 206 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 docs/doxygen/nel/a02535.html (limited to 'docs/doxygen/nel/a02535.html') diff --git a/docs/doxygen/nel/a02535.html b/docs/doxygen/nel/a02535.html new file mode 100644 index 00000000..35b37b10 --- /dev/null +++ b/docs/doxygen/nel/a02535.html @@ -0,0 +1,206 @@ + + +NeL: NLMISC::CFixedSizeAllocator::CNode class Reference + + + +
+

NLMISC::CFixedSizeAllocator::CNode Class Reference

+ + + + + + + + + + + + + +

Public Member Functions

void link ()
void * unlink ()

Data Fields

CChunkChunk
CNodeNext
CNode ** Prev
+

Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void NLMISC::CFixedSizeAllocator::CNode::link  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 189 of file fixed_size_allocator.cpp. +

+References NLMISC::CFixedSizeAllocator::_FreeSpace, NLMISC::CFixedSizeAllocator::CChunk::add(), NLMISC::CFixedSizeAllocator::CChunk::Allocator, Chunk, nlassert, and Prev. +

+Referenced by NLMISC::CFixedSizeAllocator::free(). +

+

00190 {
+00191         // destroy the obj to get back uninitialized memory     
+00192         nlassert(Chunk);
+00193         nlassert(Chunk->Allocator);
+00194         
+00195         CNode *&head = Chunk->Allocator->_FreeSpace;
+00196         Next = head;
+00197         Prev = &head;
+00198         if (Next)
+00199         {
+00200                 Next->Prev = &Next;
+00201         }
+00202         Chunk->Allocator->_FreeSpace = this;
+00203         Chunk->add();
+00204 }
+
+

+ + + + +
+ + + + + + + + + +
void * NLMISC::CFixedSizeAllocator::CNode::unlink  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 178 of file fixed_size_allocator.cpp. +

+References Chunk, NLMISC::CFixedSizeAllocator::CChunk::grab(), nlassert, NLMISC::CFixedSizeAllocator::CChunk::NumFreeObjs, and Prev. +

+Referenced by NLMISC::CFixedSizeAllocator::alloc(), and NLMISC::CFixedSizeAllocator::CChunk::~CChunk(). +

+

00179 {                       
+00180         nlassert(Prev != NULL);
+00181         if (Next) { Next->Prev = Prev;}
+00182         *Prev = Next;
+00183         nlassert(Chunk->NumFreeObjs > 0);
+00184         Chunk->grab(); // tells the containing chunk that a node has been allocated
+00185         return (void *) &Next;
+00186 }
+
+


Field Documentation

+

+ + + + +
+ + +
CChunk* NLMISC::CFixedSizeAllocator::CNode::Chunk +
+
+ + + + + +
+   + + +

+ +

+Definition at line 68 of file fixed_size_allocator.h. +

+Referenced by NLMISC::CFixedSizeAllocator::free(), NLMISC::CFixedSizeAllocator::CChunk::init(), link(), unlink(), and NLMISC::CFixedSizeAllocator::~CFixedSizeAllocator().

+

+ + + + +
+ + +
CNode* NLMISC::CFixedSizeAllocator::CNode::Next +
+
+ + + + + +
+   + + +

+ +

+Definition at line 70 of file fixed_size_allocator.h. +

+Referenced by NLMISC::CFixedSizeAllocator::CChunk::init().

+

+ + + + +
+ + +
CNode** NLMISC::CFixedSizeAllocator::CNode::Prev +
+
+ + + + + +
+   + + +

+ +

+Definition at line 71 of file fixed_size_allocator.h. +

+Referenced by NLMISC::CFixedSizeAllocator::CChunk::init(), link(), and unlink().

+


The documentation for this class was generated from the following files: +
Generated on Tue Mar 16 13:13:24 2004 for NeL by + +doxygen +1.3.6
+ + -- cgit v1.2.1