<?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.8.14">
  <compounddef id="structforpy_1_1_desk" kind="struct" language="C++" prot="public">
    <compoundname>forpy::Desk</compoundname>
    <includes refid="desk_8h" local="no">desk.h</includes>
      <sectiondef kind="public-attrib">
      <memberdef kind="variable" id="structforpy_1_1_desk_1aaa1b5963dbe76dc61c434d3275a81989" prot="public" static="no" mutable="no">
        <type><ref refid="structforpy_1_1_tree_desk" kindref="compound">TreeDesk</ref></type>
        <definition>TreeDesk forpy::Desk::t</definition>
        <argsstring></argsstring>
        <name>t</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/desk.h" line="203" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/desk.h" bodystart="202" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="structforpy_1_1_desk_1aec25d1d9346713c92390fd9bf4388dc9" prot="public" static="no" mutable="no">
        <type><ref refid="structforpy_1_1_decider_desk" kindref="compound">DeciderDesk</ref></type>
        <definition>DeciderDesk forpy::Desk::d</definition>
        <argsstring></argsstring>
        <name>d</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/desk.h" line="204" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/desk.h" bodystart="204" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="structforpy_1_1_desk_1a39ddbf291c7471dea542566eedd8d651" prot="public" static="no" mutable="no">
        <type><ref refid="structforpy_1_1_leaf_desk" kindref="compound">LeafDesk</ref></type>
        <definition>LeafDesk forpy::Desk::l</definition>
        <argsstring></argsstring>
        <name>l</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/desk.h" line="205" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/desk.h" bodystart="205" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="structforpy_1_1_desk_1a7974bca3a78a25ea3411e5edba8ec29f" prot="public" static="no" mutable="no">
        <type><ref refid="structforpy_1_1_random_desk" kindref="compound">RandomDesk</ref></type>
        <definition>RandomDesk forpy::Desk::r</definition>
        <argsstring></argsstring>
        <name>r</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/desk.h" line="206" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/desk.h" bodystart="206" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="structforpy_1_1_desk_1a8e1bf333701752e44d3394d3401dca08" prot="public" static="no" mutable="no">
        <type>const int</type>
        <definition>const int forpy::Desk::thread_id</definition>
        <argsstring></argsstring>
        <name>thread_id</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/desk.h" line="208" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/desk.h" bodystart="208" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="structforpy_1_1_desk_1af5bb10adfe824e824c4ad108dad136c3" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type></type>
        <definition>forpy::Desk::Desk</definition>
        <argsstring>(int i)</argsstring>
        <name>Desk</name>
        <param>
          <type>int</type>
          <declname>i</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/desk.h" line="202" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/desk.h" bodystart="202" bodyend="202"/>
      </memberdef>
      <memberdef kind="function" id="structforpy_1_1_desk_1a8ced8ea8450cd5b9f0963a62ff5c37cb" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>void</type>
        <definition>void forpy::Desk::setup</definition>
        <argsstring>(std::atomic&lt; size_t &gt; *stored_in_leaf_p, std::atomic&lt; id_t &gt; *next_id_p, std::vector&lt; std::pair&lt; id_t, id_t &gt;&gt; *tree_p, std::vector&lt; size_t &gt; *ntfp=nullptr, mu::variant&lt; std::vector&lt; float &gt;, std::vector&lt; double &gt;, std::vector&lt; uint32_t &gt;, std::vector&lt; uint8_t &gt;&gt; *nttp=nullptr, std::vector&lt; Mat&lt; float &gt;&gt; *lrmp=nullptr, const uint &amp;random_seed=0)</argsstring>
        <name>setup</name>
        <param>
          <type>std::atomic&lt; size_t &gt; *</type>
          <declname>stored_in_leaf_p</declname>
        </param>
        <param>
          <type>std::atomic&lt; <ref refid="namespaceforpy_1a324c9643e02b76477c3a99a48773be8c" kindref="member">id_t</ref> &gt; *</type>
          <declname>next_id_p</declname>
        </param>
        <param>
          <type>std::vector&lt; std::pair&lt; <ref refid="namespaceforpy_1a324c9643e02b76477c3a99a48773be8c" kindref="member">id_t</ref>, <ref refid="namespaceforpy_1a324c9643e02b76477c3a99a48773be8c" kindref="member">id_t</ref> &gt;&gt; *</type>
          <declname>tree_p</declname>
        </param>
        <param>
          <type>std::vector&lt; size_t &gt; *</type>
          <declname>ntfp</declname>
          <defval>nullptr</defval>
        </param>
        <param>
          <type>mu::variant&lt; std::vector&lt; float &gt;, std::vector&lt; double &gt;, std::vector&lt; uint32_t &gt;, std::vector&lt; uint8_t &gt;&gt; *</type>
          <declname>nttp</declname>
          <defval>nullptr</defval>
        </param>
        <param>
          <type>std::vector&lt; <ref refid="namespaceforpy_1a96f4b931f57ef7b106a2137e9b92939c" kindref="member">Mat</ref>&lt; float &gt;&gt; *</type>
          <declname>lrmp</declname>
          <defval>nullptr</defval>
        </param>
        <param>
          <type>const <ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref> &amp;</type>
          <declname>random_seed</declname>
          <defval>0</defval>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
