MCPcopy Create free account
hub / github.com/MaxBelkov/visualsyslog / Alloc

Method Alloc

sourcecommon/tinyxml2.h:345–367  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

343 }
344
345 virtual void* Alloc() {
346 if ( !_root ) {
347 // Need a new block.
348 Block* block = new Block();
349 _blockPtrs.Push( block );
350
351 for( int i=0; i<COUNT-1; ++i ) {
352 block->chunk[i].next = &block->chunk[i+1];
353 }
354 block->chunk[COUNT-1].next = 0;
355 _root = block->chunk;
356 }
357 void* result = _root;
358 _root = _root->next;
359
360 ++_currentAllocs;
361 if ( _currentAllocs > _maxAllocs ) {
362 _maxAllocs = _currentAllocs;
363 }
364 _nAllocs++;
365 _nUntracked++;
366 return result;
367 }
368 virtual void Free( void* mem ) {
369 if ( !mem ) {
370 return;

Callers 8

IdentifyMethod · 0.80
FindOrCreateAttributeMethod · 0.80
ParseAttributesMethod · 0.80
NewElementMethod · 0.80
NewCommentMethod · 0.80
NewTextMethod · 0.80
NewDeclarationMethod · 0.80
NewUnknownMethod · 0.80

Calls 1

PushMethod · 0.80

Tested by

no test coverage detected