15 #ifndef Om_Source_EmptySource_
24 template <typename ThisItem>
27 Om::Source::EmptySource<ThisItem>
32 inline Type_ & Type_::Get() {
33 static Type_ theEmptySource;
34 return theEmptySource;
40 inline Type_::EmptySource() {}
43 inline Type_ & Type_::operator =(EmptySource) {
48 inline bool Type_::operator !()
const {
53 inline ThisItem & Type_::operator *()
const {
55 throw std::logic_error(
"The source is empty.");
59 inline bool Type_::Equals(EmptySource
const &)
const {
64 inline void Type_::Pop() {
66 throw std::logic_error(
"The source is empty.");
70 inline void Type_::Swap(EmptySource &) {}
78 template <typename TheItem>
81 Om::Source::EmptySource<TheItem>
106 theFirst.Swap(theSecond);
bool operator==(CodePointSource< TheCodeUnitIterator > const &, CodePointSource< TheCodeUnitIterator > const &)
bool operator!=(CodePointSource< TheCodeUnitIterator > const &, CodePointSource< TheCodeUnitIterator > const &)
void swap(Om::Language::Expression &, Om::Language::Expression &)