Om
fill_operation.hpp
Go to the documentation of this file.
1 
39 #ifndef Om_Language_Operation_FillOperation_
40 
41  #define Om_Language_Operation_FillOperation_ \
42  Om::Language::Operation::FillOperation
43 
46  #include "om/language/system.hpp"
47 
48  #define Om_Language_Operation_FillOperation_GetName_() \
49  "fill"
50 
51 namespace Om {
52 
53  namespace Language {
54 
55  namespace Operation {
56 
57  // MARK: - Om::Language::Operation::FillOperation
58 
64  public DefaultIncompleteOperation<FillOperation> {
65 
66  public: // MARK: public (static)
67 
68  static char const * GetName();
69 
70  template <typename TheFillOperation>
71  static void GiveElements(
72  TheFillOperation &,
73  Consumer &
74  );
75 
76  public: // MARK: public (non-static)
77 
79 
80  template <typename TheOperand>
82  Evaluation &,
83  TheOperand &
84  );
85 
86  template <typename TheProducer>
88  Evaluation &,
89  TheProducer &
90  );
91 
92  private: // MARK: private (static)
93 
95 
96  private: // MARK: private (non-static)
97 
103 
108  boost::optional<FormRange> thisFormRange;
109 
110  };
111 
112  namespace {
113 
114  static System::Definition<FillOperation> const theFillDefinition;
115 
116  }
117 
118  }
119 
120  }
121 
122 }
123 
125 
126 #endif
An Element taker; takes at the back.
Definition: consumer.hpp:42
The current evaluation.
Definition: evaluation.hpp:42
A mutable Expression Form range.
Definition: expression.hpp:185
The Expression Program implementation.
Definition: expression.hpp:56
A partial implementation of IncompleteOperation.
The fill operation implementation.
Expression thisExpression
The output argument that is being filled.
bool TakeQuotedProducer(Evaluation &, TheProducer &)
static void GiveElements(TheFillOperation &, Consumer &)
boost::optional< FormRange > thisFormRange
The current position in the output argument.
Expression::FormRange< Form > FormRange
bool TakeOperand(Evaluation &, TheOperand &)
An inserter of an Operation into the static System instance.
Definition: system.hpp:129
Om header file.
Om source file.
The Om library.
Definition: code_point.hpp:26
Om header file.