Esempio n. 1
0
/// Decrement the number of times this state is referenced.
void ProgramStateRelease(const ProgramState *state) {
    assert(state->refCount > 0);
    ProgramState *s = const_cast<ProgramState*>(state);
    if (--s->refCount == 0) {
        ProgramStateManager &Mgr = s->getStateManager();
        Mgr.StateSet.RemoveNode(s);
        s->~ProgramState();
        Mgr.freeStates.push_back(s);
    }
}