12 #ifndef ECL_UTILITIES_BLUEPRINT_FACTORY_HPP_ 13 #define ECL_UTILITIES_BLUEPRINT_FACTORY_HPP_ 19 #include <ecl/concepts/blueprints.hpp> 46 template <
typename Derived>
71 template <
typename BaseType>
73 return static_cast<Derived*
>(
this)->instantiate();
90 template <
typename BaseType>
92 static_cast<const Derived*
>(
this)->apply(
object);
104 template <
typename Base>
105 class BluePrintFactory {
110 BluePrintFactory() {};
111 virtual ~BluePrintFactory() {};
void implementApply(BaseType &object) const
BaseType implementInstantiate()
#define ecl_compile_time_concept_check(Model)
Compile time concept checking assertion.