campo-sirio/libraries/curlpp/src/utilspp/PrivateMembers.cpp
mtollari 4db94043cb Patch level : 12.0 no-patch
Files correlati     : 
Commento            : Spostamento in libraries delle librerie esterne di Campo per una maggiore pulizia e organizzazione

git-svn-id: svn://10.65.10.50/branches/R_10_00@24150 c028cbd2-c16b-5b4b-a496-9718f37d4682
2017-10-26 09:11:15 +00:00

47 lines
1.0 KiB
C++

#include <cstdlib>
#include "utilspp/singleton/PrivateMembers.hpp"
utilspp::PrivateMembers::TrackerArray
utilspp::PrivateMembers::mTrackerArray = NULL;
int utilspp::PrivateMembers::mNbElements = 0;
utilspp::PrivateMembers::LifetimeTracker::LifetimeTracker( unsigned int
longevity )
:
mLongevity(longevity)
{}
utilspp::PrivateMembers::LifetimeTracker::~LifetimeTracker()
{}
bool
utilspp::PrivateMembers::LifetimeTracker::compare(
const LifetimeTracker * l,
const LifetimeTracker * r
)
{
return l->mLongevity < r->mLongevity;
}
void
utilspp::PrivateMembers::atExitFunc()
{
assert((mTrackerArray != NULL) &&
(mNbElements> 0));
//Pick the element at the top of the stack.
LifetimeTracker* top = mTrackerArray[mNbElements - 1];
//Remove that object off the stack.
//Don't check errors-realloc with less memory, cause that can't fail.
mTrackerArray = static_cast<
utilspp::PrivateMembers::TrackerArray>(std::realloc(mTrackerArray,
--mNbElements));
//Destroy the element.
delete top;
}