Files
cdesktop/cde/programs/dtinfo/DtMmdb/StyleSheet/ResolverStack.C

66 lines
1.2 KiB
C

// $XConsortium: ResolverStack.cc /main/3 1996/06/11 17:08:33 cde-hal $
#include "ResolverStack.h"
#include "Element.h"
#include "Feature.h"
// we have the responsibility of deleting these guys
ResolverStackElement::ResolverStackElement(Element *element,
FeatureSet *local,
FeatureSet *complete)
: f_element(element),
f_localFeatureSet(local),
f_completeFeatureSet(complete)
{
}
ResolverStackElement::~ResolverStackElement()
{
delete f_element;
delete f_localFeatureSet;
delete f_completeFeatureSet ;
}
// required by CC_TPtrDlist
int
ResolverStackElement::operator==(const ResolverStackElement &stack_element)
{
return
stack_element.f_element == f_element &&
stack_element.f_localFeatureSet == f_localFeatureSet &&
stack_element.f_completeFeatureSet == f_completeFeatureSet ;
}
ResolverStack::ResolverStack()
: CC_TPtrDlist<ResolverStackElement>()
{
}
ResolverStack::~ResolverStack()
{
// delete all remaining items in stack
clearAndDestroy();
}
void
ResolverStack::push(ResolverStackElement *item)
{
prepend(item);
}
ResolverStackElement *
ResolverStack::top()
{
return first();
}
ResolverStackElement *
ResolverStack::pop()
{
return removeFirst();
}