Om
separator.hpp
Go to the documentation of this file.
1 
27 #ifndef Om_Language_Separator_
28 
29  #define Om_Language_Separator_ \
30  Om::Language::Separator
31 
34 
35  #define Om_Language_Separator_GetName_() \
36  "separator"
37 
38 namespace Om {
39 
40  namespace Language {
41 
42  // MARK: - Om::Language::Separator
43 
52  class Separator:
53  public DefaultAtom<Separator> {
54 
55  public: // MARK: public (static)
56 
61  static Separator const & GetLineSeparator();
62 
63  static char const * GetName();
64 
65  public: // MARK: public (non-static)
66 
68 
69  explicit Separator(
71  );
72 
77  explicit Separator(Symbol::SeparatorSymbol const theSeparatorSymbol);
78 
80 
81  virtual void ParseElements(Reader &);
82 
83  virtual void ParseQuotedElements(Reader &);
84 
85  template <typename TheOperand>
86  void TakeOperand(TheOperand &);
87 
88  template <typename TheOperator>
89  void TakeOperator(TheOperator &);
90 
91  template <typename TheProducer>
92  void TakeQuotedProducer(TheProducer &);
93 
94  template <typename TheSeparator>
95  void TakeSeparator(TheSeparator &);
96 
98 
99  };
100 
101  }
102 
103 }
104 
105 namespace boost {
106 
107  // MARK: - boost::
108 
109  template <>
110  void swap(
113  );
114 
115 }
116 
117  #include "om/language/separator.cpp"
118 
119 #endif
A partial implementation of Atom.
Produces each CodePoint until the end of the Source.
Definition: reader.hpp:37
The Separator implementation.
Definition: separator.hpp:53
void TakeSeparatorSymbol(Symbol::SeparatorSymbol const)
void TakeQuotedProducer(TheProducer &)
void TakeOperator(TheOperator &)
void TakeSeparator(TheSeparator &)
Separator(Symbol::SeparatorSymbol const theSeparatorSymbol)
static Separator const & GetLineSeparator()
virtual void ParseElements(Reader &)
static char const * GetName()
Separator(Om::Source::Source< CodePoint const > &)
Separator & operator=(Separator)
void TakeOperand(TheOperand &)
virtual void ParseQuotedElements(Reader &)
Any object that items can be pulled from.
Definition: source.hpp:31
Om header file.
SeparatorSymbol
A Separator symbol.
The Om library.
Definition: code_point.hpp:26
void swap(Om::Language::Expression &, Om::Language::Expression &)
Om source file.
Om header file.