include
ecl
streams
manipulators
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>
92
class
ecl_streams_PUBLIC
Manipulator {
93
public
:
108
template
<
typename
ODevice>
109
void
insert (interfaces::OutputTextStream<ODevice,true>& ostream) {
110
ecl_compile_time_concept_check
(OutputCharDeviceConcept<ODevice>);
111
static_cast<
Derived*
>
(
this
)->action(ostream);
112
}
113
114
virtual
~Manipulator() {}
115
};
116
117
}
// namespace ecl
118
119
#endif
/* ECL_STREAMS_MANIPULATOR_HPP_ */
ecl_compile_time_concept_check
#define ecl_compile_time_concept_check(Model)
ecl_streams_PUBLIC
#define ecl_streams_PUBLIC
Definition:
macros.hpp:37
devices.hpp
macros.hpp
ecl::interfaces::OutputTextStream
class ECL_PUBLIC OutputTextStream
Definition:
manipulator.hpp:48
ecl
ECL_PUBLIC
#define ECL_PUBLIC
ecl_streams
Author(s): Daniel Stonier
autogenerated on Wed Mar 2 2022 00:16:48