<?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_1Subflow" kind="class" language="C++" prot="public">
    <compoundname>tf::Subflow</compoundname>
    <basecompoundref refid="classtf_1_1FlowBuilder" prot="public" virt="non-virtual">tf::FlowBuilder</basecompoundref>
    <includes refid="flow__builder_8hpp" local="no">taskflow/core/flow_builder.hpp</includes>
      <sectiondef kind="friend">
      <memberdef kind="friend" id="classtf_1_1Subflow_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/flow_builder.hpp" line="1323" column="3" bodyfile="taskflow/core/flow_builder.hpp" bodystart="1323" bodyend="-1"/>
      </memberdef>
      <memberdef kind="friend" id="classtf_1_1Subflow_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/flow_builder.hpp" line="1324" column="3" bodyfile="taskflow/core/flow_builder.hpp" bodystart="1324" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="private-static-attrib">
      <memberdef kind="variable" id="classtf_1_1Subflow_1ae1b7e8ff40d1a09ec5d1441258f35eb0" prot="private" static="yes" constexpr="yes" mutable="no">
        <type>constexpr static size_t</type>
        <definition>constexpr static size_t tf::Subflow::JOINED_BIT</definition>
        <argsstring></argsstring>
        <name>JOINED_BIT</name>
        <initializer>= (~size_t(0)) ^ ((~size_t(0)) &gt;&gt; 1)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="taskflow/core/flow_builder.hpp" line="1392" column="29" bodyfile="taskflow/core/flow_builder.hpp" bodystart="1392" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="private-attrib">
      <memberdef kind="variable" id="classtf_1_1Subflow_1a31a68355e05081fed16fff307b6b4e33" prot="private" static="no" mutable="no">
        <type><ref refid="classtf_1_1Executor" kindref="compound">Executor</ref> &amp;</type>
        <definition>Executor&amp; tf::Subflow::_executor</definition>
        <argsstring></argsstring>
        <name>_executor</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="taskflow/core/flow_builder.hpp" line="1400" column="14" bodyfile="taskflow/core/flow_builder.hpp" bodystart="1400" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classtf_1_1Subflow_1ac04dc0e5d4001c6d3f73ea867387b186" prot="private" static="no" mutable="no">
        <type><ref refid="classtf_1_1Worker" kindref="compound">Worker</ref> &amp;</type>
        <definition>Worker&amp; tf::Subflow::_worker</definition>
        <argsstring></argsstring>
        <name>_worker</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="taskflow/core/flow_builder.hpp" line="1401" column="12" bodyfile="taskflow/core/flow_builder.hpp" bodystart="1401" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classtf_1_1Subflow_1a350edd619ad0a3f28c8373b4ee937ebe" prot="private" static="no" mutable="no">
        <type>Node *</type>
        <definition>Node* tf::Subflow::_parent</definition>
        <argsstring></argsstring>
        <name>_parent</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="taskflow/core/flow_builder.hpp" line="1402" column="10" bodyfile="taskflow/core/flow_builder.hpp" bodystart="1402" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classtf_1_1Subflow_1ac2ca29ff62ab021c7266986326b56b06" prot="private" static="no" mutable="no">
        <type>size_t</type>
        <definition>size_t tf::Subflow::_tag</definition>
        <argsstring></argsstring>
        <name>_tag</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="taskflow/core/flow_builder.hpp" line="1404" column="12" bodyfile="taskflow/core/flow_builder.hpp" bodystart="1404" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="classtf_1_1Subflow_1a59fcac1323e70d920088dd37bd0be245" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void tf::Subflow::join</definition>
        <argsstring>()</argsstring>
        <name>join</name>
        <briefdescription>
<para>enables the subflow to join its parent task </para>
        </briefdescription>
        <detaileddescription>
