.. _program_listing_file__tmp_ws_src_ecl_core_ecl_concepts_include_ecl_concepts_streams.hpp: Program Listing for File streams.hpp ==================================== |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/ecl_core/ecl_concepts/include/ecl/concepts/streams.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /***************************************************************************** ** Ifdefs *****************************************************************************/ #ifndef ECL_CONCEPTS_STREAMS_HPP_ #define ECL_CONCEPTS_STREAMS_HPP_ /***************************************************************************** ** Includes *****************************************************************************/ #include "macros.hpp" /***************************************************************************** ** Namespaces *****************************************************************************/ namespace ecl { /***************************************************************************** ** Concept [Stream] *****************************************************************************/ template class StreamConcept { public: ecl_compile_time_concept_test(StreamConcept) { stream << 'a'; stream.flush(); } private: // Putting instantiations here actually saves instantiation (which can cause a // problem if there is no default constructor). Implementation stream; }; } // namespace ecl #endif /* ECL_CONCEPTS_STREAMS_HPP_ */