15 #ifndef Om_Source_Source_
21 #ifndef Om_Macro_Precompilation_
31 template <typename ThisItem>
34 Om::Source::Source<ThisItem>
39 inline Type_::~Source() {}
42 inline ThisItem & Type_::operator *()
const {
44 throw std::logic_error(
"Pure virtual function called.");
48 inline ThisItem * Type_::operator ->()
const {
53 inline bool Type_::operator !()
const {
55 throw std::logic_error(
"Pure virtual function called.");
59 inline Type_::operator Boolean()
const {
63 &Source::UncomparableBoolean
68 inline bool Type_::Equals(Source
const &)
const {
70 throw std::logic_error(
"Pure virtual function called.");
74 inline void Type_::Pop() {
76 throw std::logic_error(
"Pure virtual function called.");
82 inline void Type_::UncomparableBoolean()
const {}
90 template <typename TheItem>
93 Om::Source::Source<TheItem>
97 Type_
const & theFirst,
98 Type_
const & theSecond
100 return theFirst.Equals(theSecond);
105 Type_
const & theFirst,
106 Type_
const & theSecond
108 return !theFirst.Equals(theSecond);
bool operator!=(Source::Source< TheItem > const &, Source::Source< TheItem > const &)
bool operator==(Source::Source< TheItem > const &, Source::Source< TheItem > const &)