|
struct | assign_node_if_impl |
|
struct | node_manip |
| Node manipulation. More...
|
|
class | thread_pool |
| A simple thread pool used to execute tasks in parallel. More...
|
|
struct | assign_futures_impl |
|
struct | assign_futures_impl<-1, ParentResults...> |
|
struct | call_impl |
|
struct | call_impl_vector |
|
struct | call_impl< transwarp::root_type, true, total, n...> |
|
struct | call_impl_vector< transwarp::root_type > |
|
struct | call_impl< transwarp::accept_type, true, total, n...> |
|
struct | call_impl_vector< transwarp::accept_type > |
|
struct | call_impl< transwarp::accept_any_type, true, total, n...> |
|
struct | call_impl_vector< transwarp::accept_any_type > |
|
struct | call_impl< transwarp::consume_type, true, total, n...> |
|
struct | call_impl_vector< transwarp::consume_type > |
|
struct | call_impl< transwarp::consume_any_type, true, total, n...> |
|
struct | call_impl_vector< transwarp::consume_any_type > |
|
struct | call_impl< transwarp::wait_type, true, total, n...> |
|
struct | call_impl_vector< transwarp::wait_type > |
|
struct | call_impl< transwarp::wait_any_type, true, total, n...> |
|
struct | call_impl_vector< transwarp::wait_any_type > |
|
struct | indices |
|
struct | construct_range |
|
struct | construct_range< end, idx, i...> |
|
struct | construct_range< end, end, i...> |
|
struct | index_range |
|
struct | parent_visitor |
| Sets parents and level of the node. More...
|
|
struct | final_visitor |
| Applies final bookkeeping to the task. More...
|
|
struct | graph_visitor |
| Generates a graph. More...
|
|
struct | schedule_visitor |
| Schedules using the given executor. More...
|
|
struct | reset_visitor |
| Resets the given task. More...
|
|
struct | cancel_visitor |
| Cancels or resumes the given task. More...
|
|
struct | set_executor_visitor |
| Assigns an executor to the given task. More...
|
|
struct | remove_executor_visitor |
| Removes the executor from the given task. More...
|
|
struct | set_priority_visitor |
| Assigns a priority to the given task. More...
|
|
struct | reset_priority_visitor |
| Resets the priority of the given task. More...
|
|
struct | set_custom_data_visitor |
| Assigns custom data to the given task. More...
|
|
struct | remove_custom_data_visitor |
| Removes custom data from the given task. More...
|
|
struct | push_task_visitor |
| Pushes the given task into the vector of tasks. More...
|
|
struct | add_listener_visitor |
| Adds a new listener to the given task. More...
|
|
struct | add_listener_per_event_visitor |
| Adds a new listener per event type to the given task. More...
|
|
struct | remove_listener_visitor |
| Removes a listener from the given task. More...
|
|
struct | remove_listener_per_event_visitor |
| Removes a listener per event type from the given task. More...
|
|
struct | remove_listeners_visitor |
| Removes all listeners from the given task. More...
|
|
struct | remove_listeners_per_event_visitor |
| Removes all listeners per event type from the given task. More...
|
|
struct | visit_depth_visitor |
| Visits the given task using the visitor given in the constructor. More...
|
|
struct | unvisit_visitor |
| Unvisits the given task. More...
|
|
struct | functor_result |
| Determines the result type of the Functor dispatching on the task type. More...
|
|
struct | functor_result< transwarp::root_type, Functor, ParentResults...> |
|
struct | functor_result< transwarp::accept_type, Functor, ParentResults...> |
|
struct | functor_result< transwarp::accept_type, Functor, std::vector< std::shared_ptr< transwarp::task< ParentResultType > > > > |
|
struct | functor_result< transwarp::accept_any_type, Functor, ParentResults...> |
|
struct | functor_result< transwarp::accept_any_type, Functor, std::vector< std::shared_ptr< transwarp::task< ParentResultType > > > > |
|
struct | functor_result< transwarp::consume_type, Functor, ParentResults...> |
|
struct | functor_result< transwarp::consume_type, Functor, std::vector< std::shared_ptr< transwarp::task< ParentResultType > > > > |
|
struct | functor_result< transwarp::consume_any_type, Functor, ParentResults...> |
|
struct | functor_result< transwarp::consume_any_type, Functor, std::vector< std::shared_ptr< transwarp::task< ParentResultType > > > > |
|
struct | functor_result< transwarp::wait_type, Functor, ParentResults...> |
|
struct | functor_result< transwarp::wait_type, Functor, std::vector< std::shared_ptr< transwarp::task< ParentResultType > > > > |
|
struct | functor_result< transwarp::wait_any_type, Functor, ParentResults...> |
|
struct | functor_result< transwarp::wait_any_type, Functor, std::vector< std::shared_ptr< transwarp::task< ParentResultType > > > > |
|
struct | assign_node_if_impl< true > |
|
struct | assign_node_if_impl< false > |
|
struct | parents |
| Determines the type of the parents. More...
|
|
struct | parents< std::vector< std::shared_ptr< transwarp::task< ParentResultType > > > > |
| Determines the type of the parents. Specialization for vector parents. More...
|
|
class | base_runner |
|
class | base_runner< void, TaskType > |
|
class | runner |
| A callable to run a task given its parents. More...
|
|
class | circular_buffer |
| A simple circular buffer (FIFO). ValueType must support default construction. The buffer lets you push new values onto the back and pop old values off the front. More...
|
|
class | spinlock |
|
class | task_impl_base |
| The base task class that contains the functionality that can be used with all result types (void and non-void). More...
|
|
class | task_impl_proxy |
| A task proxy. More...
|
|
class | task_impl_proxy< ResultType &, TaskType, Functor, ParentResults...> |
| A task proxy for reference result type. More...
|
|
class | task_impl_proxy< void, TaskType, Functor, ParentResults...> |
| A task proxy for void result type. More...
|
|
|
template<typename... ParentResults> |
std::tuple< std::shared_future
< ParentResults >...> | get_futures (const std::tuple< std::shared_ptr< transwarp::task< ParentResults >>...> &input) |
| Returns the futures from the given tuple of tasks.
|
|
template<typename ParentResultType > |
std::vector
< std::shared_future
< ParentResultType > > | get_futures (const std::vector< std::shared_ptr< transwarp::task< ParentResultType >>> &input) |
| Returns the futures from the given vector of tasks.
|
|
template<typename Result , typename Task , typename... Args> |
Result | run_task (std::size_t node_id, const std::weak_ptr< Task > &task, Args &&...args) |
| Runs the task with the given arguments, hence, invoking the task's functor.
|
|
void | wait_for_all () |
|
template<typename ParentResult , typename... ParentResults> |
void | wait_for_all (const std::shared_ptr< transwarp::task< ParentResult >> &parent, const std::shared_ptr< transwarp::task< ParentResults >> &...parents) |
| Waits for all parents to finish.
|
|
template<typename ParentResultType > |
void | wait_for_all (const std::vector< std::shared_ptr< transwarp::task< ParentResultType >>> &parents) |
| Waits for all parents to finish.
|
|
template<typename Parent > |
Parent | wait_for_any_impl () |
|
template<typename Parent , typename ParentResult , typename... ParentResults> |
Parent | wait_for_any_impl (const std::shared_ptr< transwarp::task< ParentResult >> &parent, const std::shared_ptr< transwarp::task< ParentResults >> &...parents) |
|
template<typename Parent , typename... ParentResults> |
Parent | wait_for_any (const std::shared_ptr< transwarp::task< ParentResults >> &...parents) |
| Waits for the first parent to finish.
|
|
template<typename ParentResultType > |
std::shared_ptr
< transwarp::task
< ParentResultType > > | wait_for_any (const std::vector< std::shared_ptr< transwarp::task< ParentResultType >>> &parents) |
| Waits for the first parent to finish.
|
|
template<typename OneResult > |
void | cancel_all_but_one (const std::shared_ptr< transwarp::task< OneResult >> &) |
|
template<typename OneResult , typename ParentResult , typename... ParentResults> |
void | cancel_all_but_one (const std::shared_ptr< transwarp::task< OneResult >> &one, const std::shared_ptr< transwarp::task< ParentResult >> &parent, const std::shared_ptr< transwarp::task< ParentResults >> &...parents) |
| Cancels all tasks but one.
|
|
template<typename OneResult , typename ParentResultType > |
void | cancel_all_but_one (const std::shared_ptr< transwarp::task< OneResult >> &one, const std::vector< std::shared_ptr< transwarp::task< ParentResultType >>> &parents) |
| Cancels all tasks but one.
|
|
template<typename TaskType , typename Result , typename Task , typename... ParentResults> |
Result | call (std::size_t node_id, const Task &task, const std::tuple< std::shared_ptr< transwarp::task< ParentResults >>...> &parents) |
| Calls the functor of the given task with the results from the tuple of parents. Throws transwarp::task_canceled if the task is canceled. Throws transwarp::task_destroyed in case the task was destroyed prematurely.
|
|
template<typename TaskType , typename Result , typename Task , typename ParentResultType > |
Result | call (std::size_t node_id, const Task &task, const std::vector< std::shared_ptr< transwarp::task< ParentResultType >>> &parents) |
| Calls the functor of the given task with the results from the vector of parents. Throws transwarp::task_canceled if the task is canceled. Throws transwarp::task_destroyed in case the task was destroyed prematurely.
|
|
template<typename Functor , typename... ParentResults> |
void | call_with_each_index (transwarp::detail::indices<>, const Functor &, const std::tuple< std::shared_ptr< transwarp::task< ParentResults >>...> &) |
|
template<std::size_t i, std::size_t... j, typename Functor , typename... ParentResults> |
void | call_with_each_index (transwarp::detail::indices< i, j...>, const Functor &f, const std::tuple< std::shared_ptr< transwarp::task< ParentResults >>...> &t) |
|
template<typename Functor , typename... ParentResults> |
void | call_with_each (const Functor &f, const std::tuple< std::shared_ptr< transwarp::task< ParentResults >>...> &t) |
| Calls the functor with every element in the tuple.
|
|
template<typename Functor , typename ParentResultType > |
void | call_with_each (const Functor &f, const std::vector< std::shared_ptr< transwarp::task< ParentResultType >>> &v) |
| Calls the functor with every element in the vector.
|
|
template<typename Functor > |
void | assign_node_if (Functor &functor, std::shared_ptr< transwarp::node > node) noexcept |
| Assigns the node to the given functor if the functor is a subclass of transwarp::functor.
|
|
template<typename ResultType , typename Value > |
std::shared_future< ResultType > | make_future_with_value (Value &&value) |
| Returns a ready future with the given value as its state.
|
|
std::shared_future< void > | make_ready_future () |
| Returns a ready future.
|
|
template<typename ResultType > |
std::shared_future< ResultType > | make_future_with_exception (std::exception_ptr exception) |
| Returns a ready future with the given exception as its state.
|
|
Detail namespace for internal functionality only.