.. _program_listing_file__tmp_ws_src_ecl_core_ecl_concepts_include_ecl_concepts_blueprints.hpp: Program Listing for File blueprints.hpp ======================================= |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/ecl_core/ecl_concepts/include/ecl/concepts/blueprints.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /***************************************************************************** ** Ifdefs *****************************************************************************/ #ifndef ECL_CONCEPTS_BLUEPRINTS_HPP_ #define ECL_CONCEPTS_BLUEPRINTS_HPP_ /***************************************************************************** ** Includes *****************************************************************************/ #include "macros.hpp" /***************************************************************************** ** Namespaces *****************************************************************************/ namespace ecl { /***************************************************************************** ** Concept [BluePrint] *****************************************************************************/ template class BluePrintConcept { public: ecl_compile_time_concept_test(BluePrintConcept) { target = blue_print.instantiate(); blue_print.apply(target); } private: typename Implementation::base_type target; Implementation blue_print; }; } // namespace ecl #endif /* ECL_CONCEPTS_BLUEPRINTS_HPP_ */