<?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_1Graph" kind="class" language="C++" prot="public">
    <compoundname>tf::Graph</compoundname>
    <includes refid="graph_8hpp" local="no">graph.hpp</includes>
      <sectiondef kind="friend">
      <memberdef kind="friend" id="classtf_1_1Graph_1a6db9d28bd448a131448276ee03de1e6d" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>class</type>
        <definition>friend class Node</definition>
        <argsstring></argsstring>
        <name>Node</name>
        <param>
          <type>Node</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="46" column="3" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="46" bodyend="-1"/>
      </memberdef>
      <memberdef kind="friend" id="classtf_1_1Graph_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="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="47" column="3" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="47" bodyend="-1"/>
      </memberdef>
      <memberdef kind="friend" id="classtf_1_1Graph_1aa48945297ede77a161defc88033ce8a6" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>class</type>
        <definition>friend class Subflow</definition>
        <argsstring></argsstring>
        <name>Subflow</name>
        <param>
          <type><ref refid="classtf_1_1Subflow" kindref="compound">Subflow</ref></type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="48" column="3" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="48" bodyend="-1"/>
      </memberdef>
      <memberdef kind="friend" id="classtf_1_1Graph_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="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="49" column="3" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="49" bodyend="-1"/>
      </memberdef>
      <memberdef kind="friend" id="classtf_1_1Graph_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="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="50" column="3" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="50" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="private-attrib">
      <memberdef kind="variable" id="classtf_1_1Graph_1ac5e4c434ae03bf37c5a275f9fdc9f97d" prot="private" static="no" mutable="no">
        <type><ref refid="cpp/container/vector" kindref="compound" external="/home/thuang295/Code/taskflow/doxygen/cppreference-doxygen-web.tag.xml">std::vector</ref>&lt; Node * &gt;</type>
        <definition>std::vector&lt;Node*&gt; tf::Graph::_nodes</definition>
        <argsstring></argsstring>
        <name>_nodes</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="101" column="17" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="101" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="classtf_1_1Graph_1a1cd3bae8cabb45810b25cdbdd4e89006" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>tf::Graph::Graph</definition>
        <argsstring>()=default</argsstring>
        <name>Graph</name>
        <briefdescription>
<para>constructs a graph object </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="57" column="5"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Graph_1ade95936f49af81b9834e09e807033e61" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>tf::Graph::Graph</definition>
        <argsstring>(const Graph &amp;)=delete</argsstring>
        <name>Graph</name>
        <param>
          <type>const <ref refid="classtf_1_1Graph" kindref="compound">Graph</ref> &amp;</type>
        </param>
        <briefdescription>
<para>disabled copy constructor </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="62" column="5"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Graph_1a5fcaca536e67632ff6dd3cf2c0284cfd" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type></type>
        <definition>tf::Graph::Graph</definition>
        <argsstring>(Graph &amp;&amp;)</argsstring>
        <name>Graph</name>
        <param>
          <type><ref refid="classtf_1_1Graph" kindref="compound">Graph</ref> &amp;&amp;</type>
          <defname>other</defname>
        </param>
        <briefdescription>
<para>constructs a graph using move semantics </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="67" column="5" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="1086" bodyend="1088"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Graph_1a493acc70cca8c0a09d7c407d28c59ee2" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type></type>
        <definition>tf::Graph::~Graph</definition>
        <argsstring>()</argsstring>
        <name>~Graph</name>
        <briefdescription>
<para>destructs the graph object </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="72" column="5" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="1081" bodyend="1083"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Graph_1a945eb240dd5d6840e282c525a1ea74e4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="classtf_1_1Graph" kindref="compound">Graph</ref> &amp;</type>
        <definition>Graph&amp; tf::Graph::operator=</definition>
        <argsstring>(const Graph &amp;)=delete</argsstring>
        <name>operator=</name>
        <param>
          <type>const <ref refid="classtf_1_1Graph" kindref="compound">Graph</ref> &amp;</type>
        </param>
        <briefdescription>
<para>disabled copy assignment operator </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="77" column="11"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Graph_1a9104e2edd9e02c64d0102378f81ed9a9" 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::Graph::operator=</definition>
        <argsstring>(Graph &amp;&amp;)</argsstring>
        <name>operator=</name>
        <param>
          <type><ref refid="classtf_1_1Graph" kindref="compound">Graph</ref> &amp;&amp;</type>
          <defname>other</defname>
        </param>
        <briefdescription>
