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

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>&lt;void(<ref refid="classtf_1_1Pipeflow" kindref="compound">tf::Pipeflow</ref>&amp;)&gt;</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&lt; C &gt;::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&lt; C &gt;::_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&lt; C &gt;::_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&lt; C &gt;::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&lt; C &gt;::Pipe</definition>
<argsstring>(PipeType d, C &amp;&amp;callable)</argsstring>
<name>Pipe</name>
<param>
<type><ref refid="namespacetf_1abb7a11e41fd457f69e7ff45d4c769564" kindref="member">PipeType</ref></type>
<declname>d</declname>
</param>
<param>
<type>C &amp;&amp;</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>&amp;){}}</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&lt; C &gt;::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&lt; C &gt;::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&lt; C &gt;::callable</definition>
<argsstring>(U &amp;&amp;callable)</argsstring>
<name>callable</name>
<param>
<type>U &amp;&amp;</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&lt;void(tf::Pipeflow&amp;)&gt;</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>&amp;){}}</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>