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

The Null Element implementation. More...

#include "null.hpp"

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

Public Member Functions

 Null ()
 
 Null (Om::Source::Source< CodePoint const > &)
 Swallows the next CodePoint in the Source. More...
 
Nulloperator= (Null const &)
 
virtual Programoperator* ()
 
virtual Program const & operator* () const
 
virtual void Clear ()
 
virtual bool Equals (Element const &) const
 
virtual bool Equals (Program const &) const
 
virtual std::auto_ptr< Om::Source::Source< Element > > GetElementRange ()
 
virtual std::auto_ptr< Om::Source::Source< Element const > > GetElementRange () const
 
virtual void GiveElements (Consumer &)
 
virtual void GiveElements (Consumer &) const
 
virtual bool IsEmpty () const
 
virtual bool Merge (Operator &)
 
virtual bool Merge (Operator const &)
 
virtual bool Merge (Separator &)
 
virtual bool Merge (Separator const &)
 
virtual void ParseElements (Reader &)
 
virtual void ParseQuotedElements (Reader &)
 
virtual void Swap (Null &)
 
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...
 
template<typename TheOperand >
void TakeOperand (TheOperand &)
 
template<typename TheOperator >
void TakeOperator (TheOperator &)
 
template<typename TheProducer >
void TakeQuotedProducer (TheProducer &)
 
template<typename TheSeparator >
void TakeSeparator (TheSeparator &)
 
- Public Member Functions inherited from Om::Language::DefaultElement< Null >
virtual ~DefaultElement ()=0
 
bool Equals (Null const &) const
 
- Public Member Functions inherited from Om::Language::DefaultProgram< ThisImplementation, ThisInterface >
virtual ~DefaultProgram ()=0
 
- Public Member Functions inherited from Om::Language::DefaultConsumer< ThisImplementation, DefaultGiveable< ThisImplementation, Om::Language::Program > >
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::DefaultGiveable< ThisImplementation, ThisInterface >
virtual ~DefaultGiveable ()=0
 
- Public Member Functions inherited from Om::DefaultMoveable< ThisImplementation, DefaultCopyable< ThisImplementation, Giveable > >
virtual std::auto_ptr< MoveableMove ()
 
virtual ~DefaultMoveable ()=0
 
- Public Member Functions inherited from Om::DefaultCopyable< ThisImplementation, ThisInterface >
virtual ~DefaultCopyable ()=0
 
virtual std::auto_ptr< CopyableCopy () const
 
- Public Member Functions inherited from Om::Copyable
virtual ~Copyable ()=0
 
- 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 NullGet ()
 
static char const * GetName ()
 

Detailed Description

Definition at line 53 of file null.hpp.

Constructor & Destructor Documentation

◆ Null() [1/2]

Om::Language::Null::Null ( )

◆ Null() [2/2]

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

Member Function Documentation

◆ Get()

static Null& Om::Language::Null::Get ( )
static
Returns
The static Null. This can be a mutable reference because Null is immutable regardless.

◆ GetName()

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

◆ operator=()

Null& Om::Language::Null::operator= ( Null const &  )

◆ operator*() [1/2]

virtual Program& Om::Language::Null::operator* ( )
virtual

◆ operator*() [2/2]

virtual Program const& Om::Language::Null::operator* ( ) const
virtual

◆ Clear()

virtual void Om::Language::Null::Clear ( )
virtual

◆ Equals() [1/2]

virtual bool Om::Language::Null::Equals ( Element const &  ) const
virtual

◆ Equals() [2/2]

virtual bool Om::Language::Null::Equals ( Program const &  ) const
virtual

◆ GetElementRange() [1/2]

virtual std::auto_ptr< Om::Source::Source<Element> > Om::Language::Null::GetElementRange ( )
virtual

◆ GetElementRange() [2/2]

virtual std::auto_ptr< Om::Source::Source<Element const> > Om::Language::Null::GetElementRange ( ) const
virtual

◆ GiveElements() [1/2]

virtual void Om::Language::Null::GiveElements ( Consumer )
virtual

◆ GiveElements() [2/2]

virtual void Om::Language::Null::GiveElements ( Consumer ) const
virtual

◆ IsEmpty()

virtual bool Om::Language::Null::IsEmpty ( ) const
virtual

◆ Merge() [1/4]

virtual bool Om::Language::Null::Merge ( Operator )
virtual

◆ Merge() [2/4]

virtual bool Om::Language::Null::Merge ( Operator const &  )
virtual

◆ Merge() [3/4]

virtual bool Om::Language::Null::Merge ( Separator )
virtual

◆ Merge() [4/4]

virtual bool Om::Language::Null::Merge ( Separator const &  )
virtual

◆ ParseElements()

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

◆ ParseQuotedElements()

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

◆ Swap()

virtual void Om::Language::Null::Swap ( Null )
virtual

◆ TakeElements() [1/2]

virtual void Om::Language::Null::TakeElements ( Producer )
virtual

◆ TakeElements() [2/2]

virtual void Om::Language::Null::TakeElements ( Producer const &  )
virtual

◆ TakeOperand()

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

◆ TakeOperator()

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

◆ TakeQuotedProducer()

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

◆ TakeSeparator()

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

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