.. _program_listing_file__tmp_ws_src_ecl_core_ecl_streams_include_ecl_streams_manipulators_manipulator.hpp: Program Listing for File manipulator.hpp ======================================== |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/ecl_core/ecl_streams/include/ecl/streams/manipulators/manipulator.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /***************************************************************************** ** Ifdefs *****************************************************************************/ #ifndef ECL_STREAMS_MANIPULATOR_HPP_ #define ECL_STREAMS_MANIPULATOR_HPP_ /***************************************************************************** ** Includes *****************************************************************************/ #include #include #include "../macros.hpp" /***************************************************************************** ** Namespaces *****************************************************************************/ namespace ecl { /***************************************************************************** ** Forwarding *****************************************************************************/ namespace interfaces { template class ECL_PUBLIC OutputTextStream; } /***************************************************************************** ** Interface [Manipulator] *****************************************************************************/ template class ecl_streams_PUBLIC Manipulator { public: template void insert (interfaces::OutputTextStream& ostream) { ecl_compile_time_concept_check(OutputCharDeviceConcept); static_cast(this)->action(ostream); } virtual ~Manipulator() {} }; } // namespace ecl #endif /* ECL_STREAMS_MANIPULATOR_HPP_ */