15 #ifndef Om_Language_Null_
31 inline Type_ & Type_::Get() {
36 inline char const * Type_::GetName() {
42 inline Type_::Null() {}
47 if (theCodePointSource) {
48 theCodePointSource.
Pop();
52 inline Type_ & Type_::operator =(Null
const &) {
64 inline void Type_::Clear() {}
66 inline bool Type_::Equals(Element
const & theElement)
const {
70 inline bool Type_::Equals(Program
const & theProgram)
const {
71 return theProgram.IsEmpty();
76 > Type_::GetElementRange() {
86 > Type_::GetElementRange()
const {
94 inline void Type_::GiveElements(Consumer &) {}
96 inline void Type_::GiveElements(Consumer &)
const {}
98 inline bool Type_::IsEmpty()
const {
102 inline bool Type_::Merge(Operator &) {
106 inline bool Type_::Merge(Operator
const &) {
110 inline bool Type_::Merge(Separator &) {
114 inline bool Type_::Merge(Separator
const &) {
118 inline void Type_::ParseElements(Reader & theReader) {
126 inline void Type_::ParseQuotedElements(Reader & theReader) {
134 inline void Type_::Swap(Null &) {}
136 inline void Type_::TakeElements(Producer &) {}
138 inline void Type_::TakeElements(Producer
const &) {}
140 template <
typename TheOperand>
141 inline void Type_::TakeOperand(TheOperand &) {}
143 template <
typename TheOperator>
144 inline void Type_::TakeOperator(TheOperator &) {}
146 template <
typename TheProducer>
147 inline void Type_::TakeQuotedProducer(TheProducer &) {}
149 template <
typename TheSeparator>
150 inline void Type_::TakeSeparator(TheSeparator &) {}
161 theFirst.
Swap(theSecond);
The Null Element implementation.
virtual void Swap(Null &)
The Program implementation.
virtual bool IsEmpty() const =0
Any object that items can be pulled from.
virtual void Pop()=0
Pops the current item.
void swap(Om::Language::Expression &, Om::Language::Expression &)
#define Om_Language_Null_GetName_()