Om
writer.hpp
Go to the documentation of this file.
1 
15 #ifndef Om_Language_Writer_
16 
17  #define Om_Language_Writer_ \
18  Om::Language::Writer
19 
20  #include "om/code_point.hpp"
22 
23 namespace Om {
24 
26  namespace Sink {
27 
28  template <typename ThisItem>
29  class Sink;
30 
31  }
33 
34  namespace Language {
35 
36  // MARK: - Om::Language::Writer
37 
42  class Writer:
43  public DefaultConsumer<Writer> {
44 
45  public: // MARK: public (non-static)
46 
47  explicit Writer(
49  );
50 
51  virtual void ParseElements(Reader &);
52 
53  virtual void ParseQuotedElements(Reader &);
54 
55  template <typename TheOperand>
56  void TakeOperand(TheOperand &);
57 
58  template <typename TheOperator>
59  void TakeOperator(TheOperator &);
60 
61  template <typename TheProducer>
62  void TakeQuotedProducer(TheProducer &);
63 
64  template <typename TheSeparator>
65  void TakeSeparator(TheSeparator &);
66 
67  private: // MARK: private (non-static)
68 
69  Writer(Writer const &);
70 
71  Writer const & operator =(Writer const &);
72 
78 
79  };
80 
81  }
82 
83 }
84 
85  #include "om/language/writer.cpp"
86 
87 #endif
A partial implementation of Consumer.
Produces each CodePoint until the end of the Source.
Definition: reader.hpp:37
A Consumer that pushes each Element to a CodePoint Sink upon receipt.
Definition: writer.hpp:43
void TakeOperand(TheOperand &)
Om::Sink::Sink< CodePoint const > & thisCodePointSink
The output CodePoint Sink.
Definition: writer.hpp:77
Writer(Writer const &)
Writer const & operator=(Writer const &)
virtual void ParseElements(Reader &)
void TakeQuotedProducer(TheProducer &)
virtual void ParseQuotedElements(Reader &)
void TakeOperator(TheOperator &)
void TakeSeparator(TheSeparator &)
Writer(Om::Sink::Sink< CodePoint const > &)
Any object that items can be pushed to.
Definition: sink.hpp:31
Om header file.
Om header file.
The Om library.
Definition: code_point.hpp:26
Om source file.