Om
default_incomplete_operation.hpp
Go to the documentation of this file.
1 
15 #ifndef Om_Language_Operation_DefaultIncompleteOperation_
16 
17  #define Om_Language_Operation_DefaultIncompleteOperation_ \
18  Om::Language::Operation::DefaultIncompleteOperation
19 
21 
22 namespace Om {
23 
24  namespace Language {
25 
27  class Operator;
29 
30  namespace Operation {
31 
32  // MARK: - Om::Language::Operation::DefaultIncompleteOperation
33 
38  template <typename ThisImplementation>
40  public IncompleteOperation {
41 
42  public: // MARK: public (static)
43 
44  static Operator const & GetOperator();
45 
46  static void Give(Evaluation &);
47 
48  public: // MARK: public (non-static)
49 
51 
52  virtual void GiveElements(Consumer &);
53 
54  virtual void GiveElements(Consumer &) const;
55 
56  virtual bool ParseQuotedElements(
57  Evaluation &,
58  Reader &
59  );
60 
67  virtual bool TakeElement(
68  Evaluation &,
69  Operand &
70  );
71 
76  virtual bool TakeElement(
77  Evaluation &,
78  Operand const &
79  );
80 
81  virtual bool TakeQuotedElements(
82  Evaluation &,
83  Producer &
84  );
85 
86  virtual bool TakeQuotedElements(
87  Evaluation &,
88  Producer const &
89  );
90 
91  };
92 
93  }
94 
95  }
96 
97 }
98 
100 
101 #endif
An Element taker; takes at the back.
Definition: consumer.hpp:42
The current evaluation.
Definition: evaluation.hpp:42
The Operand implementation.
Definition: operand.hpp:56
A partial implementation of IncompleteOperation.
virtual void GiveElements(Consumer &)
Gives the contents.
virtual bool TakeElement(Evaluation &, Operand const &)
This is an overloaded member function, provided for convenience. It differs from the above function o...
virtual bool ParseQuotedElements(Evaluation &, Reader &)
virtual bool TakeQuotedElements(Evaluation &, Producer const &)
This is an overloaded member function, provided for convenience. It differs from the above function o...
virtual void GiveElements(Consumer &) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
virtual bool TakeElement(Evaluation &, Operand &)
Takes the Operand and gives the result to the Evaluation.
virtual bool TakeQuotedElements(Evaluation &, Producer &)
Constructs and takes an Operand, which takes each Element from the argument.
An Operation that has yet to consume one or more Operands and must live in memory until complete.
The Operator implementation.
Definition: operator.hpp:60
An Element giver; gives from the front.
Definition: producer.hpp:40
Produces each CodePoint until the end of the Source.
Definition: reader.hpp:37
The Om library.
Definition: code_point.hpp:26