.. _program_listing_file__tmp_ws_src_ecl_core_ecl_utilities_include_ecl_utilities_blueprints.hpp: Program Listing for File blueprints.hpp ======================================= |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/ecl_core/ecl_utilities/include/ecl/utilities/blueprints.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /***************************************************************************** ** Ifdefs *****************************************************************************/ #ifndef ECL_UTILITIES_BLUEPRINT_FACTORY_HPP_ #define ECL_UTILITIES_BLUEPRINT_FACTORY_HPP_ /***************************************************************************** ** Includes *****************************************************************************/ #include /***************************************************************************** ** Namespaces *****************************************************************************/ namespace ecl { template class BluePrint { public: BluePrint() { ecl_compile_time_concept_check(BluePrintConcept); } template BaseType implementInstantiate() { return static_cast(this)->instantiate(); } template void implementApply(BaseType& object) const { static_cast(this)->apply(object); } virtual ~BluePrint() {} }; template class BluePrintFactory { private: BluePrintFactory() {}; virtual ~BluePrintFactory() {}; }; } // namespace ecl #endif /* ECL_UTILITIES_BLUEPRINT_FACTORY_HPP_ */