<para>Setup for thread-local processing. </para>        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/desk.h" line="209" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/desk.h" bodystart="209" bodyend="221"/>
      </memberdef>
      <memberdef kind="function" id="structforpy_1_1_desk_1a2fbf32e58f1d4b04d567962a4f62612e" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>void</type>
        <definition>void forpy::Desk::reset</definition>
        <argsstring>()</argsstring>
        <name>reset</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/desk.h" line="222" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/desk.h" bodystart="222" bodyend="227"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Main thread desk object. </para>    </briefdescription>
    <detaileddescription>
<para>Contains all thread-local variables for one thread. </para>    </detaileddescription>
    <collaborationgraph>
      <node id="44">
        <label>forpy::LeafDesk</label>
        <link refid="structforpy_1_1_leaf_desk"/>
        <childnode refid="45" relation="usage">
          <edgelabel>leaf_regression_map_p</edgelabel>
        </childnode>
      </node>
      <node id="41">
        <label>std::vector&lt; float &gt;</label>
      </node>
      <node id="47">
        <label>std::vector&lt; std::pair&lt; id_t, id_t &gt; &gt;</label>
      </node>
      <node id="49">
        <label>forpy::TodoMark</label>
        <link refid="structforpy_1_1_todo_mark"/>
      </node>
      <node id="38">
        <label>forpy::Desk</label>
        <link refid="structforpy_1_1_desk"/>
        <childnode refid="39" relation="usage">
          <edgelabel>d</edgelabel>
        </childnode>
        <childnode refid="43" relation="usage">
          <edgelabel>r</edgelabel>
        </childnode>
        <childnode refid="44" relation="usage">
          <edgelabel>l</edgelabel>
        </childnode>
        <childnode refid="46" relation="usage">
          <edgelabel>t</edgelabel>
        </childnode>
      </node>
      <node id="43">
        <label>forpy::RandomDesk</label>
        <link refid="structforpy_1_1_random_desk"/>
      </node>
      <node id="42">
        <label>std::vector&lt; id_t &gt;</label>
      </node>
      <node id="45">
        <label>std::vector&lt; Mat&lt; float &gt; &gt;</label>
      </node>
      <node id="39">
        <label>forpy::DeciderDesk</label>
        <link refid="structforpy_1_1_decider_desk"/>
        <childnode refid="40" relation="usage">
          <edgelabel>node_to_featsel_p</edgelabel>
          <edgelabel>invalid_counts</edgelabel>
        </childnode>
        <childnode refid="41" relation="usage">
          <edgelabel>feat_values</edgelabel>
          <edgelabel>full_sum</edgelabel>
          <edgelabel>left_sum_vec</edgelabel>
        </childnode>
        <childnode refid="42" relation="usage">
          <edgelabel>elem_ids_sorted</edgelabel>
          <edgelabel>sort_perm</edgelabel>
          <edgelabel>feature_indices</edgelabel>
        </childnode>
      </node>
      <node id="46">
        <label>forpy::TreeDesk</label>
        <link refid="structforpy_1_1_tree_desk"/>
        <childnode refid="47" relation="usage">
          <edgelabel>tree_p</edgelabel>
        </childnode>
        <childnode refid="48" relation="usage">
          <edgelabel>marks</edgelabel>
        </childnode>
      </node>
      <node id="48">
        <label>std::vector&lt; forpy::TodoMark &gt;</label>
        <childnode refid="49" relation="usage">
          <edgelabel>elements</edgelabel>
        </childnode>
      </node>
      <node id="40">
        <label>std::vector&lt; size_t &gt;</label>
      </node>
    </collaborationgraph>
    <location file="/Users/classner/git/forpy/include/forpy/util/desk.h" line="201" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/desk.h" bodystart="201" bodyend="228"/>
    <listofallmembers>
      <member refid="structforpy_1_1_desk_1aec25d1d9346713c92390fd9bf4388dc9" prot="public" virt="non-virtual"><scope>forpy::Desk</scope><name>d</name></member>
      <member refid="structforpy_1_1_desk_1af5bb10adfe824e824c4ad108dad136c3" prot="public" virt="non-virtual"><scope>forpy::Desk</scope><name>Desk</name></member>
      <member refid="structforpy_1_1_desk_1a39ddbf291c7471dea542566eedd8d651" prot="public" virt="non-virtual"><scope>forpy::Desk</scope><name>l</name></member>
      <member refid="structforpy_1_1_desk_1a7974bca3a78a25ea3411e5edba8ec29f" prot="public" virt="non-virtual"><scope>forpy::Desk</scope><name>r</name></member>
      <member refid="structforpy_1_1_desk_1a2fbf32e58f1d4b04d567962a4f62612e" prot="public" virt="non-virtual"><scope>forpy::Desk</scope><name>reset</name></member>
      <member refid="structforpy_1_1_desk_1a8ced8ea8450cd5b9f0963a62ff5c37cb" prot="public" virt="non-virtual"><scope>forpy::Desk</scope><name>setup</name></member>
      <member refid="structforpy_1_1_desk_1aaa1b5963dbe76dc61c434d3275a81989" prot="public" virt="non-virtual"><scope>forpy::Desk</scope><name>t</name></member>
      <member refid="structforpy_1_1_desk_1a8e1bf333701752e44d3394d3401dca08" prot="public" virt="non-virtual"><scope>forpy::Desk</scope><name>thread_id</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
