Om
Public Member Functions | Private Member Functions | List of all members
Om::Language::DefaultConsumer< ThisImplementation, ThisInterface > Class Template Referenceabstract

A partial implementation of Consumer. More...

#include "default_consumer.hpp"

+ Inheritance diagram for Om::Language::DefaultConsumer< ThisImplementation, ThisInterface >:
+ Collaboration diagram for Om::Language::DefaultConsumer< ThisImplementation, ThisInterface >:

Public Member Functions

virtual ~DefaultConsumer ()=0
 
virtual void TakeElement (Operand &)
 Takes a non-empty Element, which gets copied or swapped. More...
 
virtual void TakeElement (Operand const &)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
virtual void TakeElement (Operator &)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
virtual void TakeElement (Operator const &)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
virtual void TakeElement (Separator &)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
virtual void TakeElement (Separator const &)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
virtual void TakeElements (Producer &)
 Takes each Element of the argument. More...
 
virtual void TakeElements (Producer const &)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
virtual void TakeQuotedElements (Producer &)
 Constructs and takes an Operand, which takes each Element from the argument Producer. More...
 
virtual void TakeQuotedElements (Producer const &)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
- Public Member Functions inherited from Om::Language::Consumer
virtual ~Consumer ()=0
 
template<typename TheOperator , typename TheSeparator >
void Parse (Reader &)
 
virtual void ParseElements (Reader &)=0
 
virtual void ParseQuotedElements (Reader &)=0
 
void TakeElement (Null &)
 Takes a Null Element, which is disregarded. More...
 
void TakeElement (Null const &)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 

Private Member Functions

DefaultConsumeroperator= (DefaultConsumer const &)
 

Detailed Description

template<typename ThisImplementation, typename ThisInterface = Consumer>
class Om::Language::DefaultConsumer< ThisImplementation, ThisInterface >

Definition at line 36 of file default_consumer.hpp.

Constructor & Destructor Documentation

◆ ~DefaultConsumer()

template<typename ThisImplementation , typename ThisInterface = Consumer>
virtual Om::Language::DefaultConsumer< ThisImplementation, ThisInterface >::~DefaultConsumer ( )
pure virtual

Member Function Documentation

◆ TakeElement() [1/6]

template<typename ThisImplementation , typename ThisInterface = Consumer>
virtual void Om::Language::DefaultConsumer< ThisImplementation, ThisInterface >::TakeElement ( Operand )
virtual
Precondition
The Element argument is non-empty.

It is up to the implementation to decide how to process an Element. Each Element is processed eagerly, meaning that two Operators received consecutively may be processed differently than the receipt of one Operator comprised of a concatenation of both.

Implements Om::Language::Consumer.

◆ TakeElement() [2/6]

template<typename ThisImplementation , typename ThisInterface = Consumer>
virtual void Om::Language::DefaultConsumer< ThisImplementation, ThisInterface >::TakeElement ( Operand const &  )
virtual

◆ TakeElement() [3/6]

template<typename ThisImplementation , typename ThisInterface = Consumer>
virtual void Om::Language::DefaultConsumer< ThisImplementation, ThisInterface >::TakeElement ( Operator )
virtual

◆ TakeElement() [4/6]

template<typename ThisImplementation , typename ThisInterface = Consumer>
virtual void Om::Language::DefaultConsumer< ThisImplementation, ThisInterface >::TakeElement ( Operator const &  )
virtual

◆ TakeElement() [5/6]

template<typename ThisImplementation , typename ThisInterface = Consumer>
virtual void Om::Language::DefaultConsumer< ThisImplementation, ThisInterface >::TakeElement ( Separator )
virtual

◆ TakeElement() [6/6]

template<typename ThisImplementation , typename ThisInterface = Consumer>
virtual void Om::Language::DefaultConsumer< ThisImplementation, ThisInterface >::TakeElement ( Separator const &  )
virtual

◆ TakeElements() [1/2]

template<typename ThisImplementation , typename ThisInterface = Consumer>
virtual void Om::Language::DefaultConsumer< ThisImplementation, ThisInterface >::TakeElements ( Producer )
virtual

◆ TakeElements() [2/2]

template<typename ThisImplementation , typename ThisInterface = Consumer>
virtual void Om::Language::DefaultConsumer< ThisImplementation, ThisInterface >::TakeElements ( Producer const &  )
virtual

◆ TakeQuotedElements() [1/2]

template<typename ThisImplementation , typename ThisInterface = Consumer>
virtual void Om::Language::DefaultConsumer< ThisImplementation, ThisInterface >::TakeQuotedElements ( Producer )
virtual

◆ TakeQuotedElements() [2/2]

template<typename ThisImplementation , typename ThisInterface = Consumer>
virtual void Om::Language::DefaultConsumer< ThisImplementation, ThisInterface >::TakeQuotedElements ( Producer const &  )
virtual

◆ operator=()

template<typename ThisImplementation , typename ThisInterface = Consumer>
DefaultConsumer& Om::Language::DefaultConsumer< ThisImplementation, ThisInterface >::operator= ( DefaultConsumer< ThisImplementation, ThisInterface > const &  )
private

The documentation for this class was generated from the following file: