Om
code_point_sink.hpp
Go to the documentation of this file.
1 
15 #ifndef Om_Sink_CodePointSink_
16 
17  #define Om_Sink_CodePointSink_ \
18  Om::Sink::CodePointSink
19 
20  #include "om/code_point.hpp"
21  #include "om/sink/default_sink.hpp"
22 
23 namespace Om {
24 
25  namespace Sink {
26 
27  // MARK: - Om::Sink::CodePointSink
28 
33  template <typename ThisCodeUnitIterator>
35  public DefaultSink<
36  CodePoint const,
37  CodePointSink<ThisCodeUnitIterator>
38  > {
39 
40  public: // MARK: public (non-static)
41 
42  explicit CodePointSink(ThisCodeUnitIterator);
43 
45 
46  virtual void Push(CodePoint const &);
47 
49 
50  private: // MARK: private (non-static)
51 
56  ThisCodeUnitIterator thisCodeUnitIterator;
57 
58  };
59 
60  }
61 
62 }
63 
64 namespace boost {
65 
66  // MARK: - boost::
67 
68  template <typename TheCodeUnitIterator>
69  void swap(
72  );
73 
74 }
75 
77 
78 #endif
A CodePoint Sink that pushes each code unit to the iterator.
void Swap(CodePointSink &)
virtual void Push(CodePoint const &)
Pushes an item.
ThisCodeUnitIterator thisCodeUnitIterator
The output code unit iterator.
CodePointSink(ThisCodeUnitIterator)
CodePointSink & operator=(CodePointSink)
A partial Sink implementation.
Any object that items can be pushed to.
Definition: sink.hpp:31
Om header file.
Om source file.
Om header file.
The Om library.
Definition: code_point.hpp:26
boost::locale::utf::code_point CodePoint
A UTF-8 code point.
Definition: code_point.hpp:32
void swap(Om::Language::Expression &, Om::Language::Expression &)