aether::ecs::constrained_ecs< ECS, AllowedComponents > Class Template Reference

#include <constrained_ecs.hh>

Public Types

template<typename... Cs>
using local_entities_type = typename ecs_type::template local_entities_type< Cs... >
 
template<typename... Cs>
using visible_entities_type = typename ecs_type::template visible_entities_type< Cs... >
 
template<typename... Cs>
using ghost_entities_type = typename ecs_type::template ghost_entities_type< Cs... >
 
template<typename... Cs>
using const_local_entities_type = typename ecs_type::template local_entities_type< Cs... >
 
template<typename... Cs>
using const_visible_entities_type = typename ecs_type::template visible_entities_type< Cs... >
 
template<typename... Cs>
using const_ghost_entities_type = typename ecs_type::template ghost_entities_type< Cs... >
 
template<typename Cs >
using local_entities_type_tuple = typename ecs_type::template local_entities_type_tuple< Cs >
 
template<typename Cs >
using visible_entities_type_tuple = typename ecs_type::template visible_entities_type_tuple< Cs >
 
template<typename Cs >
using ghost_entities_type_tuple = typename ecs_type::template ghost_entities_type_tuple< Cs >
 
template<typename Cs >
using const_local_entities_type_tuple = typename ecs_type::template local_entities_type_tuple< Cs >
 
template<typename Cs >
using const_visible_entities_type_tuple = typename ecs_type::template visible_entities_type_tuple< Cs >
 
template<typename Cs >
using const_ghost_entities_type_tuple = typename ecs_type::template ghost_entities_type_tuple< Cs >
 
template<typename... Cs>
using entity_reference = typename ecs_type::template entity_reference< Cs... >
 
template<typename Cs >
using entity_reference_tuple = typename ecs_type::template entity_reference_tuple< Cs >
 
template<typename Cs >
using const_entity_reference_tuple = typename ecs_type::template const_entity_reference_tuple< Cs >
 
using update_set = typename ecs_type::update_set
 

Public Member Functions

 constrained_ecs (const constrained_ecs &)=delete
 
 constrained_ecs (ecs_type &_parent)
 
template<typename... Cs>
local_entities_type< Cs... > local_entities ()
 
template<typename... Cs>
const_local_entities_type< Cs... > local_entities () const
 
template<typename... Cs>
visible_entities_type< Cs... > visible_entities ()
 
template<typename... Cs>
const_visible_entities_type< Cs... > const_visible_entities () const
 
template<typename... Cs>
ghost_entities_type< Cs... > ghost_entities ()
 
template<typename... Cs>
const_ghost_entities_type< Cs... > ghost_entities () const
 
template<typename Cs >
local_entities_type_tuple< Cs > local_entities_tuple ()
 
template<typename Cs >
const_local_entities_type_tuple< Cs > local_entities_tuple () const
 
template<typename Cs >
visible_entities_type_tuple< Cs > visible_entities_tuple ()
 
template<typename Cs >
const_visible_entities_type_tuple< Cs > const_visible_entities_tuple () const
 
template<typename Cs >
ghost_entities_type_tuple< Cs > ghost_entities_tuple ()
 
template<typename Cs >
const_ghost_entities_type_tuple< Cs > ghost_entities_tuple () const
 
update_set create_update_set ()
 
void send_message (const typename ecs_type::message_destination_type destination, const void *msg, size_t bytes)
 
ecs_type::message_reader_type & get_message_reader ()
 
ecs_type::message_writer_type & get_message_writer ()
 

Public Attributes

user_data_type & user_data
 

Member Typedef Documentation

template<typename ECS , typename AllowedComponents >
template<typename Cs >
using aether::ecs::constrained_ecs< ECS, AllowedComponents >::const_entity_reference_tuple = typename ecs_type::template const_entity_reference_tuple<Cs>
template<typename ECS , typename AllowedComponents >
template<typename... Cs>
using aether::ecs::constrained_ecs< ECS, AllowedComponents >::const_ghost_entities_type = typename ecs_type::template ghost_entities_type<Cs...>
template<typename ECS , typename AllowedComponents >
template<typename Cs >
using aether::ecs::constrained_ecs< ECS, AllowedComponents >::const_ghost_entities_type_tuple = typename ecs_type::template ghost_entities_type_tuple<Cs>
template<typename ECS , typename AllowedComponents >
template<typename... Cs>
using aether::ecs::constrained_ecs< ECS, AllowedComponents >::const_local_entities_type = typename ecs_type::template local_entities_type<Cs...>
template<typename ECS , typename AllowedComponents >
template<typename Cs >
using aether::ecs::constrained_ecs< ECS, AllowedComponents >::const_local_entities_type_tuple = typename ecs_type::template local_entities_type_tuple<Cs>
template<typename ECS , typename AllowedComponents >
template<typename... Cs>
using aether::ecs::constrained_ecs< ECS, AllowedComponents >::const_visible_entities_type = typename ecs_type::template visible_entities_type<Cs...>
template<typename ECS , typename AllowedComponents >
template<typename Cs >
using aether::ecs::constrained_ecs< ECS, AllowedComponents >::const_visible_entities_type_tuple = typename ecs_type::template visible_entities_type_tuple<Cs>
template<typename ECS , typename AllowedComponents >
template<typename... Cs>
using aether::ecs::constrained_ecs< ECS, AllowedComponents >::entity_reference = typename ecs_type::template entity_reference<Cs...>
template<typename ECS , typename AllowedComponents >
template<typename Cs >
using aether::ecs::constrained_ecs< ECS, AllowedComponents >::entity_reference_tuple = typename ecs_type::template entity_reference_tuple<Cs>
template<typename ECS , typename AllowedComponents >
template<typename... Cs>
using aether::ecs::constrained_ecs< ECS, AllowedComponents >::ghost_entities_type = typename ecs_type::template ghost_entities_type<Cs...>
template<typename ECS , typename AllowedComponents >
template<typename Cs >
using aether::ecs::constrained_ecs< ECS, AllowedComponents >::ghost_entities_type_tuple = typename ecs_type::template ghost_entities_type_tuple<Cs>
template<typename ECS , typename AllowedComponents >
template<typename... Cs>
using aether::ecs::constrained_ecs< ECS, AllowedComponents >::local_entities_type = typename ecs_type::template local_entities_type<Cs...>
template<typename ECS , typename AllowedComponents >
template<typename Cs >
using aether::ecs::constrained_ecs< ECS, AllowedComponents >::local_entities_type_tuple = typename ecs_type::template local_entities_type_tuple<Cs>
template<typename ECS , typename AllowedComponents >
using aether::ecs::constrained_ecs< ECS, AllowedComponents >::update_set = typename ecs_type::update_set
template<typename ECS , typename AllowedComponents >
template<typename... Cs>
using aether::ecs::constrained_ecs< ECS, AllowedComponents >::visible_entities_type = typename ecs_type::template visible_entities_type<Cs...>
template<typename ECS , typename AllowedComponents >
template<typename Cs >
using aether::ecs::constrained_ecs< ECS, AllowedComponents >::visible_entities_type_tuple = typename ecs_type::template visible_entities_type_tuple<Cs>

Constructor & Destructor Documentation

template<typename ECS , typename AllowedComponents >
aether::ecs::constrained_ecs< ECS, AllowedComponents >::constrained_ecs ( const constrained_ecs< ECS, AllowedComponents > &  )
delete
template<typename ECS , typename AllowedComponents >
aether::ecs::constrained_ecs< ECS, AllowedComponents >::constrained_ecs ( ecs_type &  _parent)
inline

Member Function Documentation

template<typename ECS , typename AllowedComponents >
template<typename... Cs>
const_visible_entities_type<Cs...> aether::ecs::constrained_ecs< ECS, AllowedComponents >::const_visible_entities ( ) const
inline
template<typename ECS , typename AllowedComponents >
template<typename Cs >
const_visible_entities_type_tuple<Cs> aether::ecs::constrained_ecs< ECS, AllowedComponents >::const_visible_entities_tuple ( ) const
inline
template<typename ECS , typename AllowedComponents >
update_set aether::ecs::constrained_ecs< ECS, AllowedComponents >::create_update_set ( )
inline
template<typename ECS , typename AllowedComponents >
ecs_type::message_reader_type& aether::ecs::constrained_ecs< ECS, AllowedComponents >::get_message_reader ( )
inline
template<typename ECS , typename AllowedComponents >
ecs_type::message_writer_type& aether::ecs::constrained_ecs< ECS, AllowedComponents >::get_message_writer ( )
inline
template<typename ECS , typename AllowedComponents >
template<typename... Cs>
ghost_entities_type<Cs...> aether::ecs::constrained_ecs< ECS, AllowedComponents >::ghost_entities ( )
inline
template<typename ECS , typename AllowedComponents >
template<typename... Cs>
const_ghost_entities_type<Cs...> aether::ecs::constrained_ecs< ECS, AllowedComponents >::ghost_entities ( ) const
inline
template<typename ECS , typename AllowedComponents >
template<typename Cs >
ghost_entities_type_tuple<Cs> aether::ecs::constrained_ecs< ECS, AllowedComponents >::ghost_entities_tuple ( )
inline
template<typename ECS , typename AllowedComponents >
template<typename Cs >
const_ghost_entities_type_tuple<Cs> aether::ecs::constrained_ecs< ECS, AllowedComponents >::ghost_entities_tuple ( ) const
inline
template<typename ECS , typename AllowedComponents >
template<typename... Cs>
local_entities_type<Cs...> aether::ecs::constrained_ecs< ECS, AllowedComponents >::local_entities ( )
inline
template<typename ECS , typename AllowedComponents >
template<typename... Cs>
const_local_entities_type<Cs...> aether::ecs::constrained_ecs< ECS, AllowedComponents >::local_entities ( ) const
inline
template<typename ECS , typename AllowedComponents >
template<typename Cs >
local_entities_type_tuple<Cs> aether::ecs::constrained_ecs< ECS, AllowedComponents >::local_entities_tuple ( )
inline
template<typename ECS , typename AllowedComponents >
template<typename Cs >
const_local_entities_type_tuple<Cs> aether::ecs::constrained_ecs< ECS, AllowedComponents >::local_entities_tuple ( ) const
inline
template<typename ECS , typename AllowedComponents >
void aether::ecs::constrained_ecs< ECS, AllowedComponents >::send_message ( const typename ecs_type::message_destination_type  destination,
const void *  msg,
size_t  bytes 
)
inline
template<typename ECS , typename AllowedComponents >
template<typename... Cs>
visible_entities_type<Cs...> aether::ecs::constrained_ecs< ECS, AllowedComponents >::visible_entities ( )
inline
template<typename ECS , typename AllowedComponents >
template<typename Cs >
visible_entities_type_tuple<Cs> aether::ecs::constrained_ecs< ECS, AllowedComponents >::visible_entities_tuple ( )
inline

Member Data Documentation

template<typename ECS , typename AllowedComponents >
user_data_type& aether::ecs::constrained_ecs< ECS, AllowedComponents >::user_data