boost::mixin::internal::domain
// In header: <boost/mixin/domain.hpp> class domain : public boost::mixin::internal::noncopyable { public: // types typedef boost::unordered_map< available_mixins_bitset, object_type_info *, hash_avaliable_mixins_bitset > object_type_info_map; // construct/copy/destruct ~domain(); // public static functions static domain & instance(); // public member functions void add_new_mutation_rule(mutation_rule *); void apply_mutation_rules(object_type_mutation &); size_t num_registered_mixins() const; template<typename Mixin> void register_mixin_type(mixin_type_info &); template<typename Feature> void register_feature(Feature &); const object_type_info * get_object_type_info(const mixin_type_info_vector &); const mixin_type_info & mixin_info(mixin_id) const; void set_allocator(global_allocator *); global_allocator * allocator() const; mixin_id get_mixin_id_by_name(const char *) const; void internal_register_mixin_type(mixin_type_info &); void internal_register_feature(message_t &); // public data members boost_mixin_internal __pad0__; mixin_type_info * _mixin_type_infos; size_t _num_registered_mixins; const message_t * _messages; size_t _num_registered_messages; object_type_info_map _object_type_infos; std::vector< mutation_rule * > _mutation_rules; global_allocator * _allocator; };
domain
public member functionsvoid add_new_mutation_rule(mutation_rule * rule);
void apply_mutation_rules(object_type_mutation & mutation);
size_t num_registered_mixins() const;
template<typename Mixin> void register_mixin_type(mixin_type_info & info);
template<typename Feature> void register_feature(Feature & feature);
const object_type_info * get_object_type_info(const mixin_type_info_vector & mixins);
const mixin_type_info & mixin_info(mixin_id id) const;
void set_allocator(global_allocator * allocator);
global_allocator * allocator() const;
mixin_id get_mixin_id_by_name(const char * mixin_name) const;
void internal_register_mixin_type(mixin_type_info & info);
void internal_register_feature(message_t & m);