<para>assigns a graph using move semantics </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="82" column="11" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="1091" bodyend="1095"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Graph_1a30750e1be2657e491854791cd3afff06" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
        <type>bool</type>
        <definition>bool tf::Graph::empty</definition>
        <argsstring>() const</argsstring>
        <name>empty</name>
        <briefdescription>
<para>queries if the graph is empty </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="87" column="10" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="1145" bodyend="1147"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Graph_1a790710289553897fa88672d9104d8ed1" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
        <type>size_t</type>
        <definition>size_t tf::Graph::size</definition>
        <argsstring>() const</argsstring>
        <name>size</name>
        <briefdescription>
<para>queries the number of nodes in the graph </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="92" column="12" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="1140" bodyend="1142"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Graph_1a8213e42bf3f7460757db411181d78c4c" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>void</type>
        <definition>void tf::Graph::clear</definition>
        <argsstring>()</argsstring>
        <name>clear</name>
        <briefdescription>
<para>clears the graph </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="97" column="10" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="1098" bodyend="1100"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="private-func">
      <memberdef kind="function" id="classtf_1_1Graph_1a13b297fdc502102ee784495f6d4c3d1e" prot="private" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>void</type>
        <definition>void tf::Graph::_clear</definition>
        <argsstring>()</argsstring>
        <name>_clear</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="103" column="10" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="1103" bodyend="1108"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Graph_1ace2898fcb8cd86099dbf5d453a9cf0b4" prot="private" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>void</type>
        <definition>void tf::Graph::_clear_detached</definition>
        <argsstring>()</argsstring>
        <name>_clear_detached</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="104" column="10" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="1111" bodyend="1121"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Graph_1a39d26ac29a3aa19650dcf31a7563b6ee" prot="private" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>void</type>
        <definition>void tf::Graph::_merge</definition>
        <argsstring>(Graph &amp;&amp;)</argsstring>
        <name>_merge</name>
        <param>
          <type><ref refid="classtf_1_1Graph" kindref="compound">Graph</ref> &amp;&amp;</type>
          <defname>g</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="105" column="10" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="1124" bodyend="1129"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Graph_1a6b50ab0846fe1720edc2dcc5147ba16b" prot="private" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>void</type>
        <definition>void tf::Graph::_erase</definition>
        <argsstring>(Node *)</argsstring>
        <name>_erase</name>
        <param>
          <type>Node *</type>
          <defname>node</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="106" column="10" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="1132" bodyend="1137"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Graph_1a7e19ca35c105d72e35f86740e6e3d34e" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <templateparamlist>
          <param>
            <type>typename ...</type>
            <declname>ArgsT</declname>
            <defname>ArgsT</defname>
          </param>
        </templateparamlist>
        <type>Node *</type>
        <definition>Node* tf::Graph::_emplace_back</definition>
        <argsstring>(ArgsT &amp;&amp;...)</argsstring>
        <name>_emplace_back</name>
        <param>
          <type>ArgsT &amp;&amp;</type>
          <declname>...</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="112" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classtf_1_1Graph_1a4f4256f012b5b05fbaf3125d76faa9b6" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <templateparamlist>
          <param>
            <type>typename ...</type>
            <declname>ArgsT</declname>
            <defname>ArgsT</defname>
          </param>
        </templateparamlist>
        <type>Node *</type>
        <definition>Node* tf::Graph::_emplace_back</definition>
        <argsstring>(ArgsT &amp;&amp;... args)</argsstring>
        <name>_emplace_back</name>
        <param>
          <type>ArgsT &amp;&amp;...</type>
          <declname>args</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="1153" column="6" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="1153" bodyend="1156"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>class to create a graph object </para>
    </briefdescription>
    <detaileddescription>
