|
DynaMix
1.3.7
A new take on polymorphism in C++
|
#include <mixin_collection.hpp>
Public Member Functions | |
| mixin_collection (const internal::mixin_type_info_vector &mixins) | |
| mixin_collection (const mixin_collection &)=delete | |
| mixin_collection & | operator= (const mixin_collection &)=delete |
| template<typename Mixin > | |
| bool | has () const |
| Checks if a mixin type is present in the collection. | |
| bool | has (mixin_id id) const |
| template<typename Mixin > | |
| void | add () |
| Adds a mixin type is to the collection. | |
| void | add (mixin_id id) |
| template<typename Mixin > | |
| void | remove () |
| Removes a mixin type from the collection. | |
| void | remove (mixin_id id) |
| template<typename Feature > | |
| bool | implements (const Feature *f) const |
| Checks if a feature is implemented by any mixin in the collection. | |
| template<typename Feature > | |
| void | clear_all_implementing (const Feature *f) |
| Clears all mixins implementing a feature from the collection. | |
| void | rebuild_from_compact_mixins () |
| void | check_valid_mixin (const internal::mixin_type_info &mixin_info) |
| void | clear () |
| Removes all elements from the collection. | |
| bool | empty () const |
| Checks if a collection is empty. | |
Public Attributes | |
| internal::available_mixins_bitset | _mixins |
| internal::mixin_type_info_vector | _compact_mixins |
A mixin collection is a class that allows the user to represent a number of mixins