Om
normalize_operation.hpp
Go to the documentation of this file.
1 
22 #ifndef Om_Language_Operation_NormalizeOperation_
23 
24  #define Om_Language_Operation_NormalizeOperation_ \
25  Om::Language::Operation::NormalizeOperation
26 
28  #include "om/language/system.hpp"
29 
30  #define Om_Language_Operation_NormalizeOperation_GetName_() \
31  "normalize"
32 
33 namespace Om {
34 
35  namespace Language {
36 
37  namespace Operation {
38 
39  // MARK: - Om::Language::Operation::NormalizeOperation
40 
46  public DefaultIncompleteOperation<NormalizeOperation> {
47 
48  public: // MARK: public (static)
49 
50  static char const * GetName();
51 
52  template <typename TheNormalizeOperation>
53  static void GiveElements(
54  TheNormalizeOperation &,
55  Consumer &
56  );
57 
58  public: // MARK: public (non-static)
59 
60  template <typename TheOperand>
62  Evaluation &,
63  TheOperand &
64  );
65 
66  template <typename TheProducer>
68  Evaluation &,
69  TheProducer &
70  );
71 
72  };
73 
74  namespace {
75 
76  static System::Definition<NormalizeOperation> const theNormalizeDefinition;
77 
78  }
79 
80  }
81 
82  }
83 
84 }
85 
87 
88 #endif
An Element taker; takes at the back.
Definition: consumer.hpp:42
The current evaluation.
Definition: evaluation.hpp:42
A partial implementation of IncompleteOperation.
The normalize operation implementation.
bool TakeQuotedProducer(Evaluation &, TheProducer &)
bool TakeOperand(Evaluation &, TheOperand &)
static void GiveElements(TheNormalizeOperation &, Consumer &)
An inserter of an Operation into the static System instance.
Definition: system.hpp:129
The Om library.
Definition: code_point.hpp:26
Om header file.