PolyBoRi
CPrintOperation.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 //*****************************************************************************
30 //*****************************************************************************
31 // include standard stream capabilities
32 #include <iostream>
33 
34 // include basic definitions
35 #include "pbori_defs.h"
36 
37 #ifndef CPrint_Operation_h_
38 #define CPrint_Operation_h_
39 
41 
45 template <class ValueType, class LiteralType, class StreamType = std::ostream>
47 public:
48 
50  typedef StreamType stream_type;
51 
53  typedef ValueType value_type;
54 
56  typedef LiteralType literal_type;
57 
59  CPrintOperation(stream_type& os_): os(os_){}
60 
62  value_type& operator()(value_type& val, ...) const {
63  os << literal_type()();
64  return val;
65  }
67  const value_type& operator()(const value_type& val, ...) const {
68  os << literal_type()();
69  return val;
70  }
71 protected:
72  std::ostream& os;
73 };
74 
75 
76 
78 
79 #endif