<para>A graph is the ultimate storage for a task dependency graph and is the main gateway to interact with an executor. A graph manages a set of nodes in a global object pool that animates and recycles node objects efficiently without going through repetitive and expensive memory allocations and deallocations. This class is mainly used for creating an opaque graph object in a custom class to interact with the executor through taskflow composition.</para>
<para>A graph object is move-only. </para>
    </detaileddescription>
    <location file="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" line="44" column="1" bodyfile="/home/thuang295/Code/taskflow/taskflow/core/graph.hpp" bodystart="44" bodyend="113"/>
    <listofallmembers>
      <member refid="classtf_1_1Graph_1a13b297fdc502102ee784495f6d4c3d1e" prot="private" virt="non-virtual"><scope>tf::Graph</scope><name>_clear</name></member>
      <member refid="classtf_1_1Graph_1ace2898fcb8cd86099dbf5d453a9cf0b4" prot="private" virt="non-virtual"><scope>tf::Graph</scope><name>_clear_detached</name></member>
      <member refid="classtf_1_1Graph_1a7e19ca35c105d72e35f86740e6e3d34e" prot="private" virt="non-virtual"><scope>tf::Graph</scope><name>_emplace_back</name></member>
      <member refid="classtf_1_1Graph_1a4f4256f012b5b05fbaf3125d76faa9b6" prot="private" virt="non-virtual"><scope>tf::Graph</scope><name>_emplace_back</name></member>
      <member refid="classtf_1_1Graph_1a6b50ab0846fe1720edc2dcc5147ba16b" prot="private" virt="non-virtual"><scope>tf::Graph</scope><name>_erase</name></member>
      <member refid="classtf_1_1Graph_1a39d26ac29a3aa19650dcf31a7563b6ee" prot="private" virt="non-virtual"><scope>tf::Graph</scope><name>_merge</name></member>
      <member refid="classtf_1_1Graph_1ac5e4c434ae03bf37c5a275f9fdc9f97d" prot="private" virt="non-virtual"><scope>tf::Graph</scope><name>_nodes</name></member>
      <member refid="classtf_1_1Graph_1a8213e42bf3f7460757db411181d78c4c" prot="public" virt="non-virtual"><scope>tf::Graph</scope><name>clear</name></member>
      <member refid="classtf_1_1Graph_1a30750e1be2657e491854791cd3afff06" prot="public" virt="non-virtual"><scope>tf::Graph</scope><name>empty</name></member>
      <member refid="classtf_1_1Graph_1a763b2f90bc53f92d680a635fe28e858e" prot="private" virt="non-virtual"><scope>tf::Graph</scope><name>Executor</name></member>
      <member refid="classtf_1_1Graph_1a61184f9bd9c801d0a5eccecfdbddc641" prot="private" virt="non-virtual"><scope>tf::Graph</scope><name>FlowBuilder</name></member>
      <member refid="classtf_1_1Graph_1a1cd3bae8cabb45810b25cdbdd4e89006" prot="public" virt="non-virtual"><scope>tf::Graph</scope><name>Graph</name></member>
      <member refid="classtf_1_1Graph_1ade95936f49af81b9834e09e807033e61" prot="public" virt="non-virtual"><scope>tf::Graph</scope><name>Graph</name></member>
      <member refid="classtf_1_1Graph_1a5fcaca536e67632ff6dd3cf2c0284cfd" prot="public" virt="non-virtual"><scope>tf::Graph</scope><name>Graph</name></member>
      <member refid="classtf_1_1Graph_1a6db9d28bd448a131448276ee03de1e6d" prot="private" virt="non-virtual"><scope>tf::Graph</scope><name>Node</name></member>
      <member refid="classtf_1_1Graph_1a945eb240dd5d6840e282c525a1ea74e4" prot="public" virt="non-virtual"><scope>tf::Graph</scope><name>operator=</name></member>
      <member refid="classtf_1_1Graph_1a9104e2edd9e02c64d0102378f81ed9a9" prot="public" virt="non-virtual"><scope>tf::Graph</scope><name>operator=</name></member>
      <member refid="classtf_1_1Graph_1a790710289553897fa88672d9104d8ed1" prot="public" virt="non-virtual"><scope>tf::Graph</scope><name>size</name></member>
      <member refid="classtf_1_1Graph_1aa48945297ede77a161defc88033ce8a6" prot="private" virt="non-virtual"><scope>tf::Graph</scope><name>Subflow</name></member>
      <member refid="classtf_1_1Graph_1af043dd6f6a359602805d9c7dd7539cca" prot="private" virt="non-virtual"><scope>tf::Graph</scope><name>Taskflow</name></member>
      <member refid="classtf_1_1Graph_1a493acc70cca8c0a09d7c407d28c59ee2" prot="public" virt="non-virtual"><scope>tf::Graph</scope><name>~Graph</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
