15 #ifndef Om_Language_Operation_EncodeOperation_
23 #ifndef Om_Macro_Precompilation_
25 #include "boost/test/unit_test.hpp"
35 BOOST_AUTO_TEST_SUITE(EncodeOperationTest)
37 BOOST_AUTO_TEST_CASE(DefinitionTest) {
44 BOOST_AUTO_TEST_CASE(SimpleTest) {
46 "{```{```}``` `{`{`}`}` }",
51 BOOST_AUTO_TEST_SUITE_END()
68 Om::Language::Operation::EncodeOperation
72 inline char const * Type_::GetName() {
76 template <
typename TheEncodeOperation>
77 inline void Type_::GiveElements(
79 Consumer & theConsumer
81 theConsumer.TakeElement(
88 template <
typename TheOperand>
89 inline bool Type_::TakeOperand(
90 Evaluation & theEvaluation,
91 TheOperand & theOperand
96 return this->TakeQuotedProducer(
98 *theOperand.GetProgram()
102 template <
typename TheProducer>
103 inline bool Type_::TakeQuotedProducer(
104 Evaluation & theEvaluation,
105 TheProducer & theProducer
107 Operator theOperator;
108 theOperator.Encode(theProducer);
109 theEvaluation.TakeQuotedProducer(theOperator);
#define Om_Language_Operation_EncodeOperation_GetName_()