Om
empty_source.hpp
Go to the documentation of this file.
1 
15 #ifndef Om_Source_EmptySource_
16 
17  #define Om_Source_EmptySource_ \
18  Om::Source::EmptySource
19 
21 
22 namespace Om {
23 
24  namespace Source {
25 
26  // MARK: - Om::Source::EmptySource
27 
32  template <typename ThisItem>
33  class EmptySource:
34  public DefaultSource<
35  ThisItem,
36  EmptySource<ThisItem>
37  > {
38 
39  public: // MARK: public (static)
40 
41  static EmptySource & Get();
42 
43  public: // MARK: public (non-static)
44 
46 
48 
49  virtual bool operator !() const;
50 
51  virtual ThisItem & operator *() const;
52 
53  using DefaultSource<
54  ThisItem,
56  >::Equals;
57 
58  bool Equals(EmptySource const &) const;
59 
60  virtual void Pop();
61 
62  void Swap(EmptySource &);
63 
64  };
65 
66  // MARK: - Om::Source::
67 
68  template <typename TheItem>
70  EmptySource<TheItem> const &,
71  EmptySource<TheItem> const &
72  );
73 
74  template <typename TheItem>
76  EmptySource<TheItem> const &,
77  EmptySource<TheItem> const &
78  );
79 
80  }
81 
82 }
83 
84 namespace boost {
85 
86  // MARK: - boost::
87 
88  template <typename TheItem>
89  void swap(
92  );
93 
94 }
95 
97 
98 #endif
A partial implementation of Source.
An empty Source.
virtual void Pop()
Pops the current item.
void Swap(EmptySource &)
static EmptySource & Get()
EmptySource & operator=(EmptySource)
bool Equals(EmptySource const &) const
virtual bool operator!() const
virtual ThisItem & operator*() const
Om header file.
Om source file.
bool operator==(CodePointSource< TheCodeUnitIterator > const &, CodePointSource< TheCodeUnitIterator > const &)
bool operator!=(CodePointSource< TheCodeUnitIterator > const &, CodePointSource< TheCodeUnitIterator > const &)
The Om library.
Definition: code_point.hpp:26
void swap(Om::Language::Expression &, Om::Language::Expression &)