MAGE  v0.171.0
Matthias Advanced Game Engine
mage::ComponentManager< T >::Record Class Reference

#include <ecs.hpp>

Public Types

using ComponentIterator = typename ComponentManager< T >::iterator
 

Public Member Functions

 Record () noexcept
 
 Record (ComponentIterator component_it, ComponentManager *component_manager) noexcept
 
 Record (const Record &record) noexcept=default
 
 Record (Record &&record) noexcept=default
 
 ~Record ()=default
 
Recordoperator= (const Record &record)=delete
 
Recordoperator= (Record &&record) noexcept
 
T & GetComponent () noexcept
 
const T & GetComponent () const noexcept
 
const EntityGetEntity () const noexcept
 
void swap (Record &other) noexcept
 

Private Attributes

ComponentIterator m_component_it
 
ComponentManagerm_component_manager
 

Friends

void swap (Record lhs, Record rhs) noexcept
 

Member Typedef Documentation

◆ ComponentIterator

template<typename T >
using mage::ComponentManager< T >::Record::ComponentIterator = typename ComponentManager< T >::iterator

Constructor & Destructor Documentation

◆ Record() [1/4]

template<typename T >
mage::ComponentManager< T >::Record::Record ( )
noexcept

◆ Record() [2/4]

template<typename T >
mage::ComponentManager< T >::Record::Record ( ComponentIterator  component_it,
ComponentManager component_manager 
)
explicitnoexcept

◆ Record() [3/4]

template<typename T >
mage::ComponentManager< T >::Record::Record ( const Record record)
defaultnoexcept

◆ Record() [4/4]

template<typename T >
mage::ComponentManager< T >::Record::Record ( Record &&  record)
defaultnoexcept

◆ ~Record()

template<typename T >
mage::ComponentManager< T >::Record::~Record ( )
default

Member Function Documentation

◆ GetComponent() [1/2]

template<typename T >
T& mage::ComponentManager< T >::Record::GetComponent ( )
noexcept

◆ GetComponent() [2/2]

template<typename T >
const T& mage::ComponentManager< T >::Record::GetComponent ( ) const
noexcept

◆ GetEntity()

template<typename T >
const Entity& mage::ComponentManager< T >::Record::GetEntity ( ) const
noexcept

◆ operator=() [1/2]

template<typename T >
Record& mage::ComponentManager< T >::Record::operator= ( const Record record)
delete

◆ operator=() [2/2]

template<typename T >
Record& mage::ComponentManager< T >::Record::operator= ( Record &&  record)
noexcept

◆ swap()

template<typename T >
void mage::ComponentManager< T >::Record::swap ( Record other)
noexcept

Friends And Related Function Documentation

◆ swap

template<typename T >
void swap ( Record  lhs,
Record  rhs 
)
friend

Member Data Documentation

◆ m_component_it

template<typename T >
ComponentIterator mage::ComponentManager< T >::Record::m_component_it
private

◆ m_component_manager

template<typename T >
ComponentManager* mage::ComponentManager< T >::Record::m_component_manager
private