EnTT 3.14.0
|
Utility class for creating a static task graph. More...
#include <organizer.hpp>
Classes | |
struct | vertex |
Vertex type of a task graph defined as an adjacency list. More... | |
Public Types | |
using | registry_type = Registry |
using | entity_type = typename registry_type::entity_type |
Underlying entity identifier. | |
using | size_type = std::size_t |
Unsigned integer type. | |
using | function_type = callback_type |
Raw task function type. | |
Public Member Functions | |
template<auto Candidate, typename... Req> | |
void | emplace (const char *name=nullptr) |
Adds a free function to the task list. | |
template<auto Candidate, typename... Req, typename Type > | |
void | emplace (Type &value_or_instance, const char *name=nullptr) |
Adds a free function with payload or a member function with an instance to the task list. | |
template<typename... Req> | |
void | emplace (function_type *func, const void *payload=nullptr, const char *name=nullptr) |
Adds an user defined function with optional payload to the task list. | |
std::vector< vertex > | graph () |
Generates a task graph for the current content. | |
void | clear () |
Erases all elements from a container. | |
Utility class for creating a static task graph.
This class offers minimal support (but sufficient in many cases) for creating an execution graph from functions and their requirements on resources.
Note that the resulting tasks aren't executed in any case. This isn't the goal of the tool. Instead, they are returned to the user in the form of a graph that allows for safe execution.
Registry | Basic registry type. |
Definition at line 100 of file organizer.hpp.
using entt::basic_organizer< Registry >::entity_type = typename registry_type::entity_type |
Underlying entity identifier.
Definition at line 162 of file organizer.hpp.
using entt::basic_organizer< Registry >::function_type = callback_type |
Raw task function type.
Definition at line 166 of file organizer.hpp.
Basic registry type.
Definition at line 160 of file organizer.hpp.
using entt::basic_organizer< Registry >::size_type = std::size_t |
Unsigned integer type.
Definition at line 164 of file organizer.hpp.
|
inline |
Erases all elements from a container.
Definition at line 414 of file organizer.hpp.
|
inline |
Adds a free function to the task list.
Candidate | Function to add to the task list. |
Req | Additional requirements and/or override resource access mode. |
name | Optional name to associate with the task. |
Definition at line 305 of file organizer.hpp.
|
inline |
Adds an user defined function with optional payload to the task list.
Req | Additional requirements and/or override resource access mode. |
func | Function to add to the task list. |
payload | User defined arbitrary data. |
name | Optional name to associate with the task. |
Definition at line 369 of file organizer.hpp.
|
inline |
Adds a free function with payload or a member function with an instance to the task list.
Candidate | Function or member to add to the task list. |
Req | Additional requirements and/or override resource access mode. |
Type | Type of class or type of payload. |
value_or_instance | A valid object that fits the purpose. |
name | Optional name to associate with the task. |
Definition at line 337 of file organizer.hpp.
|
inline |
Generates a task graph for the current content.
Definition at line 390 of file organizer.hpp.