278 lines
15 KiB
XML
278 lines
15 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_1Pipe" kind="class" language="C++" prot="public">
|
|
<compoundname>tf::Pipe</compoundname>
|
|
<includes refid="pipeline_8hpp" local="no">taskflow/algorithm/pipeline.hpp</includes>
|
|
<templateparamlist>
|
|
<param>
|
|
<type>typename C</type>
|
|
<defval><ref refid="cpp/utility/functional/function" kindref="compound" external="/home/thuang295/Code/taskflow/doxygen/cppreference-doxygen-web.tag.xml">std::function</ref><void(<ref refid="classtf_1_1Pipeflow" kindref="compound">tf::Pipeflow</ref>&)></defval>
|
|
</param>
|
|
</templateparamlist>
|
|
<sectiondef kind="public-type">
|
|
<memberdef kind="typedef" id="classtf_1_1Pipe_1aa3d034d90bc01d42d9dd55f82de1da2a" prot="public" static="no">
|
|
<type>C</type>
|
|
<definition>using tf::Pipe< C >::callable_t = C</definition>
|
|
<argsstring></argsstring>
|
|
<name>callable_t</name>
|
|
<briefdescription>
|
|
<para>alias of the callable type </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="taskflow/algorithm/pipeline.hpp" line="241" column="3" bodyfile="taskflow/algorithm/pipeline.hpp" bodystart="241" bodyend="-1"/>
|
|
</memberdef>
|
|
</sectiondef>
|
|
<sectiondef kind="friend">
|
|
<memberdef kind="friend" id="classtf_1_1Pipe_1af65467c6cb27f4ef42522207f03ab9cf" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>typename...</type>
|
|
<declname>Ps</declname>
|
|
<defname>Ps</defname>
|
|
</param>
|
|
</templateparamlist>
|
|
<type>class</type>
|
|
<definition>friend class Pipeline</definition>
|
|
<argsstring></argsstring>
|
|
<name>Pipeline</name>
|
|
<param>
|
|
<type><ref refid="classtf_1_1Pipeline" kindref="compound">Pipeline</ref></type>
|
|
</param>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="taskflow/algorithm/pipeline.hpp" line="231" column="3" bodyfile="taskflow/algorithm/pipeline.hpp" bodystart="231" bodyend="-1"/>
|
|
</memberdef>
|
|
<memberdef kind="friend" id="classtf_1_1Pipe_1af64ddb98831b893b2388af2a2302acea" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>typename P</type>
|
|
</param>
|
|
</templateparamlist>
|
|
<type>class</type>
|
|
<definition>friend class ScalablePipeline</definition>
|
|
<argsstring></argsstring>
|
|
<name>ScalablePipeline</name>
|
|
<param>
|
|
<type><ref refid="classtf_1_1ScalablePipeline" kindref="compound">ScalablePipeline</ref></type>
|
|
</param>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="taskflow/algorithm/pipeline.hpp" line="234" column="3" bodyfile="taskflow/algorithm/pipeline.hpp" bodystart="234" bodyend="-1"/>
|
|
</memberdef>
|
|
</sectiondef>
|
|
<sectiondef kind="private-attrib">
|
|
<memberdef kind="variable" id="classtf_1_1Pipe_1a2cb97697921ad55788a1d88feb338c8b" prot="private" static="no" mutable="no">
|
|
<type><ref refid="namespacetf_1abb7a11e41fd457f69e7ff45d4c769564" kindref="member">PipeType</ref></type>
|
|
<definition>PipeType tf::Pipe< C >::_type</definition>
|
|
<argsstring></argsstring>
|
|
<name>_type</name>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="taskflow/algorithm/pipeline.hpp" line="302" column="12" bodyfile="taskflow/algorithm/pipeline.hpp" bodystart="302" bodyend="-1"/>
|
|
</memberdef>
|
|
<memberdef kind="variable" id="classtf_1_1Pipe_1a0337e2bbcf5cf7e204951a489dee7c30" prot="private" static="no" mutable="no">
|
|
<type>C</type>
|
|
<definition>C tf::Pipe< C >::_callable</definition>
|
|
<argsstring></argsstring>
|
|
<name>_callable</name>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="taskflow/algorithm/pipeline.hpp" line="304" column="5" bodyfile="taskflow/algorithm/pipeline.hpp" bodystart="304" bodyend="-1"/>
|
|
</memberdef>
|
|
</sectiondef>
|
|
<sectiondef kind="public-func">
|
|
<memberdef kind="function" id="classtf_1_1Pipe_1ad2c372074ba5daacb54811cb48141570" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<type></type>
|
|
<definition>tf::Pipe< C >::Pipe</definition>
|
|
<argsstring>()=default</argsstring>
|
|
<name>Pipe</name>
|
|
<briefdescription>
|
|
<para>default constructor </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="taskflow/algorithm/pipeline.hpp" line="246" column="3"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="classtf_1_1Pipe_1aebe1462048fa147ad8328fb13577cdf2" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
|
|
<type></type>
|
|
<definition>tf::Pipe< C >::Pipe</definition>
|
|
<argsstring>(PipeType d, C &&callable)</argsstring>
|
|
<name>Pipe</name>
|
|
<param>
|
|
<type><ref refid="namespacetf_1abb7a11e41fd457f69e7ff45d4c769564" kindref="member">PipeType</ref></type>
|
|
<declname>d</declname>
|
|
</param>
|
|
<param>
|
|
<type>C &&</type>
|
|
<declname>callable</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>constructs the pipe object </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
<para><parameterlist kind="param"><parameteritem>
|
|
<parameternamelist>
|
|
<parametername>d</parametername>
|
|
</parameternamelist>
|
|
<parameterdescription>
|
|
<para>pipe type (<ref refid="namespacetf_1abb7a11e41fd457f69e7ff45d4c769564" kindref="member">tf::PipeType</ref>) </para>
|
|
</parameterdescription>
|
|
</parameteritem>
|
|
<parameteritem>
|
|
<parameternamelist>
|
|
<parametername>callable</parametername>
|
|
</parameternamelist>
|
|
<parameterdescription>
|
|
<para>callable type</para>
|
|
</parameterdescription>
|
|
</parameteritem>
|
|
</parameterlist>
|
|
The constructor constructs a pipe with the given direction (<ref refid="namespacetf_1abb7a11e41fd457f69e7ff45d4c769564a7b804a28d6154ab8007287532037f1d0" kindref="member">tf::PipeType::SERIAL</ref> or <ref refid="namespacetf_1abb7a11e41fd457f69e7ff45d4c769564adf13a99b035d6f0bce4f44ab18eec8eb" kindref="member">tf::PipeType::PARALLEL</ref>) and the given callable. The callable must take a referenced <ref refid="classtf_1_1Pipeflow" kindref="compound">tf::Pipeflow</ref> object in the first argument.</para>
|
|
<para><programlisting filename=".cpp"><codeline><highlight class="normal"><ref refid="classtf_1_1Pipe_1ad2c372074ba5daacb54811cb48141570" kindref="member">Pipe</ref>{<ref refid="namespacetf_1abb7a11e41fd457f69e7ff45d4c769564a7b804a28d6154ab8007287532037f1d0" kindref="member">PipeType::SERIAL</ref>,<sp/>[](<ref refid="classtf_1_1Pipeflow" kindref="compound">tf::Pipeflow</ref>&){}}</highlight></codeline>
|
|
</programlisting></para>
|
|
<para>When creating a pipeline, the direction of the first pipe must be serial (<ref refid="namespacetf_1abb7a11e41fd457f69e7ff45d4c769564a7b804a28d6154ab8007287532037f1d0" kindref="member">tf::PipeType::SERIAL</ref>). </para>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="taskflow/algorithm/pipeline.hpp" line="265" column="3" bodyfile="taskflow/algorithm/pipeline.hpp" bodystart="265" bodyend="267"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="classtf_1_1Pipe_1a0a8ad99dbb66ad0bca766da47ef11b21" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
|
|
<type><ref refid="namespacetf_1abb7a11e41fd457f69e7ff45d4c769564" kindref="member">PipeType</ref></type>
|
|
<definition>PipeType tf::Pipe< C >::type</definition>
|
|
<argsstring>() const</argsstring>
|
|
<name>type</name>
|
|
<briefdescription>
|
|
<para>queries the type of the pipe </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
<para>Returns the type of the callable. </para>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="taskflow/algorithm/pipeline.hpp" line="274" column="12" bodyfile="taskflow/algorithm/pipeline.hpp" bodystart="274" bodyend="276"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="classtf_1_1Pipe_1ad939617c84a9e97ef1dd56ad56b84e33" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
|
|
<type>void</type>
|
|
<definition>void tf::Pipe< C >::type</definition>
|
|
<argsstring>(PipeType type)</argsstring>
|
|
<name>type</name>
|
|
<param>
|
|
<type><ref refid="namespacetf_1abb7a11e41fd457f69e7ff45d4c769564" kindref="member">PipeType</ref></type>
|
|
<declname>type</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>assigns a new type to the pipe </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
<para><parameterlist kind="param"><parameteritem>
|
|
<parameternamelist>
|
|
<parametername>type</parametername>
|
|
</parameternamelist>
|
|
<parameterdescription>
|
|
<para>a <ref refid="namespacetf_1abb7a11e41fd457f69e7ff45d4c769564" kindref="member">tf::PipeType</ref> variable </para>
|
|
</parameterdescription>
|
|
</parameteritem>
|
|
</parameterlist>
|
|
</para>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="taskflow/algorithm/pipeline.hpp" line="283" column="8" bodyfile="taskflow/algorithm/pipeline.hpp" bodystart="283" bodyend="285"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="classtf_1_1Pipe_1a43da5ae4ba56e35e4d0a705f7fa25686" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>typename U</type>
|
|
</param>
|
|
</templateparamlist>
|
|
<type>void</type>
|
|
<definition>void tf::Pipe< C >::callable</definition>
|
|
<argsstring>(U &&callable)</argsstring>
|
|
<name>callable</name>
|
|
<param>
|
|
<type>U &&</type>
|
|
<declname>callable</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>assigns a new callable to the pipe </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
<para><parameterlist kind="templateparam"><parameteritem>
|
|
<parameternamelist>
|
|
<parametername>U</parametername>
|
|
</parameternamelist>
|
|
<parameterdescription>
|
|
<para>callable type </para>
|
|
</parameterdescription>
|
|
</parameteritem>
|
|
</parameterlist>
|
|
<parameterlist kind="param"><parameteritem>
|
|
<parameternamelist>
|
|
<parametername>callable</parametername>
|
|
</parameternamelist>
|
|
<parameterdescription>
|
|
<para>a callable object constructible from std::function<void(tf::Pipeflow&)></para>
|
|
</parameterdescription>
|
|
</parameteritem>
|
|
</parameterlist>
|
|
Assigns a new callable to the pipe with universal forwarding. </para>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="taskflow/algorithm/pipeline.hpp" line="296" column="8" bodyfile="taskflow/algorithm/pipeline.hpp" bodystart="296" bodyend="298"/>
|
|
</memberdef>
|
|
</sectiondef>
|
|
<briefdescription>
|
|
<para>class to create a pipe object for a pipeline stage </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
<para><parameterlist kind="templateparam"><parameteritem>
|
|
<parameternamelist>
|
|
<parametername>C</parametername>
|
|
</parameternamelist>
|
|
<parameterdescription>
|
|
<para>callable type</para>
|
|
</parameterdescription>
|
|
</parameteritem>
|
|
</parameterlist>
|
|
A pipe represents a stage of a pipeline. A pipe can be either <emphasis>parallel</emphasis> direction or <emphasis>serial</emphasis> direction (specified by <ref refid="namespacetf_1abb7a11e41fd457f69e7ff45d4c769564" kindref="member">tf::PipeType</ref>) and is coupled with a callable to invoke by the pipeline scheduler. The callable must take a referenced <ref refid="classtf_1_1Pipeflow" kindref="compound">tf::Pipeflow</ref> object in the first argument:</para>
|
|
<para><programlisting filename=".cpp"><codeline><highlight class="normal"><ref refid="classtf_1_1Pipe_1ad2c372074ba5daacb54811cb48141570" kindref="member">Pipe</ref>{<ref refid="namespacetf_1abb7a11e41fd457f69e7ff45d4c769564a7b804a28d6154ab8007287532037f1d0" kindref="member">PipeType::SERIAL</ref>,<sp/>[](<ref refid="classtf_1_1Pipeflow" kindref="compound">tf::Pipeflow</ref>&){}}</highlight></codeline>
|
|
</programlisting></para>
|
|
<para>The pipeflow object is used to query the statistics of a scheduling token in the pipeline, such as pipe, line, and token numbers. </para>
|
|
</detaileddescription>
|
|
<location file="taskflow/algorithm/pipeline.hpp" line="228" column="1" bodyfile="taskflow/algorithm/pipeline.hpp" bodystart="228" bodyend="305"/>
|
|
<listofallmembers>
|
|
<member refid="classtf_1_1Pipe_1a0337e2bbcf5cf7e204951a489dee7c30" prot="private" virt="non-virtual"><scope>tf::Pipe</scope><name>_callable</name></member>
|
|
<member refid="classtf_1_1Pipe_1a2cb97697921ad55788a1d88feb338c8b" prot="private" virt="non-virtual"><scope>tf::Pipe</scope><name>_type</name></member>
|
|
<member refid="classtf_1_1Pipe_1a43da5ae4ba56e35e4d0a705f7fa25686" prot="public" virt="non-virtual"><scope>tf::Pipe</scope><name>callable</name></member>
|
|
<member refid="classtf_1_1Pipe_1aa3d034d90bc01d42d9dd55f82de1da2a" prot="public" virt="non-virtual"><scope>tf::Pipe</scope><name>callable_t</name></member>
|
|
<member refid="classtf_1_1Pipe_1ad2c372074ba5daacb54811cb48141570" prot="public" virt="non-virtual"><scope>tf::Pipe</scope><name>Pipe</name></member>
|
|
<member refid="classtf_1_1Pipe_1aebe1462048fa147ad8328fb13577cdf2" prot="public" virt="non-virtual"><scope>tf::Pipe</scope><name>Pipe</name></member>
|
|
<member refid="classtf_1_1Pipe_1af65467c6cb27f4ef42522207f03ab9cf" prot="private" virt="non-virtual"><scope>tf::Pipe</scope><name>Pipeline</name></member>
|
|
<member refid="classtf_1_1Pipe_1af64ddb98831b893b2388af2a2302acea" prot="private" virt="non-virtual"><scope>tf::Pipe</scope><name>ScalablePipeline</name></member>
|
|
<member refid="classtf_1_1Pipe_1a0a8ad99dbb66ad0bca766da47ef11b21" prot="public" virt="non-virtual"><scope>tf::Pipe</scope><name>type</name></member>
|
|
<member refid="classtf_1_1Pipe_1ad939617c84a9e97ef1dd56ad56b84e33" prot="public" virt="non-virtual"><scope>tf::Pipe</scope><name>type</name></member>
|
|
</listofallmembers>
|
|
</compounddef>
|
|
</doxygen>
|