Пример #1
0
mixin_type_info_instance<Mixin>::mixin_type_info_instance()
{
    // register the mixin within its domain
    get_domain_for_tag<typename _boost_mixin_domain_for_type<Mixin>::tag>().
        // we use the function to get the type info, to guarantee that an instantiation of the template
        // from another module won't override if
        template register_mixin_type<Mixin>(_boost_get_mixin_type_info((Mixin*)nullptr));
}
Пример #2
0
mixin_type_info_instance<Mixin>::mixin_type_info_instance()
{
    // register the mixin int the domain
    domain::instance().
        // we use the function to get the type info, to guarantee that an instantiation of the template
        // from another module won't override if
        template register_mixin_type<Mixin>(_boost_get_mixin_type_info((Mixin*)nullptr));
}
Пример #3
0
 const Mixin* get() const
 {
     const internal::mixin_type_info& info = _boost_get_mixin_type_info((Mixin*)nullptr);
     // intentionally disregarding the actual info
     return reinterpret_cast<const Mixin*>(internal_get_mixin(info.id));
 }
Пример #4
0
 bool has() const
 {
     const internal::mixin_type_info& info = _boost_get_mixin_type_info((Mixin*)nullptr);
     // intentionally disregarding the actual info
     return internal_has_mixin(info.id);
 }
Пример #5
0
 void remove()
 {
     const internal::mixin_type_info& info = _boost_get_mixin_type_info((Mixin*)nullptr);
     remove(info.id);
 }
Пример #6
0
 void add()
 {
     const internal::mixin_type_info& info = _boost_get_mixin_type_info((Mixin*)nullptr);
     check_valid_mixin(info);
     add(info.id);
 }
Пример #7
0
 bool has() const
 {
     const internal::mixin_type_info& info = _boost_get_mixin_type_info((Mixin*)nullptr);
     return has(info.id);
 }