15 #ifndef Om_Source_Source_
17 #define Om_Source_Source_ \
30 template <
typename ThisItem>
73 virtual void Pop() = 0;
87 template <
typename TheItem>
93 template <
typename TheItem>
Any object that items can be pulled from.
void(Source::* Boolean)() const
The implementation of the Safe Boolean idiom.
Source & operator=(Source const &)
virtual bool Equals(Source const &) const =0
virtual ThisItem & operator*() const =0
virtual void Pop()=0
Pops the current item.
void UncomparableBoolean() const
virtual bool operator!() const =0
ThisItem * operator->() const
bool operator!=(Source::Source< TheItem > const &, Source::Source< TheItem > const &)
bool operator==(Source::Source< TheItem > const &, Source::Source< TheItem > const &)