transwarp
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | Protected Member Functions | Friends | List of all members
transwarp::itask Class Referenceabstract

An interface for the task class. More...

#include <transwarp.h>

Inheritance diagram for transwarp::itask:
transwarp::task< transwarp::detail::functor_result_t< TaskType, Functor, ParentResults...> > transwarp::task< ResultType > transwarp::task< ResultType & > transwarp::task< void > transwarp::detail::task_common< transwarp::detail::functor_result_t< TaskType, Functor, ParentResults...> > transwarp::detail::task_common< ResultType > transwarp::detail::task_common< ResultType & > transwarp::detail::task_common< void > transwarp::detail::task_impl_base< transwarp::detail::functor_result_t< TaskType, Functor, ParentResults...>, TaskType, Functor, ParentResults...> transwarp::detail::task_impl_base< ResultType, TaskType, Functor, ParentResults...> transwarp::detail::task_impl_base< ResultType, TaskType, Functor, ParentResults > transwarp::value_task< ResultType > transwarp::detail::task_impl_base< ResultType &, TaskType, Functor, ParentResults...> transwarp::detail::task_impl_base< void, TaskType, Functor, ParentResults...> transwarp::detail::task_impl_proxy< transwarp::detail::functor_result_t< TaskType, Functor, ParentResults...>, TaskType, Functor, ParentResults...> transwarp::detail::task_impl_proxy< ResultType, TaskType, Functor, ParentResults > transwarp::detail::task_impl_proxy< ResultType &, TaskType, Functor, ParentResults...> transwarp::detail::task_impl_proxy< void, TaskType, Functor, ParentResults...> transwarp::task_impl< TaskType, Functor, ParentResults >

Public Member Functions

virtual void finalize ()=0
 
virtual std::size_t id () const noexcept=0
 
virtual std::size_t level () const noexcept=0
 
virtual transwarp::task_type type () const noexcept=0
 
virtual const std::optional
< std::string > & 
name () const noexcept=0
 
virtual std::shared_ptr
< transwarp::executor
executor () const noexcept=0
 
virtual std::int64_t priority () const noexcept=0
 
virtual const std::any & custom_data () const noexcept=0
 
virtual bool canceled () const noexcept=0
 
virtual std::int64_t avg_idletime_us () const noexcept=0
 
virtual std::int64_t avg_waittime_us () const noexcept=0
 
virtual std::int64_t avg_runtime_us () const noexcept=0
 
virtual void set_executor (std::shared_ptr< transwarp::executor > executor)=0
 
virtual void set_executor_all (std::shared_ptr< transwarp::executor > executor)=0
 
virtual void remove_executor ()=0
 
virtual void remove_executor_all ()=0
 
virtual void set_priority (std::int64_t priority)=0
 
virtual void set_priority_all (std::int64_t priority)=0
 
virtual void reset_priority ()=0
 
virtual void reset_priority_all ()=0
 
virtual void set_custom_data (std::any custom_data)=0
 
virtual void set_custom_data_all (std::any custom_data)=0
 
virtual void remove_custom_data ()=0
 
virtual void remove_custom_data_all ()=0
 
virtual void add_listener (std::shared_ptr< transwarp::listener > listener)=0
 
virtual void add_listener (transwarp::event_type event, std::shared_ptr< transwarp::listener > listener)=0
 
virtual void add_listener_all (std::shared_ptr< transwarp::listener > listener)=0
 
virtual void add_listener_all (transwarp::event_type event, std::shared_ptr< transwarp::listener > listener)=0
 
virtual void remove_listener (const std::shared_ptr< transwarp::listener > &listener)=0
 
virtual void remove_listener (transwarp::event_type event, const std::shared_ptr< transwarp::listener > &listener)=0
 
virtual void remove_listener_all (const std::shared_ptr< transwarp::listener > &listener)=0
 
virtual void remove_listener_all (transwarp::event_type event, const std::shared_ptr< transwarp::listener > &listener)=0
 
virtual void remove_listeners ()=0
 
virtual void remove_listeners (transwarp::event_type event)=0
 
virtual void remove_listeners_all ()=0
 
virtual void remove_listeners_all (transwarp::event_type event)=0
 
virtual void schedule ()=0
 
virtual void schedule (transwarp::executor &executor)=0
 
virtual void schedule (bool reset)=0
 
virtual void schedule (transwarp::executor &executor, bool reset)=0
 
virtual void schedule_all ()=0
 
virtual void schedule_all (transwarp::executor &executor)=0
 
virtual void schedule_all (bool reset_all)=0
 
virtual void schedule_all (transwarp::executor &executor, bool reset_all)=0
 
virtual void set_exception (std::exception_ptr exception)=0
 
virtual bool was_scheduled () const noexcept=0
 
virtual void wait () const =0
 
virtual bool is_ready () const =0
 
virtual bool has_result () const =0
 
virtual void reset ()=0
 
virtual void reset_all ()=0
 
virtual void cancel (bool enabled) noexcept=0
 
virtual void cancel_all (bool enabled) noexcept=0
 
virtual std::vector< itask * > parents () const =0
 
virtual const std::vector
< itask * > & 
tasks ()=0
 
virtual std::vector
< transwarp::edge
edges ()=0
 

Protected Member Functions

virtual void schedule_impl (bool reset, transwarp::executor *executor=nullptr)=0
 

Friends

struct transwarp::detail::visit_visitor
 
struct transwarp::detail::unvisit_visitor
 
struct transwarp::detail::final_visitor
 
struct transwarp::detail::schedule_visitor
 
struct transwarp::detail::parent_visitor
 
class transwarp::timer
 
class transwarp::releaser
 
void transwarp::detail::decrement_refcount (transwarp::itask &)
 

Detailed Description

An interface for the task class.


The documentation for this class was generated from the following file: