15 #ifndef Om_Language_Element_
17 #define Om_Language_Element_ \
64 virtual std::auto_ptr<
A Program that contains a single elemental item (or none, when IsEmpty() returns true).
Element & operator=(Element const &)
virtual bool Merge(Operator &)
virtual bool Merge(Operator const &)
virtual bool Equals(Element const &) const =0
virtual std::auto_ptr< Om::Source::Source< Element > > GetElementRange()=0
virtual Program & operator*()=0
virtual bool Merge(Separator const &)
virtual bool Merge(Separator &)
The Operator implementation.
The Program implementation.
virtual std::auto_ptr< Om::Source::Source< Element const > > GetElementRange() const =0
virtual bool Equals(Program const &) const =0
The Separator implementation.
Any object that items can be pulled from.
bool operator!=(DefaultAtom< TheImplementation > const &, DefaultAtom< TheImplementation > const &)
Atom * new_clone(Atom const &)
bool operator==(DefaultAtom< TheImplementation > const &, DefaultAtom< TheImplementation > const &)