Program Listing for File blueprints.hpp
↰ Return to documentation for file (include/ecl/concepts/blueprints.hpp
)
/*****************************************************************************
** Ifdefs
*****************************************************************************/
#ifndef ECL_CONCEPTS_BLUEPRINTS_HPP_
#define ECL_CONCEPTS_BLUEPRINTS_HPP_
/*****************************************************************************
** Includes
*****************************************************************************/
#include "macros.hpp"
/*****************************************************************************
** Namespaces
*****************************************************************************/
namespace ecl {
/*****************************************************************************
** Concept [BluePrint]
*****************************************************************************/
template <typename Implementation>
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_ */