Om
Public Member Functions | Static Public Member Functions | List of all members
Om::Language::Separator Class Reference

The Separator implementation. More...

#include "separator.hpp"

+ Inheritance diagram for Om::Language::Separator:
+ Collaboration diagram for Om::Language::Separator:

Public Member Functions

 Separator ()
 
 Separator (Om::Source::Source< CodePoint const > &)
 
 Separator (Symbol::SeparatorSymbol const theSeparatorSymbol)
 
Separatoroperator= (Separator)
 
virtual void ParseElements (Reader &)
 
virtual void ParseQuotedElements (Reader &)
 
template<typename TheOperand >
void TakeOperand (TheOperand &)
 
template<typename TheOperator >
void TakeOperator (TheOperator &)
 
template<typename TheProducer >
void TakeQuotedProducer (TheProducer &)
 
template<typename TheSeparator >
void TakeSeparator (TheSeparator &)
 
void TakeSeparatorSymbol (Symbol::SeparatorSymbol const)
 
- Public Member Functions inherited from Om::Language::DefaultAtom< Separator >
virtual ~DefaultAtom ()=0
 
bool operator< (DefaultAtom const &)
 Compares with a Atom; required for use as index in containers. More...
 
virtual void Clear ()
 
bool Equals (DefaultAtom const &) const
 
bool Equals (Separator const &) const
 
virtual std::auto_ptr< Om::Source::Source< Element > > GetElementRange ()
 
virtual std::auto_ptr< Om::Source::Source< Element const > > GetElementRange () const
 
std::string const & GetString () const
 
virtual bool IsEmpty () const
 
virtual bool Merge (Separator &)
 
virtual bool Merge (Separator const &)
 
void Swap (Separator &)
 
- Public Member Functions inherited from Om::Language::DefaultElement< ThisImplementation, ThisInterface >
virtual ~DefaultElement ()=0
 
virtual bool Equals (Element const &) const
 
bool Equals (ThisImplementation const &) const
 
virtual void GiveElements (Consumer &)
 
virtual void GiveElements (Consumer &) const
 
- Public Member Functions inherited from Om::Language::DefaultProgram< ThisImplementation, Om::Language::Element >
virtual ~DefaultProgram ()=0
 
virtual bool Equals (Program const &) const
 
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...
 
- Public Member Functions inherited from Om::Language::DefaultConsumer< ThisImplementation, ThisInterface >
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 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 &)
 
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...
 
- Public Member Functions inherited from Om::Taker< ThisImplementation >
virtual ~Taker ()=0
 
void Take (ThisImplementation &)
 Swaps. More...
 
void Take (ThisImplementation const &)
 Assigns. More...
 

Static Public Member Functions

static Separator const & GetLineSeparator ()
 
static char const * GetName ()
 

Additional Inherited Members

- Protected Member Functions inherited from Om::Language::DefaultAtom< Separator >
 DefaultAtom ()
 
 DefaultAtom (char const theCodeUnitIterator[])
 
 DefaultAtom (char const theCodeUnit)
 
- Protected Attributes inherited from Om::Language::DefaultAtom< Separator >
std::string thisString
 The NFD-normalized string that defines the Atom. More...
 

Detailed Description

An Atom defined by a string containing only Symbol::SeparatorSymbol characters.

As a Consumer, the Separator filters out all top-level Element instances except Separator.

Definition at line 52 of file separator.hpp.

Constructor & Destructor Documentation

◆ Separator() [1/3]

Om::Language::Separator::Separator ( )

◆ Separator() [2/3]

Om::Language::Separator::Separator ( Om::Source::Source< CodePoint const > &  )
explicit

◆ Separator() [3/3]

Om::Language::Separator::Separator ( Symbol::SeparatorSymbol const  theSeparatorSymbol)
explicit
Parameters
theSeparatorSymbolThe Symbol::SeparatorSymbol to copy directly into the Separator.

Member Function Documentation

◆ GetLineSeparator()

static Separator const& Om::Language::Separator::GetLineSeparator ( )
static
Returns
A Separator comprised of a single Symbol::theLineSeparatorSymbol.

◆ GetName()

static char const* Om::Language::Separator::GetName ( )
static

◆ operator=()

Separator& Om::Language::Separator::operator= ( Separator  )

◆ ParseElements()

virtual void Om::Language::Separator::ParseElements ( Reader )
virtual

◆ ParseQuotedElements()

virtual void Om::Language::Separator::ParseQuotedElements ( Reader )
virtual

◆ TakeOperand()

template<typename TheOperand >
void Om::Language::Separator::TakeOperand ( TheOperand &  )

◆ TakeOperator()

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

◆ TakeQuotedProducer()

template<typename TheProducer >
void Om::Language::Separator::TakeQuotedProducer ( TheProducer &  )

◆ TakeSeparator()

template<typename TheSeparator >
void Om::Language::Separator::TakeSeparator ( TheSeparator &  )

◆ TakeSeparatorSymbol()

void Om::Language::Separator::TakeSeparatorSymbol ( Symbol::SeparatorSymbol const  )

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