![]() |
MAGE
v0.171.0
Matthias Advanced Game Engine
|
#include <ecs.hpp>
Classes | |
class | Record |
class | RecordIterator |
Public Types | |
using | ComponentContainer = AlignedVector< T > |
using | EntityContainer = AlignedVector< Entity > |
using | MappingContainer = std::unordered_map< Entity, std::size_t > |
using | value_type = typename ComponentContainer::value_type |
using | size_type = typename ComponentContainer::size_type |
using | difference_type = typename ComponentContainer::difference_type |
using | reference = typename ComponentContainer::reference |
using | const_reference = typename ComponentContainer::const_reference |
using | pointer = typename ComponentContainer::pointer |
using | const_pointer = typename ComponentContainer::const_pointer |
using | iterator = typename ComponentContainer::iterator |
using | const_iterator = typename ComponentContainer::const_iterator |
using | reverse_iterator = typename ComponentContainer::reverse_iterator |
using | const_reverse_iterator = typename ComponentContainer::const_reverse_iterator |
Public Member Functions | |
ComponentManager ()=default | |
ComponentManager (const ComponentManager &manager)=default | |
ComponentManager (ComponentManager &&manager) noexcept=default | |
~ComponentManager ()=default | |
ComponentManager & | operator= (const ComponentManager &manager)=default |
ComponentManager & | operator= (ComponentManager &&manager) noexcept=default |
bool | Contains (Entity entity) const noexcept |
pointer | Get (Entity entity) noexcept |
const_pointer | Get (Entity entity) const noexcept |
reference | at (size_type index) |
const_reference | at (size_type index) const |
reference | operator[] (size_type index) noexcept |
const_reference | operator[] (size_type index) const noexcept |
reference | front () noexcept |
const_reference | front () const noexcept |
reference | back () noexcept |
const_reference | back () const noexcept |
pointer | data () noexcept |
const_pointer | data () const noexcept |
RecordIterator | RecordBegin () noexcept |
RecordIterator | RecordEnd () noexcept |
iterator | begin () noexcept |
const_iterator | begin () const noexcept |
const_iterator | cbegin () const noexcept |
iterator | end () noexcept |
const_iterator | end () const noexcept |
const_iterator | cend () const noexcept |
reverse_iterator | rbegin () noexcept |
const_reverse_iterator | rbegin () const noexcept |
const_reverse_iterator | crbegin () const noexcept |
reverse_iterator | rend () noexcept |
const_reverse_iterator | rend () const noexcept |
const_reverse_iterator | crend () const noexcept |
bool | empty () const noexcept |
size_type | size () const noexcept |
size_type | max_size () const noexcept |
void | reserve (size_type new_capacity) |
size_type | capacity () const noexcept |
void | shrink_to_fit () |
void | clear () noexcept |
void | push_back (Entity entity, const value_type &value) |
void | push_back (Entity entity, value_type &&value) |
template<typename... ConstructorArgsT> | |
reference | emplace_back (Entity entity, ConstructorArgsT &&... args) |
void | pop_back () |
void | erase (Entity entity) |
void | swap (ComponentManager &other) noexcept |
Private Member Functions | |
void | SwapComponents (std::size_t index1, std::size_t index2) noexcept |
Private Attributes | |
AlignedVector< value_type > | m_components |
AlignedVector< Entity > | m_entities |
std::unordered_map< Entity, std::size_t > | m_mapping |
using mage::ComponentManager< T >::ComponentContainer = AlignedVector< T > |
using mage::ComponentManager< T >::const_iterator = typename ComponentContainer::const_iterator |
using mage::ComponentManager< T >::const_pointer = typename ComponentContainer::const_pointer |
using mage::ComponentManager< T >::const_reference = typename ComponentContainer::const_reference |
using mage::ComponentManager< T >::const_reverse_iterator = typename ComponentContainer::const_reverse_iterator |
using mage::ComponentManager< T >::difference_type = typename ComponentContainer::difference_type |
using mage::ComponentManager< T >::EntityContainer = AlignedVector< Entity > |
using mage::ComponentManager< T >::iterator = typename ComponentContainer::iterator |
using mage::ComponentManager< T >::MappingContainer = std::unordered_map< Entity, std::size_t > |
using mage::ComponentManager< T >::pointer = typename ComponentContainer::pointer |
using mage::ComponentManager< T >::reference = typename ComponentContainer::reference |
using mage::ComponentManager< T >::reverse_iterator = typename ComponentContainer::reverse_iterator |
using mage::ComponentManager< T >::size_type = typename ComponentContainer::size_type |
using mage::ComponentManager< T >::value_type = typename ComponentContainer::value_type |
|
default |
|
default |
|
defaultnoexcept |
|
default |
reference mage::ComponentManager< T >::at | ( | size_type | index | ) |
const_reference mage::ComponentManager< T >::at | ( | size_type | index | ) | const |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
reference mage::ComponentManager< T >::emplace_back | ( | Entity | entity, |
ConstructorArgsT &&... | args | ||
) |
|
noexcept |
|
noexcept |
|
noexcept |
void mage::ComponentManager< T >::erase | ( | Entity | entity | ) |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
default |
|
defaultnoexcept |
|
noexcept |
|
noexcept |
void mage::ComponentManager< T >::pop_back | ( | ) |
void mage::ComponentManager< T >::push_back | ( | Entity | entity, |
const value_type & | value | ||
) |
void mage::ComponentManager< T >::push_back | ( | Entity | entity, |
value_type && | value | ||
) |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
void mage::ComponentManager< T >::reserve | ( | size_type | new_capacity | ) |
void mage::ComponentManager< T >::shrink_to_fit | ( | ) |
|
noexcept |
|
noexcept |
|
privatenoexcept |
|
private |
|
private |
|
private |