Om
Classes | Public Member Functions | Private Types | Static Private Member Functions | Private Attributes | List of all members
Om::Language::Form Class Reference

An Operator (which may be empty), followed by zero or more Operand instances. More...

#include "form.hpp"

+ Collaboration diagram for Om::Language::Form:

Classes

class  ElementRange
 A Form Element range. More...
 
class  OperandRange
 A Form Operand range. More...
 
class  OperandRange< Operand >
 A mutable Form Operand range. More...
 
class  OperandRange< Operand const >
 An immutable Form Operand range. More...
 

Public Member Functions

 Form ()
 
bool BackGiveTerm (Consumer &)
 
bool BackPopTerm ()
 
template<typename TheOperand >
void BackTakeOperand (TheOperand &)
 
template<typename TheProducer >
void BackTakeQuotedProducer (TheProducer &)
 
bool FrontGiveTerm (Consumer &)
 
bool FrontPopTerm ()
 
template<typename TheOperand >
void FrontTakeOperand (TheOperand &)
 
template<typename TheProducer >
void FrontTakeQuotedProducer (TheProducer &)
 
Operator const & GetOperator () const
 
void GiveElements (Consumer &)
 
void GiveElements (Consumer &) const
 
bool IsEmpty () const
 
void Swap (Form &)
 
template<typename TheOperator >
void TakeOperator (TheOperator &)
 Replaces the Form Operator. More...
 

Private Types

typedef std::deque< OperandOperandDeque
 

Static Private Member Functions

template<typename TheOperandIterator , typename TheForm >
static void GiveElements (TheForm &, Consumer &)
 

Private Attributes

Operator thisOperator
 
OperandDeque thisOperandDeque
 

Detailed Description

Definition at line 33 of file form.hpp.

Member Typedef Documentation

◆ OperandDeque

typedef std::deque<Operand> Om::Language::Form::OperandDeque
private

Definition at line 105 of file form.hpp.

Constructor & Destructor Documentation

◆ Form()

Om::Language::Form::Form ( )

Member Function Documentation

◆ BackGiveTerm()

bool Om::Language::Form::BackGiveTerm ( Consumer )
Returns
True if the call results in an empty Form.

◆ BackPopTerm()

bool Om::Language::Form::BackPopTerm ( )
Returns
True if the call results in an empty Form.

◆ BackTakeOperand()

template<typename TheOperand >
void Om::Language::Form::BackTakeOperand ( TheOperand &  )

◆ BackTakeQuotedProducer()

template<typename TheProducer >
void Om::Language::Form::BackTakeQuotedProducer ( TheProducer &  )

◆ FrontGiveTerm()

bool Om::Language::Form::FrontGiveTerm ( Consumer )
Returns
True if the call results in an empty Form.

◆ FrontPopTerm()

bool Om::Language::Form::FrontPopTerm ( )
Returns
True if the call results in an empty Form.

◆ FrontTakeOperand()

template<typename TheOperand >
void Om::Language::Form::FrontTakeOperand ( TheOperand &  )

◆ FrontTakeQuotedProducer()

template<typename TheProducer >
void Om::Language::Form::FrontTakeQuotedProducer ( TheProducer &  )

◆ GetOperator()

Operator const& Om::Language::Form::GetOperator ( ) const

◆ GiveElements() [1/3]

void Om::Language::Form::GiveElements ( Consumer )

◆ GiveElements() [2/3]

void Om::Language::Form::GiveElements ( Consumer ) const

◆ IsEmpty()

bool Om::Language::Form::IsEmpty ( ) const

◆ Swap()

void Om::Language::Form::Swap ( Form )

◆ TakeOperator()

template<typename TheOperator >
void Om::Language::Form::TakeOperator ( TheOperator &  )

◆ GiveElements() [3/3]

template<typename TheOperandIterator , typename TheForm >
static void Om::Language::Form::GiveElements ( TheForm &  ,
Consumer  
)
staticprivate

Member Data Documentation

◆ thisOperator

Operator Om::Language::Form::thisOperator
private

Definition at line 118 of file form.hpp.

◆ thisOperandDeque

OperandDeque Om::Language::Form::thisOperandDeque
private

Definition at line 120 of file form.hpp.


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