15 #ifndef Om_Language_DefaultConsumer_
27 typename ThisImplementation, \
28 typename ThisInterface \
32 Om::Language::DefaultConsumer< \
40 inline Type_::~DefaultConsumer() {}
43 inline void Type_::TakeElement(Operand & theOperand) {
45 dynamic_cast<ThisImplementation *
>(
this)
47 static_cast<ThisImplementation &
>(*this).TakeOperand(theOperand);
51 inline void Type_::TakeElement(Operand
const & theOperand) {
53 dynamic_cast<ThisImplementation *
>(
this)
55 static_cast<ThisImplementation &
>(*this).TakeOperand(theOperand);
59 inline void Type_::TakeElement(Operator & theOperator) {
61 dynamic_cast<ThisImplementation *
>(
this)
63 static_cast<ThisImplementation &
>(*this).TakeOperator(theOperator);
67 inline void Type_::TakeElement(Operator
const & theOperator) {
69 dynamic_cast<ThisImplementation *
>(
this)
71 static_cast<ThisImplementation &
>(*this).TakeOperator(theOperator);
75 inline void Type_::TakeElement(Separator & theSeparator) {
77 dynamic_cast<ThisImplementation *
>(
this)
79 static_cast<ThisImplementation &
>(*this).TakeSeparator(theSeparator);
83 inline void Type_::TakeElement(Separator
const & theSeparator) {
85 dynamic_cast<ThisImplementation *
>(
this)
87 static_cast<ThisImplementation &
>(*this).TakeSeparator(theSeparator);
91 inline void Type_::TakeElements(Producer & theProducer) {
92 theProducer.GiveElements(*
this);
96 inline void Type_::TakeElements(Producer
const & theProducer) {
97 theProducer.GiveElements(*
this);
101 inline void Type_::TakeQuotedElements(Producer & theProducer) {
103 dynamic_cast<ThisImplementation *
>(
this)
105 static_cast<ThisImplementation &
>(*this).TakeQuotedProducer(theProducer);
109 inline void Type_::TakeQuotedElements(Producer
const & theProducer) {
111 dynamic_cast<ThisImplementation *
>(
this)
113 static_cast<ThisImplementation &
>(*this).TakeQuotedProducer(theProducer);