<para>Performs an immediate action to join the subflow. Once the subflow is joined, it is considered finished and you may not modify the subflow anymore.</para>
<para><programlisting filename=".cpp"><codeline><highlight class="normal">taskflow.emplace([](<ref refid="classtf_1_1Subflow" kindref="compound">tf::Subflow</ref>&amp;<sp/>sf){</highlight></codeline>
<codeline><highlight class="normal"><sp/><sp/>sf.<ref refid="classtf_1_1FlowBuilder_1a60d7a666cab71ecfa3010b2efb0d6b57" kindref="member">emplace</ref>([](){});</highlight></codeline>
<codeline><highlight class="normal"><sp/><sp/>sf.<ref refid="classtf_1_1Subflow_1a59fcac1323e70d920088dd37bd0be245" kindref="member">join</ref>();<sp/><sp/></highlight><highlight class="comment">//<sp/>join<sp/>the<sp/>subflow<sp/>of<sp/>one<sp/>task</highlight><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal">});</highlight></codeline>
</programlisting></para>
<para>Only the worker that spawns this subflow can join it. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="taskflow/core/flow_builder.hpp" line="1343" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Subflow_1acfdedc7e9676126e9a38ecf7b5a37864" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void tf::Subflow::detach</definition>
        <argsstring>()</argsstring>
        <name>detach</name>
        <briefdescription>
<para>enables the subflow to detach from its parent task </para>
        </briefdescription>
        <detaileddescription>
<para>Performs an immediate action to detach the subflow. Once the subflow is detached, it is considered finished and you may not modify the subflow anymore.</para>
<para><programlisting filename=".cpp"><codeline><highlight class="normal">taskflow.emplace([](<ref refid="classtf_1_1Subflow" kindref="compound">tf::Subflow</ref>&amp;<sp/>sf){</highlight></codeline>
<codeline><highlight class="normal"><sp/><sp/>sf.<ref refid="classtf_1_1FlowBuilder_1a60d7a666cab71ecfa3010b2efb0d6b57" kindref="member">emplace</ref>([](){});</highlight></codeline>
<codeline><highlight class="normal"><sp/><sp/>sf.<ref refid="classtf_1_1Subflow_1acfdedc7e9676126e9a38ecf7b5a37864" kindref="member">detach</ref>();</highlight></codeline>
<codeline><highlight class="normal">});</highlight></codeline>
</programlisting></para>
<para>Only the worker that spawns this subflow can detach it. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="taskflow/core/flow_builder.hpp" line="1360" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Subflow_1ac3805e898b6a55b6e5173c74c5555e57" prot="public" static="no" const="yes" explicit="no" inline="yes" noexcept="yes" virt="non-virtual">
        <type>bool</type>
        <definition>bool tf::Subflow::joinable</definition>
        <argsstring>() const noexcept</argsstring>
        <name>joinable</name>
        <briefdescription>
<para>queries if the subflow is joinable </para>
        </briefdescription>
        <detaileddescription>
<para>This member function queries if the subflow is joinable. When a subflow is joined or detached, it becomes not joinable.</para>
<para><programlisting filename=".cpp"><codeline><highlight class="normal">taskflow.emplace([](<ref refid="classtf_1_1Subflow" kindref="compound">tf::Subflow</ref>&amp;<sp/>sf){</highlight></codeline>
<codeline><highlight class="normal"><sp/><sp/>sf.<ref refid="classtf_1_1FlowBuilder_1a60d7a666cab71ecfa3010b2efb0d6b57" kindref="member">emplace</ref>([](){});</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/>sf.<ref refid="classtf_1_1Subflow_1ac3805e898b6a55b6e5173c74c5555e57" kindref="member">joinable</ref>()<sp/>&lt;&lt;<sp/></highlight><highlight class="charliteral">&apos;\n&apos;</highlight><highlight class="normal">;<sp/><sp/></highlight><highlight class="comment">//<sp/>true</highlight><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal"><sp/><sp/>sf.<ref refid="classtf_1_1Subflow_1a59fcac1323e70d920088dd37bd0be245" kindref="member">join</ref>();</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/>sf.<ref refid="classtf_1_1Subflow_1ac3805e898b6a55b6e5173c74c5555e57" kindref="member">joinable</ref>()<sp/>&lt;&lt;<sp/></highlight><highlight class="charliteral">&apos;\n&apos;</highlight><highlight class="normal">;<sp/><sp/></highlight><highlight class="comment">//<sp/>false</highlight><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal">});</highlight></codeline>
</programlisting> </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="taskflow/core/flow_builder.hpp" line="1377" column="10" bodyfile="taskflow/core/flow_builder.hpp" bodystart="1429" bodyend="1431"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Subflow_1a2cc0c8db3ce5e9ef985d61bd5d839510" prot="public" static="no" const="no" explicit="no" inline="yes" noexcept="yes" virt="non-virtual">
        <type><ref refid="classtf_1_1Executor" kindref="compound">Executor</ref> &amp;</type>
        <definition>Executor &amp; tf::Subflow::executor</definition>
        <argsstring>() noexcept</argsstring>
        <name>executor</name>
        <briefdescription>
<para>acquires the associated executor </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="taskflow/core/flow_builder.hpp" line="1382" column="14" bodyfile="taskflow/core/flow_builder.hpp" bodystart="1434" bodyend="1436"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Subflow_1a35aae90a30bdf814089ac4185f6bd38f" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type><ref refid="classtf_1_1Graph" kindref="compound">Graph</ref> &amp;</type>
        <definition>Graph&amp; tf::Subflow::graph</definition>
        <argsstring>()</argsstring>
        <name>graph</name>
        <briefdescription>
<para>acquires the associated graph </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="taskflow/core/flow_builder.hpp" line="1387" column="11" bodyfile="taskflow/core/flow_builder.hpp" bodystart="1387" bodyend="1387"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="private-func">
      <memberdef kind="function" id="classtf_1_1Subflow_1a84f5f8f179fd27d44ff6a02c7c482659" prot="private" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type></type>
        <definition>tf::Subflow::Subflow</definition>
        <argsstring>(Executor &amp;, Worker &amp;, Node *, Graph &amp;)</argsstring>
        <name>Subflow</name>
        <param>
          <type><ref refid="classtf_1_1Executor" kindref="compound">Executor</ref> &amp;</type>
          <defname>executor</defname>
        </param>
        <param>
          <type><ref refid="classtf_1_1Worker" kindref="compound">Worker</ref> &amp;</type>
          <defname>worker</defname>
        </param>
        <param>
          <type>Node *</type>
          <defname>parent</defname>
        </param>
        <param>
          <type><ref refid="classtf_1_1Graph" kindref="compound">Graph</ref> &amp;</type>
          <defname>graph</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="taskflow/core/flow_builder.hpp" line="1394" column="5" bodyfile="taskflow/core/flow_builder.hpp" bodystart="1408" bodyend="1426"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Subflow_1a450e9be08c1872e77c559889b3ba9ae4" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>tf::Subflow::Subflow</definition>
        <argsstring>()=delete</argsstring>
        <name>Subflow</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="taskflow/core/flow_builder.hpp" line="1396" column="5"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Subflow_1a87ce05b1006c2581822f525f9c95453e" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>tf::Subflow::Subflow</definition>
        <argsstring>(const Subflow &amp;)=delete</argsstring>
        <name>Subflow</name>
        <param>
          <type>const <ref refid="classtf_1_1Subflow" kindref="compound">Subflow</ref> &amp;</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="taskflow/core/flow_builder.hpp" line="1397" column="5"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Subflow_1ab7f587899183c6c10bc39ceb7e47723b" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>tf::Subflow::Subflow</definition>
        <argsstring>(Subflow &amp;&amp;)=delete</argsstring>
        <name>Subflow</name>
        <param>
          <type><ref refid="classtf_1_1Subflow" kindref="compound">Subflow</ref> &amp;&amp;</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="taskflow/core/flow_builder.hpp" line="1398" column="5"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>class to construct a subflow graph from the execution of a dynamic task </para>
    </briefdescription>
    <detaileddescription>
<para><ref refid="classtf_1_1Subflow" kindref="compound">tf::Subflow</ref> is spawned from the execution of a task to dynamically manage a child graph that may depend on runtime variables. You can explicitly join or detach a subflow by calling <ref refid="classtf_1_1Subflow_1a59fcac1323e70d920088dd37bd0be245" kindref="member">tf::Subflow::join</ref> or <ref refid="classtf_1_1Subflow_1acfdedc7e9676126e9a38ecf7b5a37864" kindref="member">tf::Subflow::detach</ref>, respectively. By default, the Taskflow runtime will implicitly join a subflow it is is joinable.</para>
<para>The following example creates a taskflow graph that spawns a subflow from the execution of task <computeroutput>B</computeroutput>, and the subflow contains three tasks, <computeroutput>B1</computeroutput>, <computeroutput>B2</computeroutput>, and <computeroutput>B3</computeroutput>, where <computeroutput>B3</computeroutput> runs after <computeroutput>B1</computeroutput> and <computeroutput>B2</computeroutput>.</para>
<para><programlisting filename=".cpp"><codeline><highlight class="comment">//<sp/>create<sp/>three<sp/>static<sp/>tasks</highlight><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal"><ref refid="classtf_1_1Task" kindref="compound">tf::Task</ref><sp/>A<sp/>=<sp/>taskflow.emplace([](){}).name(</highlight><highlight class="stringliteral">&quot;A&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline><highlight class="normal"><ref refid="classtf_1_1Task" kindref="compound">tf::Task</ref><sp/>C<sp/>=<sp/>taskflow.emplace([](){}).name(</highlight><highlight class="stringliteral">&quot;C&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline><highlight class="normal"><ref refid="classtf_1_1Task" kindref="compound">tf::Task</ref><sp/>D<sp/>=<sp/>taskflow.emplace([](){}).name(</highlight><highlight class="stringliteral">&quot;D&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal"></highlight><highlight class="comment">//<sp/>create<sp/>a<sp/>subflow<sp/>graph<sp/>(dynamic<sp/>tasking)</highlight><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal"><ref refid="classtf_1_1Task" kindref="compound">tf::Task</ref><sp/>B<sp/>=<sp/>taskflow.emplace([]<sp/>(<ref refid="classtf_1_1Subflow" kindref="compound">tf::Subflow</ref>&amp;<sp/>subflow)<sp/>{</highlight></codeline>
<codeline><highlight class="normal"><sp/><sp/><ref refid="classtf_1_1Task" kindref="compound">tf::Task</ref><sp/>B1<sp/>=<sp/>subflow.<ref refid="classtf_1_1FlowBuilder_1a60d7a666cab71ecfa3010b2efb0d6b57" kindref="member">emplace</ref>([](){}).name(</highlight><highlight class="stringliteral">&quot;B1&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline><highlight class="normal"><sp/><sp/><ref refid="classtf_1_1Task" kindref="compound">tf::Task</ref><sp/>B2<sp/>=<sp/>subflow.<ref refid="classtf_1_1FlowBuilder_1a60d7a666cab71ecfa3010b2efb0d6b57" kindref="member">emplace</ref>([](){}).name(</highlight><highlight class="stringliteral">&quot;B2&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline><highlight class="normal"><sp/><sp/><ref refid="classtf_1_1Task" kindref="compound">tf::Task</ref><sp/>B3<sp/>=<sp/>subflow.<ref refid="classtf_1_1FlowBuilder_1a60d7a666cab71ecfa3010b2efb0d6b57" kindref="member">emplace</ref>([](){}).name(</highlight><highlight class="stringliteral">&quot;B3&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline><highlight class="normal"><sp/><sp/>B1.<ref refid="classtf_1_1Task_1a8c78c453295a553c1c016e4062da8588" kindref="member">precede</ref>(B3);</highlight></codeline>
<codeline><highlight class="normal"><sp/><sp/>B2.<ref refid="classtf_1_1Task_1a8c78c453295a553c1c016e4062da8588" kindref="member">precede</ref>(B3);</highlight></codeline>
<codeline><highlight class="normal">}).name(</highlight><highlight class="stringliteral">&quot;B&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal">A.<ref refid="classtf_1_1Task_1a8c78c453295a553c1c016e4062da8588" kindref="member">precede</ref>(B);<sp/><sp/></highlight><highlight class="comment">//<sp/>B<sp/>runs<sp/>after<sp/>A</highlight><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal">A.<ref refid="classtf_1_1Task_1a8c78c453295a553c1c016e4062da8588" kindref="member">precede</ref>(C);<sp/><sp/></highlight><highlight class="comment">//<sp/>C<sp/>runs<sp/>after<sp/>A</highlight><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal">B.<ref refid="classtf_1_1Task_1a8c78c453295a553c1c016e4062da8588" kindref="member">precede</ref>(D);<sp/><sp/></highlight><highlight class="comment">//<sp/>D<sp/>runs<sp/>after<sp/>B</highlight><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal">C.<ref refid="classtf_1_1Task_1a8c78c453295a553c1c016e4062da8588" kindref="member">precede</ref>(D);<sp/><sp/></highlight><highlight class="comment">//<sp/>D<sp/>runs<sp/>after<sp/>C</highlight></codeline>
</programlisting> </para>
    </detaileddescription>
    <inheritancegraph>
      <node id="2">
        <label>tf::FlowBuilder</label>
        <link refid="classtf_1_1FlowBuilder"/>
      </node>
      <node id="1">
        <label>tf::Subflow</label>
        <link refid="classtf_1_1Subflow"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="2">
        <label>tf::FlowBuilder</label>
        <link refid="classtf_1_1FlowBuilder"/>
        <childnode refid="3" relation="usage">
          <edgelabel>_graph</edgelabel>
        </childnode>
      </node>
      <node id="4">
        <label>std::vector&lt; std::unique_ptr&lt; Node &gt; &gt;</label>
      </node>
      <node id="3">
        <label>tf::Graph</label>
        <link refid="classtf_1_1Graph"/>
        <childnode refid="4" relation="public-inheritance">
        </childnode>
      </node>
      <node id="1">
        <label>tf::Subflow</label>
        <link refid="classtf_1_1Subflow"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
    </collaborationgraph>
    <location file="taskflow/core/flow_builder.hpp" line="1321" column="1" bodyfile="taskflow/core/flow_builder.hpp" bodystart="1321" bodyend="1405"/>
    <listofallmembers>
      <member refid="classtf_1_1Subflow_1a31a68355e05081fed16fff307b6b4e33" prot="private" virt="non-virtual"><scope>tf::Subflow</scope><name>_executor</name></member>
      <member refid="classtf_1_1FlowBuilder_1a9404a57d9d37a4d49d20b686e4e5f68f" prot="protected" virt="non-virtual"><scope>tf::Subflow</scope><name>_graph</name></member>
      <member refid="classtf_1_1Subflow_1a350edd619ad0a3f28c8373b4ee937ebe" prot="private" virt="non-virtual"><scope>tf::Subflow</scope><name>_parent</name></member>
      <member refid="classtf_1_1Subflow_1ac2ca29ff62ab021c7266986326b56b06" prot="private" virt="non-virtual"><scope>tf::Subflow</scope><name>_tag</name></member>
      <member refid="classtf_1_1Subflow_1ac04dc0e5d4001c6d3f73ea867387b186" prot="private" virt="non-virtual"><scope>tf::Subflow</scope><name>_worker</name></member>
      <member refid="classtf_1_1FlowBuilder_1ac6f22228d4c2ea2e643c4b0d42c0e92a" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>composed_of</name></member>
      <member refid="classtf_1_1Subflow_1acfdedc7e9676126e9a38ecf7b5a37864" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>detach</name></member>
      <member refid="classtf_1_1FlowBuilder_1a60d7a666cab71ecfa3010b2efb0d6b57" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>emplace</name></member>
      <member refid="classtf_1_1FlowBuilder_1a60d7a666cab71ecfa3010b2efb0d6b57" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>emplace</name></member>
      <member refid="classtf_1_1FlowBuilder_1a60d7a666cab71ecfa3010b2efb0d6b57" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>emplace</name></member>
      <member refid="classtf_1_1FlowBuilder_1a60d7a666cab71ecfa3010b2efb0d6b57" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>emplace</name></member>
      <member refid="classtf_1_1FlowBuilder_1a60d7a666cab71ecfa3010b2efb0d6b57" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>emplace</name></member>
      <member refid="classtf_1_1FlowBuilder_1a1f6118326ad434f6c839007a1a79fe1b" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>emplace</name></member>
      <member refid="classtf_1_1FlowBuilder_1a5627f7962099ac7c4986993cffa7b909" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>erase</name></member>
      <member refid="classtf_1_1FlowBuilder_1a4e0d618d8eb0b3b2e5e00443a10bf512" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>exclusive_scan</name></member>
      <member refid="classtf_1_1Subflow_1a763b2f90bc53f92d680a635fe28e858e" prot="private" virt="non-virtual"><scope>tf::Subflow</scope><name>Executor</name></member>
      <member refid="classtf_1_1Subflow_1a2cc0c8db3ce5e9ef985d61bd5d839510" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>executor</name></member>
      <member refid="classtf_1_1FlowBuilder_1a46a96f5889e6ac87b1ff8d6313b5f471" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>find_if</name></member>
      <member refid="classtf_1_1FlowBuilder_1a95fa2719fa7bbe7d171cf474ddb06726" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>find_if_not</name></member>
      <member refid="classtf_1_1Subflow_1a61184f9bd9c801d0a5eccecfdbddc641" prot="private" virt="non-virtual"><scope>tf::Subflow</scope><name>FlowBuilder</name></member>
      <member refid="classtf_1_1FlowBuilder_1a67d023d5493da1594a1d2eaea89da179" prot="public" virt="non-virtual" ambiguityscope="tf::FlowBuilder::"><scope>tf::Subflow</scope><name>FlowBuilder</name></member>
      <member refid="classtf_1_1FlowBuilder_1aae3edfa278baa75b08414e083c14c836" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>for_each</name></member>
      <member refid="classtf_1_1FlowBuilder_1a3b132bd902331a11b04b4ad66cf8bf77" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>for_each_index</name></member>
      <member refid="classtf_1_1Subflow_1a35aae90a30bdf814089ac4185f6bd38f" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>graph</name></member>
      <member refid="classtf_1_1FlowBuilder_1a1c2ace9290d83c2a006614a4d66ad588" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>inclusive_scan</name></member>
      <member refid="classtf_1_1FlowBuilder_1a0b589a5bbf9b18e6484fa9e554d39a39" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>inclusive_scan</name></member>
      <member refid="classtf_1_1Subflow_1a59fcac1323e70d920088dd37bd0be245" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>join</name></member>
      <member refid="classtf_1_1Subflow_1ac3805e898b6a55b6e5173c74c5555e57" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>joinable</name></member>
      <member refid="classtf_1_1Subflow_1ae1b7e8ff40d1a09ec5d1441258f35eb0" prot="private" virt="non-virtual"><scope>tf::Subflow</scope><name>JOINED_BIT</name></member>
      <member refid="classtf_1_1FlowBuilder_1a90f3d9b9d6fcf4df8e7d7878dfdd130d" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>linearize</name></member>
      <member refid="classtf_1_1FlowBuilder_1a4ec89b554d15ad5fb96f4fdb10dbbb16" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>linearize</name></member>
      <member refid="classtf_1_1FlowBuilder_1a6be5d7f053a868647c3b9e0d9cdf6b68" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>max_element</name></member>
      <member refid="classtf_1_1FlowBuilder_1a6bf43eeaa81900084a472be1d36d46a6" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>min_element</name></member>
      <member refid="classtf_1_1FlowBuilder_1acab0b4ac82260f47fdb36a3244ee3aaf" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>placeholder</name></member>
      <member refid="classtf_1_1FlowBuilder_1afb24798ebf46e253a40b01bffb1da6a7" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>reduce</name></member>
      <member refid="classtf_1_1FlowBuilder_1a35e180eb63de6c9f28e43185e837a4fa" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>sort</name></member>
      <member refid="classtf_1_1FlowBuilder_1a7d844e9856c7c65b26ccdb83ffdab1d6" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>sort</name></member>
      <member refid="classtf_1_1Subflow_1a84f5f8f179fd27d44ff6a02c7c482659" prot="private" virt="non-virtual"><scope>tf::Subflow</scope><name>Subflow</name></member>
      <member refid="classtf_1_1Subflow_1a450e9be08c1872e77c559889b3ba9ae4" prot="private" virt="non-virtual"><scope>tf::Subflow</scope><name>Subflow</name></member>
      <member refid="classtf_1_1Subflow_1a87ce05b1006c2581822f525f9c95453e" prot="private" virt="non-virtual"><scope>tf::Subflow</scope><name>Subflow</name></member>
      <member refid="classtf_1_1Subflow_1ab7f587899183c6c10bc39ceb7e47723b" prot="private" virt="non-virtual"><scope>tf::Subflow</scope><name>Subflow</name></member>
      <member refid="classtf_1_1FlowBuilder_1a97be7ceef6fa4276e3b074c10c13b826" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>transform</name></member>
      <member refid="classtf_1_1FlowBuilder_1a7ea96d3fa0aa9e3ff337a9f1e37682b0" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>transform</name></member>
      <member refid="classtf_1_1FlowBuilder_1a8549478ef819699b30f8daf88f04d577" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>transform_exclusive_scan</name></member>
      <member refid="classtf_1_1FlowBuilder_1a82f3c3f49a2d52cd52f6eac07a659e9c" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>transform_inclusive_scan</name></member>
      <member refid="classtf_1_1FlowBuilder_1a49f7e17d02c708035b9134d8c6c89f90" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>transform_inclusive_scan</name></member>
      <member refid="classtf_1_1FlowBuilder_1aa62d24438c0860e76153ffd129deba41" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>transform_reduce</name></member>
      <member refid="classtf_1_1FlowBuilder_1adcd90e5b46299f4ccab33caf46edcbc0" prot="public" virt="non-virtual"><scope>tf::Subflow</scope><name>transform_reduce</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
