Om
substitute_operation.hpp
Go to the documentation of this file.
1 
43 #ifndef Om_Language_Operation_SubstituteOperation_
44 
45  #define Om_Language_Operation_SubstituteOperation_ \
46  Om::Language::Operation::SubstituteOperation
47 
50  #include "om/language/system.hpp"
51 
52  #define Om_Language_Operation_SubstituteOperation_GetName_() \
53  "substitute"
54 
55 namespace Om {
56 
57  namespace Language {
58 
59  namespace Operation {
60 
61  // MARK: - Om::Language::Operation::SubstituteOperation
62 
68  public TranslateOperation<SubstituteOperation> {
69 
70  public: // MARK: public (static)
71 
72  static char const * GetName();
73 
74  public: // MARK: public (non-static)
75 
76  template <typename TheProducer>
77  void Translate(
78  Translator const &,
79  TheProducer &,
80  Expression &
81  ) const;
82 
83  };
84 
85  namespace {
86 
87  static System::Definition<SubstituteOperation> const theSubstituteDefinition;
88 
89  }
90 
91  }
92 
93  }
94 
95 }
96 
98 
99 #endif
The Expression Program implementation.
Definition: expression.hpp:56
The substitute operation implementation.
void Translate(Translator const &, TheProducer &, Expression &) const
An Operation that applies each Translator to a Program.
An inserter of an Operation into the static System instance.
Definition: system.hpp:129
An Operator lookup for use by an Evaluator.
Definition: translator.hpp:62
The Om library.
Definition: code_point.hpp:26
Om header file.