manipulator.hpp
Go to the documentation of this file.
1 
8 /*****************************************************************************
9 ** Ifdefs
10 *****************************************************************************/
11 
12 #ifndef ECL_STREAMS_MANIPULATOR_HPP_
13 #define ECL_STREAMS_MANIPULATOR_HPP_
14 
15 /*****************************************************************************
16 ** Includes
17 *****************************************************************************/
18 
19 #include <ecl/config/macros.hpp>
20 #include <ecl/concepts/devices.hpp>
21 #include "../macros.hpp"
22 
23 /*****************************************************************************
24 ** Namespaces
25 *****************************************************************************/
26 
27 namespace ecl {
28 
29 /*****************************************************************************
30 ** Forwarding
31 *****************************************************************************/
32 
33 namespace interfaces {
34  template <typename Device, bool OutputDevice> class ECL_PUBLIC OutputTextStream;
35 }
36 
37 /*****************************************************************************
38 ** Interface [Manipulator]
39 *****************************************************************************/
91 template <typename Derived>
93 public:
108  template <typename ODevice>
109  void insert (interfaces::OutputTextStream<ODevice,true>& ostream) {
111  static_cast<Derived*>(this)->action(ostream);
112  }
113 
114  virtual ~Manipulator() {}
115 };
116 
117 } // namespace ecl
118 
119 #endif /* ECL_STREAMS_MANIPULATOR_HPP_ */
Parent template for c++ style stream manipulators.
Definition: manipulator.hpp:92
Validates functionality for the output char device concept.
#define ecl_streams_PUBLIC
Parent template for output text streams.
action
#define ECL_PUBLIC
#define ecl_compile_time_concept_check(Model)
Compile time concept checking assertion.


xbot_node
Author(s): Roc, wangpeng@droid.ac.cn
autogenerated on Sat Oct 10 2020 03:28:13