Om
default_sink.hpp
Go to the documentation of this file.
1 
15 #ifndef Om_Sink_DefaultSink_
16 
17  #define Om_Sink_DefaultSink_ \
18  Om::Sink::DefaultSink
19 
20  #include "om/sink/sink.hpp"
21 
22  #ifndef Om_Macro_Precompilation_
23 
24  #include <iterator>
25 
26  #endif
27 
28 namespace Om {
29 
30  namespace Sink {
31 
32  // MARK: - Om::Sink::DefaultSink
33 
38  template <
39  typename ThisItem,
40  typename ThisImplementation
41  >
42  class DefaultSink:
43  public Sink<ThisItem>,
44  public std::iterator<
45  std::output_iterator_tag,
46  ThisItem
47  > {
48 
49  public: // MARK: public (non-static)
50 
51  virtual ~DefaultSink() = 0;
52 
53  ThisImplementation & operator ++();
54 
55  ThisImplementation operator ++(int);
56 
57  private: // MARK: private (non-static)
58 
60 
61  };
62 
63  }
64 
65 }
66 
67  #include "om/sink/default_sink.cpp"
68 
69 #endif
A partial Sink implementation.
virtual ~DefaultSink()=0
ThisImplementation & operator++()
DefaultSink & operator=(DefaultSink const &)
Any object that items can be pushed to.
Definition: sink.hpp:31
Om source file.
The Om library.
Definition: code_point.hpp:26
Om header file.