Mirror reflection library 0.5.13
|
00001 00010 #ifndef MIRROR_CONCEPT_CHECK_META_NAMED_OBJECT_1011291729_HPP 00011 #define MIRROR_CONCEPT_CHECK_META_NAMED_OBJECT_1011291729_HPP 00012 00013 #include <mirror/concept_check/utils.hpp> 00014 #include <mirror/concept_check/meta_scoped_object.hpp> 00015 00016 MIRROR_NAMESPACE_BEGIN 00017 // MetaNamedObject 00018 MIRROR_CONCEPT_TESTER_BEGIN(meta_named_object_tag) 00019 (X*, 00020 const std::string& bn = X::base_name() 00021 ); 00022 MIRROR_CONCEPT_TESTER_CONSTRAINTS(( 00023 conforms_to<Tested, meta_object_tag> 00024 )) 00025 MIRROR_CONCEPT_TESTER_END 00026 00027 // MetaNamedScopedObject 00028 MIRROR_CONCEPT_TESTER_BEGIN(meta_named_scoped_object_tag) 00029 (X*, 00030 const std::string& fn = X::full_name(), 00031 const std::string& ln = X::local_name() 00032 ); 00033 MIRROR_CONCEPT_TESTER_CONSTRAINTS(( 00034 mp::and_< 00035 conforms_to<Tested, meta_named_object_tag>, 00036 conforms_to<Tested, meta_scoped_object_tag> 00037 > 00038 )) 00039 MIRROR_CONCEPT_TESTER_END 00040 00041 MIRROR_NAMESPACE_END 00042 00043 #endif //include guard 00044