26 #ifndef Om_Language_Operator_
28 #define Om_Language_Operator_ \
29 Om::Language::Operator
36 #ifndef Om_Macro_Precompilation_
38 #include "boost/locale/boundary.hpp"
42 #define Om_Language_Operator_GetName_() \
81 char const theCodeUnitIterator[]
106 template <boost::locale::boundary::boundary_type theSegment>
113 template <
typename TheConsumer>
120 template <
typename TheProducer>
133 template <boost::locale::boundary::boundary_type theSegment>
146 template <
typename TheOperand>
149 template <
typename TheOperator>
152 template <
typename TheProducer>
155 template <
typename TheSeparator>
An Element taker; takes at the back.
A partial implementation of Atom.
The Operator implementation.
void Encode(TheProducer &)
Encodes the elements and replaces the contents of this Operator with the result.
void TakeQuotedProducer(TheProducer &)
void FrontGiveCodePoint(Consumer &)
Gives the first CodePoint as an Atom.
Operator(std::string const &)
Normalizes the string and copies directly into the Operator.
Operator(Symbol::OperatorSymbol const)
void TakeOperand(TheOperand &)
virtual void ParseQuotedElements(Reader &)
static char const * GetName()
void TakeSeparator(TheSeparator &)
Operator(Symbol::SeparatorSymbol const)
Operator(Om::Source::Source< CodePoint const > &)
Operator(char const theCodeUnitIterator[])
void FrontGiveSegment(Consumer &)
Gives the first segment of the given type to the Consumer.
Operator(Symbol::OperandSymbol const)
Operator & operator=(Operator)
void BackGiveSegment(Consumer &)
Gives the last segment of the given type to the Consumer.
void TakeOperator(TheOperator &)
void Decode(TheConsumer &) const
Decodes this Operator and gives each resulting Element to the argument.
virtual void ParseElements(Reader &)
void BackGiveCodePoint(Consumer &)
Gives the last CodePoint as an Atom.
void Normalize()
Applies Unicode compatibility normalization.
Produces each CodePoint until the end of the Source.
Any object that items can be pulled from.
SeparatorSymbol
A Separator symbol.
OperatorSymbol
An Operator symbol.
OperandSymbol
An Operand symbol.
void swap(Om::Language::Expression &, Om::Language::Expression &)