mesytec-mnode/external/taskflow-3.8.0/docs/xml/classtf_1_1Task.xml
2025-01-04 01:25:05 +01:00

763 lines
41 KiB
XML

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.1" xml:lang="en-US">
<compounddef id="classtf_1_1Task" kind="class" language="C++" prot="public">
<compoundname>tf::Task</compoundname>
<includes refid="task_8hpp" local="no">taskflow/core/task.hpp</includes>
<sectiondef kind="friend">
<memberdef kind="friend" id="classtf_1_1Task_1a61184f9bd9c801d0a5eccecfdbddc641" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type>class</type>
<definition>friend class FlowBuilder</definition>
<argsstring></argsstring>
<name>FlowBuilder</name>
<param>
<type><ref refid="classtf_1_1FlowBuilder" kindref="compound">FlowBuilder</ref></type>
</param>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="151" column="3" bodyfile="taskflow/core/task.hpp" bodystart="151" bodyend="-1"/>
</memberdef>
<memberdef kind="friend" id="classtf_1_1Task_1af3d14e26ba8af9e6cc5a32aad8446de7" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type>class</type>
<definition>friend class Runtime</definition>
<argsstring></argsstring>
<name>Runtime</name>
<param>
<type><ref refid="classtf_1_1Runtime" kindref="compound">Runtime</ref></type>
</param>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="152" column="3" bodyfile="taskflow/core/task.hpp" bodystart="152" bodyend="-1"/>
</memberdef>
<memberdef kind="friend" id="classtf_1_1Task_1af043dd6f6a359602805d9c7dd7539cca" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type>class</type>
<definition>friend class Taskflow</definition>
<argsstring></argsstring>
<name>Taskflow</name>
<param>
<type><ref refid="classtf_1_1Taskflow" kindref="compound">Taskflow</ref></type>
</param>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="153" column="3" bodyfile="taskflow/core/task.hpp" bodystart="153" bodyend="-1"/>
</memberdef>
<memberdef kind="friend" id="classtf_1_1Task_1a0aa0e12e4a0ba023033e808fb2132fdf" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type>class</type>
<definition>friend class TaskView</definition>
<argsstring></argsstring>
<name>TaskView</name>
<param>
<type><ref refid="classtf_1_1TaskView" kindref="compound">TaskView</ref></type>
</param>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="154" column="3" bodyfile="taskflow/core/task.hpp" bodystart="154" bodyend="-1"/>
</memberdef>
<memberdef kind="friend" id="classtf_1_1Task_1a763b2f90bc53f92d680a635fe28e858e" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type>class</type>
<definition>friend class Executor</definition>
<argsstring></argsstring>
<name>Executor</name>
<param>
<type><ref refid="classtf_1_1Executor" kindref="compound">Executor</ref></type>
</param>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="155" column="3" bodyfile="taskflow/core/task.hpp" bodystart="155" bodyend="-1"/>
</memberdef>
</sectiondef>
<sectiondef kind="private-attrib">
<memberdef kind="variable" id="classtf_1_1Task_1abff81069222d0f449e0b43136aea2f05" prot="private" static="no" mutable="no">
<type>Node *</type>
<definition>Node* tf::Task::_node</definition>
<argsstring></argsstring>
<name>_node</name>
<initializer>{nullptr}</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="358" column="10" bodyfile="taskflow/core/task.hpp" bodystart="358" bodyend="-1"/>
</memberdef>
</sectiondef>
<sectiondef kind="public-func">
<memberdef kind="function" id="classtf_1_1Task_1a5ed7ba63e8eeaa0f21fe08c80aa474ba" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type></type>
<definition>tf::Task::Task</definition>
<argsstring>()=default</argsstring>
<name>Task</name>
<briefdescription>
<para>constructs an empty task </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="162" column="5"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1a53deffe60d7c758df4265aeb81063928" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
<type></type>
<definition>tf::Task::Task</definition>
<argsstring>(const Task &amp;other)</argsstring>
<name>Task</name>
<param>
<type>const <ref refid="classtf_1_1Task" kindref="compound">Task</ref> &amp;</type>
<declname>other</declname>
</param>
<briefdescription>
<para>constructs the task with the copy of the other task </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="167" column="5" bodyfile="taskflow/core/task.hpp" bodystart="366" bodyend="367"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1aebdcc47e47a119f261daab673a971458" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
<type><ref refid="classtf_1_1Task" kindref="compound">Task</ref> &amp;</type>
<definition>Task &amp; tf::Task::operator=</definition>
<argsstring>(const Task &amp;)</argsstring>
<name>operator=</name>
<param>
<type>const <ref refid="classtf_1_1Task" kindref="compound">Task</ref> &amp;</type>
<defname>rhs</defname>
</param>
<briefdescription>
<para>replaces the contents with a copy of the other task </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="172" column="10" bodyfile="taskflow/core/task.hpp" bodystart="393" bodyend="396"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1a4b0e3d6a1985a353626c15970c51c820" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
<type><ref refid="classtf_1_1Task" kindref="compound">Task</ref> &amp;</type>
<definition>Task &amp; tf::Task::operator=</definition>
<argsstring>(std::nullptr_t)</argsstring>
<name>operator=</name>
<param>
<type><ref refid="cpp/types/nullptr_t" kindref="compound" external="/home/thuang295/Code/taskflow/doxygen/cppreference-doxygen-web.tag.xml">std::nullptr_t</ref></type>
<defname>ptr</defname>
</param>
<briefdescription>
<para>replaces the contents with a null pointer </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="177" column="10" bodyfile="taskflow/core/task.hpp" bodystart="399" bodyend="402"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1ad87bb498b0a4eae0c375bc59b66dbba8" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
<type>bool</type>
<definition>bool tf::Task::operator==</definition>
<argsstring>(const Task &amp;rhs) const</argsstring>
<name>operator==</name>
<param>
<type>const <ref refid="classtf_1_1Task" kindref="compound">Task</ref> &amp;</type>
<declname>rhs</declname>
</param>
<briefdescription>
<para>compares if two tasks are associated with the same graph node </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="182" column="10" bodyfile="taskflow/core/task.hpp" bodystart="405" bodyend="407"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1af4e13636e3a494297b30c2b2e483f095" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
<type>bool</type>
<definition>bool tf::Task::operator!=</definition>
<argsstring>(const Task &amp;rhs) const</argsstring>
<name>operator!=</name>
<param>
<type>const <ref refid="classtf_1_1Task" kindref="compound">Task</ref> &amp;</type>
<declname>rhs</declname>
</param>
<briefdescription>
<para>compares if two tasks are not associated with the same graph node </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="187" column="10" bodyfile="taskflow/core/task.hpp" bodystart="410" bodyend="412"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1a08ada0425b490997b6ff7f310107e5e3" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
<type>const <ref refid="cpp/string/basic_string" kindref="compound" external="/home/thuang295/Code/taskflow/doxygen/cppreference-doxygen-web.tag.xml">std::string</ref> &amp;</type>
<definition>const std::string &amp; tf::Task::name</definition>
<argsstring>() const</argsstring>
<name>name</name>
<briefdescription>
<para>queries the name of the task </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="192" column="23" bodyfile="taskflow/core/task.hpp" bodystart="431" bodyend="433"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1a1a0afc89e8a6a416c511e74d82df135d" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
<type>size_t</type>
<definition>size_t tf::Task::num_successors</definition>
<argsstring>() const</argsstring>
<name>num_successors</name>
<briefdescription>
<para>queries the number of successors of the task </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="197" column="12" bodyfile="taskflow/core/task.hpp" bodystart="451" bodyend="453"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1a974dc1d738b62b829ad261beeafbd67c" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
<type>size_t</type>
<definition>size_t tf::Task::num_dependents</definition>
<argsstring>() const</argsstring>
<name>num_dependents</name>
<briefdescription>
<para>queries the number of predecessors of the task </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="202" column="12" bodyfile="taskflow/core/task.hpp" bodystart="436" bodyend="438"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1ad49a92e8858c3c298bed0215e341b66b" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
<type>size_t</type>
<definition>size_t tf::Task::num_strong_dependents</definition>
<argsstring>() const</argsstring>
<name>num_strong_dependents</name>
<briefdescription>
<para>queries the number of strong dependents of the task </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="207" column="12" bodyfile="taskflow/core/task.hpp" bodystart="441" bodyend="443"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1af3bf886291af7f39957d43d17083fe07" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
<type>size_t</type>
<definition>size_t tf::Task::num_weak_dependents</definition>
<argsstring>() const</argsstring>
<name>num_weak_dependents</name>
<briefdescription>
<para>queries the number of weak dependents of the task </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="212" column="12" bodyfile="taskflow/core/task.hpp" bodystart="446" bodyend="448"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1a9057ecd0f3833b717480e914f8568f02" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
<type><ref refid="classtf_1_1Task" kindref="compound">Task</ref> &amp;</type>
<definition>Task &amp; tf::Task::name</definition>
<argsstring>(const std::string &amp;name)</argsstring>
<name>name</name>
<param>
<type>const <ref refid="cpp/string/basic_string" kindref="compound" external="/home/thuang295/Code/taskflow/doxygen/cppreference-doxygen-web.tag.xml">std::string</ref> &amp;</type>
<declname>name</declname>
</param>
<briefdescription>
<para>assigns a name to the task </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>a <ulink url="https://en.cppreference.com/w/cpp/string/basic_string">std::string</ulink> acceptable string</para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><computeroutput>*this</computeroutput> </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="221" column="10" bodyfile="taskflow/core/task.hpp" bodystart="415" bodyend="418"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1a2f6f4cec42d016e5eb89390f362ffe99" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename C</type>
</param>
</templateparamlist>
<type><ref refid="classtf_1_1Task" kindref="compound">Task</ref> &amp;</type>
<definition>Task &amp; tf::Task::work</definition>
<argsstring>(C &amp;&amp;callable)</argsstring>
<name>work</name>
<param>
<type>C &amp;&amp;</type>
<declname>callable</declname>
</param>
<briefdescription>
<para>assigns a callable </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="templateparam"><parameteritem>
<parameternamelist>
<parametername>C</parametername>
</parameternamelist>
<parameterdescription>
<para>callable type</para>
</parameterdescription>
</parameteritem>
</parameterlist>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>callable</parametername>
</parameternamelist>
<parameterdescription>
<para>callable to construct a task</para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><computeroutput>*this</computeroutput> </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="233" column="10" bodyfile="taskflow/core/task.hpp" bodystart="511" bodyend="529"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1ab38be520fe700cb4ca1f312308a95585" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename T</type>
</param>
</templateparamlist>
<type><ref refid="classtf_1_1Task" kindref="compound">Task</ref> &amp;</type>
<definition>Task &amp; tf::Task::composed_of</definition>
<argsstring>(T &amp;object)</argsstring>
<name>composed_of</name>
<param>
<type>T &amp;</type>
<declname>object</declname>
</param>
<briefdescription>
<para>creates a module task from a taskflow </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="templateparam"><parameteritem>
<parameternamelist>
<parametername>T</parametername>
</parameternamelist>
<parameterdescription>
<para>object type </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>object</parametername>
</parameternamelist>
<parameterdescription>
<para>a custom object that defines <computeroutput>T::graph()</computeroutput> method</para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><computeroutput>*this</computeroutput> </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="244" column="10" bodyfile="taskflow/core/task.hpp" bodystart="387" bodyend="390"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1a8c78c453295a553c1c016e4062da8588" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename...</type>
<declname>Ts</declname>
<defname>Ts</defname>
</param>
</templateparamlist>
<type><ref refid="classtf_1_1Task" kindref="compound">Task</ref> &amp;</type>
<definition>Task &amp; tf::Task::precede</definition>
<argsstring>(Ts &amp;&amp;... tasks)</argsstring>
<name>precede</name>
<param>
<type>Ts &amp;&amp;...</type>
<declname>tasks</declname>
</param>
<briefdescription>
<para>adds precedence links from this to other tasks </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="templateparam"><parameteritem>
<parameternamelist>
<parametername>Ts</parametername>
</parameternamelist>
<parameterdescription>
<para>parameter pack</para>
</parameterdescription>
</parameteritem>
</parameterlist>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>tasks</parametername>
</parameternamelist>
<parameterdescription>
<para>one or multiple tasks</para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><computeroutput>*this</computeroutput> </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="256" column="10" bodyfile="taskflow/core/task.hpp" bodystart="371" bodyend="375"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1a331b1b726555072e7c7d10941257f664" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename...</type>
<declname>Ts</declname>
<defname>Ts</defname>
</param>
</templateparamlist>
<type><ref refid="classtf_1_1Task" kindref="compound">Task</ref> &amp;</type>
<definition>Task &amp; tf::Task::succeed</definition>
<argsstring>(Ts &amp;&amp;... tasks)</argsstring>
<name>succeed</name>
<param>
<type>Ts &amp;&amp;...</type>
<declname>tasks</declname>
</param>
<briefdescription>
<para>adds precedence links from other tasks to this </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="templateparam"><parameteritem>
<parameternamelist>
<parametername>Ts</parametername>
</parameternamelist>
<parameterdescription>
<para>parameter pack</para>
</parameterdescription>
</parameteritem>
</parameterlist>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>tasks</parametername>
</parameternamelist>
<parameterdescription>
<para>one or multiple tasks</para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><computeroutput>*this</computeroutput> </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="268" column="10" bodyfile="taskflow/core/task.hpp" bodystart="379" bodyend="383"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1afd82ab6d6518d1142a72c4d2c97ff114" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
<type><ref refid="classtf_1_1Task" kindref="compound">Task</ref> &amp;</type>
<definition>Task &amp; tf::Task::data</definition>
<argsstring>(void *data)</argsstring>
<name>data</name>
<param>
<type>void *</type>
<declname>data</declname>
</param>
<briefdescription>
<para>assigns pointer to user data </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>data</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to user data</para>
</parameterdescription>
</parameteritem>
</parameterlist>
The following example shows how to attach user data to a task and run the task iteratively while changing the data value:</para>
<para><programlisting filename=".cpp"><codeline><highlight class="normal"><ref refid="classtf_1_1Executor" kindref="compound">tf::Executor</ref><sp/>executor;</highlight></codeline>
<codeline><highlight class="normal"><ref refid="classtf_1_1Taskflow" kindref="compound">tf::Taskflow</ref><sp/>taskflow(</highlight><highlight class="stringliteral">&quot;attach<sp/>data<sp/>to<sp/>a<sp/>task&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classtf_1_1Task_1a320827cb70295a6fe2cc37691405409c" kindref="member">data</ref>;</highlight></codeline>
<codeline><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal"></highlight><highlight class="comment">//<sp/>create<sp/>a<sp/>task<sp/>and<sp/>attach<sp/>it<sp/>the<sp/>data</highlight><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal"></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>A<sp/>=<sp/>taskflow.placeholder();</highlight></codeline>
<codeline><highlight class="normal">A.data(&amp;<ref refid="classtf_1_1Task_1a320827cb70295a6fe2cc37691405409c" kindref="member">data</ref>).work([A](){</highlight></codeline>
<codeline><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>d<sp/>=<sp/>*</highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">*</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(A.data());</highlight></codeline>
<codeline><highlight class="normal"><sp/><sp/><ref refid="cpp/io/basic_ostream" kindref="compound" external="/home/thuang295/Code/taskflow/doxygen/cppreference-doxygen-web.tag.xml">std::cout</ref><sp/>&lt;&lt;<sp/></highlight><highlight class="stringliteral">&quot;data<sp/>is<sp/>&quot;</highlight><highlight class="normal"><sp/>&lt;&lt;<sp/>d<sp/>&lt;&lt;<sp/><ref refid="cpp/io/manip/endl" kindref="compound" external="/home/thuang295/Code/taskflow/doxygen/cppreference-doxygen-web.tag.xml">std::endl</ref>;</highlight></codeline>
<codeline><highlight class="normal">});</highlight></codeline>
<codeline><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal"></highlight><highlight class="comment">//<sp/>run<sp/>the<sp/>taskflow<sp/>iteratively<sp/>with<sp/>changing<sp/>data</highlight><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal"></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(<ref refid="classtf_1_1Task_1a320827cb70295a6fe2cc37691405409c" kindref="member">data</ref><sp/>=<sp/>0;<sp/><ref refid="classtf_1_1Task_1a320827cb70295a6fe2cc37691405409c" kindref="member">data</ref>&lt;10;<sp/><ref refid="classtf_1_1Task_1a320827cb70295a6fe2cc37691405409c" kindref="member">data</ref>++){</highlight></codeline>
<codeline><highlight class="normal"><sp/><sp/>executor.<ref refid="classtf_1_1Executor_1a8d08f0cb79e7b3780087975d13368a96" kindref="member">run</ref>(taskflow).wait();</highlight></codeline>
<codeline><highlight class="normal">}</highlight></codeline>
</programlisting></para>
<para><simplesect kind="return"><para><computeroutput>*this</computeroutput> </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="299" column="10" bodyfile="taskflow/core/task.hpp" bodystart="537" bodyend="540"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1a302f51ed717d0a4e99edc50f92a571f3" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
<type>void</type>
<definition>void tf::Task::reset</definition>
<argsstring>()</argsstring>
<name>reset</name>
<briefdescription>
<para>resets the task handle to null </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="304" column="10" bodyfile="taskflow/core/task.hpp" bodystart="421" bodyend="423"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1aec3ab712e12137542b7e4bc311ee9f20" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
<type>void</type>
<definition>void tf::Task::reset_work</definition>
<argsstring>()</argsstring>
<name>reset_work</name>
<briefdescription>
<para>resets the associated work to a placeholder </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="309" column="10" bodyfile="taskflow/core/task.hpp" bodystart="426" bodyend="428"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1a8149edcf9ec2bfac18dd171f7a55ce06" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
<type>bool</type>
<definition>bool tf::Task::empty</definition>
<argsstring>() const</argsstring>
<name>empty</name>
<briefdescription>
<para>queries if the task handle points to a task node </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="314" column="10" bodyfile="taskflow/core/task.hpp" bodystart="456" bodyend="458"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1afc4ecb89dd4e4645b3ec3fb7c1bb0ec5" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
<type>bool</type>
<definition>bool tf::Task::has_work</definition>
<argsstring>() const</argsstring>
<name>has_work</name>
<briefdescription>
<para>queries if the task has a work assigned </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="319" column="10" bodyfile="taskflow/core/task.hpp" bodystart="461" bodyend="463"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1aff13a503d4a3c994eb08cb6f22e1b427" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename V</type>
</param>
</templateparamlist>
<type>void</type>
<definition>void tf::Task::for_each_successor</definition>
<argsstring>(V &amp;&amp;visitor) const</argsstring>
<name>for_each_successor</name>
<param>
<type>V &amp;&amp;</type>
<declname>visitor</declname>
</param>
<briefdescription>
<para>applies an visitor callable to each successor of the task </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="325" column="10" bodyfile="taskflow/core/task.hpp" bodystart="482" bodyend="486"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1a3bf68937662bf291637e4a763476b2e4" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename V</type>
</param>
</templateparamlist>
<type>void</type>
<definition>void tf::Task::for_each_dependent</definition>
<argsstring>(V &amp;&amp;visitor) const</argsstring>
<name>for_each_dependent</name>
<param>
<type>V &amp;&amp;</type>
<declname>visitor</declname>
</param>
<briefdescription>
<para>applies an visitor callable to each dependents of the task </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="331" column="10" bodyfile="taskflow/core/task.hpp" bodystart="490" bodyend="494"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1a1c9301f2a330cc23ee18e8f61688141f" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
<type>size_t</type>
<definition>size_t tf::Task::hash_value</definition>
<argsstring>() const</argsstring>
<name>hash_value</name>
<briefdescription>
<para>obtains a hash value of the underlying node </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="336" column="12" bodyfile="taskflow/core/task.hpp" bodystart="497" bodyend="499"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1af2df95e6c8c5870c033d692e88af0bc2" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
<type><ref refid="namespacetf_1a1355048578785a80414707ff308b395a" kindref="member">TaskType</ref></type>
<definition>TaskType tf::Task::type</definition>
<argsstring>() const</argsstring>
<name>type</name>
<briefdescription>
<para>returns the task type </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="341" column="14" bodyfile="taskflow/core/task.hpp" bodystart="466" bodyend="478"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1a3318a49ff9d0a01cd1e8ee675251e3b7" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
<type>void</type>
<definition>void tf::Task::dump</definition>
<argsstring>(std::ostream &amp;ostream) const</argsstring>
<name>dump</name>
<param>
<type><ref refid="cpp/io/basic_ostream" kindref="compound" external="/home/thuang295/Code/taskflow/doxygen/cppreference-doxygen-web.tag.xml">std::ostream</ref> &amp;</type>
<declname>ostream</declname>
</param>
<briefdescription>
<para>dumps the task through an output stream </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="346" column="10" bodyfile="taskflow/core/task.hpp" bodystart="502" bodyend="507"/>
</memberdef>
<memberdef kind="function" id="classtf_1_1Task_1a320827cb70295a6fe2cc37691405409c" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
<type>void *</type>
<definition>void * tf::Task::data</definition>
<argsstring>() const</argsstring>
<name>data</name>
<briefdescription>
<para>queries pointer to user data </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="351" column="10" bodyfile="taskflow/core/task.hpp" bodystart="532" bodyend="534"/>
</memberdef>
</sectiondef>
<sectiondef kind="private-func">
<memberdef kind="function" id="classtf_1_1Task_1a43d108a6cc0417cc470a00b5e95a65f5" prot="private" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
<type></type>
<definition>tf::Task::Task</definition>
<argsstring>(Node *)</argsstring>
<name>Task</name>
<param>
<type>Node *</type>
<defname>node</defname>
</param>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="taskflow/core/task.hpp" line="356" column="5" bodyfile="taskflow/core/task.hpp" bodystart="362" bodyend="363"/>
</memberdef>
</sectiondef>
<briefdescription>
<para>class to create a task handle over a node in a taskflow graph </para>
</briefdescription>
<detaileddescription>
<para>A task is a wrapper over a node in a taskflow graph. It provides a set of methods for users to access and modify the attributes of the associated node in the taskflow graph. A task is very lightweight object (i.e., only storing a node pointer) that can be trivially copied around, and it does not own the lifetime of the associated node. </para>
</detaileddescription>
<location file="taskflow/core/task.hpp" line="149" column="1" bodyfile="taskflow/core/task.hpp" bodystart="149" bodyend="359"/>
<listofallmembers>
<member refid="classtf_1_1Task_1abff81069222d0f449e0b43136aea2f05" prot="private" virt="non-virtual"><scope>tf::Task</scope><name>_node</name></member>
<member refid="classtf_1_1Task_1ab38be520fe700cb4ca1f312308a95585" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>composed_of</name></member>
<member refid="classtf_1_1Task_1afd82ab6d6518d1142a72c4d2c97ff114" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>data</name></member>
<member refid="classtf_1_1Task_1a320827cb70295a6fe2cc37691405409c" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>data</name></member>
<member refid="classtf_1_1Task_1a3318a49ff9d0a01cd1e8ee675251e3b7" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>dump</name></member>
<member refid="classtf_1_1Task_1a8149edcf9ec2bfac18dd171f7a55ce06" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>empty</name></member>
<member refid="classtf_1_1Task_1a763b2f90bc53f92d680a635fe28e858e" prot="private" virt="non-virtual"><scope>tf::Task</scope><name>Executor</name></member>
<member refid="classtf_1_1Task_1a61184f9bd9c801d0a5eccecfdbddc641" prot="private" virt="non-virtual"><scope>tf::Task</scope><name>FlowBuilder</name></member>
<member refid="classtf_1_1Task_1a3bf68937662bf291637e4a763476b2e4" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>for_each_dependent</name></member>
<member refid="classtf_1_1Task_1aff13a503d4a3c994eb08cb6f22e1b427" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>for_each_successor</name></member>
<member refid="classtf_1_1Task_1afc4ecb89dd4e4645b3ec3fb7c1bb0ec5" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>has_work</name></member>
<member refid="classtf_1_1Task_1a1c9301f2a330cc23ee18e8f61688141f" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>hash_value</name></member>
<member refid="classtf_1_1Task_1a08ada0425b490997b6ff7f310107e5e3" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>name</name></member>
<member refid="classtf_1_1Task_1a9057ecd0f3833b717480e914f8568f02" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>name</name></member>
<member refid="classtf_1_1Task_1a974dc1d738b62b829ad261beeafbd67c" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>num_dependents</name></member>
<member refid="classtf_1_1Task_1ad49a92e8858c3c298bed0215e341b66b" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>num_strong_dependents</name></member>
<member refid="classtf_1_1Task_1a1a0afc89e8a6a416c511e74d82df135d" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>num_successors</name></member>
<member refid="classtf_1_1Task_1af3bf886291af7f39957d43d17083fe07" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>num_weak_dependents</name></member>
<member refid="classtf_1_1Task_1af4e13636e3a494297b30c2b2e483f095" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>operator!=</name></member>
<member refid="classtf_1_1Task_1aebdcc47e47a119f261daab673a971458" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>operator=</name></member>
<member refid="classtf_1_1Task_1a4b0e3d6a1985a353626c15970c51c820" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>operator=</name></member>
<member refid="classtf_1_1Task_1ad87bb498b0a4eae0c375bc59b66dbba8" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>operator==</name></member>
<member refid="classtf_1_1Task_1a8c78c453295a553c1c016e4062da8588" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>precede</name></member>
<member refid="classtf_1_1Task_1a302f51ed717d0a4e99edc50f92a571f3" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>reset</name></member>
<member refid="classtf_1_1Task_1aec3ab712e12137542b7e4bc311ee9f20" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>reset_work</name></member>
<member refid="classtf_1_1Task_1af3d14e26ba8af9e6cc5a32aad8446de7" prot="private" virt="non-virtual"><scope>tf::Task</scope><name>Runtime</name></member>
<member refid="classtf_1_1Task_1a331b1b726555072e7c7d10941257f664" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>succeed</name></member>
<member refid="classtf_1_1Task_1a5ed7ba63e8eeaa0f21fe08c80aa474ba" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>Task</name></member>
<member refid="classtf_1_1Task_1a53deffe60d7c758df4265aeb81063928" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>Task</name></member>
<member refid="classtf_1_1Task_1a43d108a6cc0417cc470a00b5e95a65f5" prot="private" virt="non-virtual"><scope>tf::Task</scope><name>Task</name></member>
<member refid="classtf_1_1Task_1af043dd6f6a359602805d9c7dd7539cca" prot="private" virt="non-virtual"><scope>tf::Task</scope><name>Taskflow</name></member>
<member refid="classtf_1_1Task_1a0aa0e12e4a0ba023033e808fb2132fdf" prot="private" virt="non-virtual"><scope>tf::Task</scope><name>TaskView</name></member>
<member refid="classtf_1_1Task_1af2df95e6c8c5870c033d692e88af0bc2" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>type</name></member>
<member refid="classtf_1_1Task_1a2f6f4cec42d016e5eb89390f362ffe99" prot="public" virt="non-virtual"><scope>tf::Task</scope><name>work</name></member>
</listofallmembers>
</compounddef>
</doxygen>