entity
Entity/Component System for C++
entity::component::creation_queue< ComponentPool > Class Template Reference

Description

template<typename ComponentPool>
class entity::component::creation_queue< ComponentPool >

Definition at line 29 of file creation_queue.hpp.

Public Types

typedef ComponentPool::type type
 

Public Member Functions

void clear ()
 
 creation_queue (ComponentPool &p)
 
void flush ()
 
template<typename... Args>
void push (weak_entity e, Args &&...args)
 
 ~creation_queue ()
 

Member Function Documentation

template<typename ComponentPool >
void entity::component::creation_queue< ComponentPool >::clear ( )

Definition at line 64 of file creation_queue.hpp.

Referenced by entity::component::creation_queue< ComponentPool >::flush().

65  {
66  created_.clear();
67  }
template<typename ComponentPool >
void entity::component::creation_queue< ComponentPool >::flush ( )

Definition at line 57 of file creation_queue.hpp.

References entity::component::creation_queue< ComponentPool >::clear().

Referenced by entity::component::creation_queue< ComponentPool >::~creation_queue().

58  {
59  std::sort(created_.begin(), created_.end());
60  pool_.create_range(created_.begin(), created_.end());
61  clear();
62  }
template<typename ComponentPool >
template<typename... Args>
void entity::component::creation_queue< ComponentPool >::push ( weak_entity  e,
Args &&...  args 
)

Definition at line 46 of file creation_queue.hpp.

47  {
48  created_.push_back(std::make_pair(e, type(std::forward<Args>(args)...)));
49  }

Member Typedef Documentation

template<typename ComponentPool >
typedef ComponentPool::type entity::component::creation_queue< ComponentPool >::type

Definition at line 33 of file creation_queue.hpp.

Constructor & Destructor Documentation

template<typename ComponentPool >
entity::component::creation_queue< ComponentPool >::creation_queue ( ComponentPool &  p)

Definition at line 35 of file creation_queue.hpp.

36  : pool_(p)
37  {}
template<typename ComponentPool >
entity::component::creation_queue< ComponentPool >::~creation_queue ( )