PrevUpHomeNext

Class domain

boost::mixin::internal::domain

Synopsis

// 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;
};

Description

domain public construct/copy/destruct

  1. ~domain();

domain public static functions

  1. static domain & instance();

domain public member functions

  1. void add_new_mutation_rule(mutation_rule * rule);
  2. void apply_mutation_rules(object_type_mutation & mutation);
  3. size_t num_registered_mixins() const;
  4. template<typename Mixin> void register_mixin_type(mixin_type_info & info);
  5. template<typename Feature> void register_feature(Feature & feature);
  6. const object_type_info * 
    get_object_type_info(const mixin_type_info_vector & mixins);
  7. const mixin_type_info & mixin_info(mixin_id id) const;
  8. void set_allocator(global_allocator * allocator);
  9. global_allocator * allocator() const;
  10. mixin_id get_mixin_id_by_name(const char * mixin_name) const;
  11. void internal_register_mixin_type(mixin_type_info & info);
  12. void internal_register_feature(message_t & m);

PrevUpHomeNext