15 #ifndef Om_Language_Operation_NormalizeOperation_
21 #ifndef Om_Macro_Precompilation_
23 #include "boost/test/unit_test.hpp"
33 BOOST_AUTO_TEST_SUITE(NormalizeOperationTest)
35 BOOST_AUTO_TEST_CASE(DefinitionTest) {
38 System::Get().Evaluate(
"drop find {normalize} system")
42 BOOST_AUTO_TEST_CASE(SimpleTest) {
59 BOOST_AUTO_TEST_SUITE_END()
74 Om::Language::Operation::NormalizeOperation
78 inline char const * Type_::GetName() {
82 template <
typename TheNormalizeOperation>
83 inline void Type_::GiveElements(
84 TheNormalizeOperation &,
85 Consumer & theConsumer
87 theConsumer.TakeElement(
94 template <
typename TheOperand>
95 inline bool Type_::TakeOperand(
96 Evaluation & theEvaluation,
97 TheOperand & theOperand
100 !theOperand.IsEmpty()
102 return this->TakeQuotedProducer(
104 *theOperand.GetProgram()
108 template <
typename TheProducer>
109 inline bool Type_::TakeQuotedProducer(
110 Evaluation & theEvaluation,
111 TheProducer & theProducer
113 Operator theOperator;
114 theOperator.TakeElements(theProducer);
115 theOperator.Normalize();
116 theEvaluation.TakeQuotedProducer(theOperator);
#define Om_Language_Operation_NormalizeOperation_GetName_()