37template<
class BaseType,
class CoType>
40 Pool<BaseType, CoType> *
pool,
43 version_ = (
convar) ? 1 : 0;
47template<
class BaseType,
class CoType>
48PoolSlot<BaseType, CoType>::~PoolSlot()
51 if (conVar_ && conVar_->nReferences()) {
52 Logger::ifout() <<
"~PoolSlot(): it is not allowed to destruct objects of class PoolSlot with a constraint/variable with positive reference counter = " << conVar_->nReferences() <<
".\n";
55#ifndef OGDF_USE_ASSERT_EXCEPTIONS
56 OGDF_ASSERT((conVar_ && conVar_->nReferences()) ==
false);
64template<
class BaseType,
class CoType>
67 if (conVar_ !=
nullptr) {
68 Logger::ifout() <<
"PoolSlot::insert(): insertion failed, the slot is not void\n";
72 if (version_ == std::numeric_limits<unsigned long>::max()) {
73 Logger::ifout() <<
"PoolSlot::insert(): insertion failed, maximum version number ULONG_MAX reached\n";
PoolSlot(Master *master, Pool< BaseType, CoType > *pool, BaseType *convar=0)
Creates a pool slot and inserts convar.
constraints and variables.
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
#define OGDF_THROW_PARAM(CLASS, PARAM)
Replacement for throw.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()