Om
default_consumer.hpp
Go to the documentation of this file.
1 
15 #ifndef Om_Language_DefaultConsumer_
16 
17  #define Om_Language_DefaultConsumer_ \
18  Om::Language::DefaultConsumer
19 
20  #include "om/language/consumer.hpp"
21 
22 namespace Om {
23 
24  namespace Language {
25 
26  // MARK: - Om::Language::DefaultConsumer
27 
32  template <
33  typename ThisImplementation,
34  typename ThisInterface = Consumer
35  >
37  public ThisInterface {
38 
39  public: // MARK: public (non-static)
40 
41  virtual ~DefaultConsumer() = 0;
42 
43  virtual void TakeElement(Operand &);
44 
45  virtual void TakeElement(Operand const &);
46 
47  virtual void TakeElement(Operator &);
48 
49  virtual void TakeElement(Operator const &);
50 
51  virtual void TakeElement(Separator &);
52 
53  virtual void TakeElement(Separator const &);
54 
55  virtual void TakeElements(Producer &);
56 
57  virtual void TakeElements(Producer const &);
58 
59  virtual void TakeQuotedElements(Producer &);
60 
61  virtual void TakeQuotedElements(Producer const &);
62 
63  private: // MARK: private (non-static)
64 
66 
67  };
68 
69  }
70 
71 }
72 
74 
75 #endif
A partial implementation of Consumer.
virtual void TakeElement(Operand &)
Takes a non-empty Element, which gets copied or swapped.
virtual void TakeElement(Operator &)
This is an overloaded member function, provided for convenience. It differs from the above function o...
virtual void TakeQuotedElements(Producer &)
Constructs and takes an Operand, which takes each Element from the argument Producer.
virtual void TakeElements(Producer &)
Takes each Element of the argument.
virtual void TakeElement(Separator &)
This is an overloaded member function, provided for convenience. It differs from the above function o...
virtual void TakeQuotedElements(Producer const &)
This is an overloaded member function, provided for convenience. It differs from the above function o...
virtual void TakeElement(Operand const &)
This is an overloaded member function, provided for convenience. It differs from the above function o...
virtual void TakeElements(Producer const &)
This is an overloaded member function, provided for convenience. It differs from the above function o...
virtual void TakeElement(Operator const &)
This is an overloaded member function, provided for convenience. It differs from the above function o...
virtual void TakeElement(Separator const &)
This is an overloaded member function, provided for convenience. It differs from the above function o...
DefaultConsumer & operator=(DefaultConsumer const &)
The Operand implementation.
Definition: operand.hpp:56
The Operator implementation.
Definition: operator.hpp:60
An Element giver; gives from the front.
Definition: producer.hpp:40
The Separator implementation.
Definition: separator.hpp:53
Om header file.
Om source file.
The Om library.
Definition: code_point.hpp:26