Om
decode_operation.hpp
Go to the documentation of this file.
1 
28 #ifndef Om_Language_Operation_DecodeOperation_
29 
30  #define Om_Language_Operation_DecodeOperation_ \
31  Om::Language::Operation::DecodeOperation
32 
34  #include "om/language/system.hpp"
35 
36  #define Om_Language_Operation_DecodeOperation_GetName_() \
37  "decode"
38 
39 namespace Om {
40 
41  namespace Language {
42 
43  namespace Operation {
44 
45  // MARK: - Om::Language::Operation::DecodeOperation
46 
52  public DefaultIncompleteOperation<DecodeOperation> {
53 
54  public: // MARK: public (static)
55 
56  static char const * GetName();
57 
58  template <typename TheDecodeOperation>
59  static void GiveElements(
60  TheDecodeOperation &,
61  Consumer &
62  );
63 
64  public: // MARK: public (non-static)
65 
66  template <typename TheOperand>
68  Evaluation &,
69  TheOperand &
70  );
71 
72  template <typename TheProducer>
74  Evaluation &,
75  TheProducer &
76  );
77 
78  };
79 
80  namespace {
81 
82  static System::Definition<DecodeOperation> const theDecodeDefinition;
83 
84  }
85 
86  }
87 
88  }
89 
90 }
91 
93 
94 #endif
An Element taker; takes at the back.
Definition: consumer.hpp:42
The current evaluation.
Definition: evaluation.hpp:42
The decode operation implementation.
bool TakeQuotedProducer(Evaluation &, TheProducer &)
static void GiveElements(TheDecodeOperation &, Consumer &)
bool TakeOperand(Evaluation &, TheOperand &)
A partial implementation of IncompleteOperation.
An inserter of an Operation into the static System instance.
Definition: system.hpp:129
Om source file.
The Om library.
Definition: code_point.hpp:26
Om header file.