<?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="namespaceforpy" kind="namespace" language="C++">
    <compoundname>forpy</compoundname>
    <innerclass refid="classforpy_1_1_classification_error" prot="public">forpy::ClassificationError</innerclass>
    <innerclass refid="classforpy_1_1_classification_forest" prot="public">forpy::ClassificationForest</innerclass>
    <innerclass refid="classforpy_1_1_classification_leaf" prot="public">forpy::ClassificationLeaf</innerclass>
    <innerclass refid="classforpy_1_1_classification_opt" prot="public">forpy::ClassificationOpt</innerclass>
    <innerclass refid="classforpy_1_1_classification_tree" prot="public">forpy::ClassificationTree</innerclass>
    <innerclass refid="structforpy_1_1_decider_desk" prot="public">forpy::DeciderDesk</innerclass>
    <innerclass refid="structforpy_1_1_desk" prot="public">forpy::Desk</innerclass>
    <innerclass refid="structforpy_1_1_empty" prot="public">forpy::Empty</innerclass>
    <innerclass refid="classforpy_1_1_empty_exception" prot="public">forpy::EmptyException</innerclass>
    <innerclass refid="classforpy_1_1_entropy_gain" prot="public">forpy::EntropyGain</innerclass>
    <innerclass refid="classforpy_1_1_fast_class_opt" prot="public">forpy::FastClassOpt</innerclass>
    <innerclass refid="classforpy_1_1_fast_decider" prot="public">forpy::FastDecider</innerclass>
    <innerclass refid="classforpy_1_1_fast_d_prov" prot="public">forpy::FastDProv</innerclass>
    <innerclass refid="classforpy_1_1_forest" prot="public">forpy::Forest</innerclass>
    <innerclass refid="classforpy_1_1_forpy_exception" prot="public">forpy::ForpyException</innerclass>
    <innerclass refid="structforpy_1_1get__core" prot="public">forpy::get_core</innerclass>
    <innerclass refid="classforpy_1_1_i_data_provider" prot="public">forpy::IDataProvider</innerclass>
    <innerclass refid="classforpy_1_1_i_decider" prot="public">forpy::IDecider</innerclass>
    <innerclass refid="classforpy_1_1_i_entropy_function" prot="public">forpy::IEntropyFunction</innerclass>
    <innerclass refid="classforpy_1_1_i_gain_calculator" prot="public">forpy::IGainCalculator</innerclass>
    <innerclass refid="classforpy_1_1_i_leaf" prot="public">forpy::ILeaf</innerclass>
    <innerclass refid="classforpy_1_1_induced_entropy" prot="public">forpy::InducedEntropy</innerclass>
    <innerclass refid="classforpy_1_1_i_thresh_opt" prot="public">forpy::IThreshOpt</innerclass>
    <innerclass refid="structforpy_1_1_leaf_desk" prot="public">forpy::LeafDesk</innerclass>
    <innerclass refid="structforpy_1_1_mat_eq_vis" prot="public">forpy::MatEqVis</innerclass>
    <innerclass refid="structforpy_1_1_name" prot="public">forpy::Name</innerclass>
    <innerclass refid="structforpy_1_1_name_3_01double_01_4" prot="public">forpy::Name&lt; double &gt;</innerclass>
    <innerclass refid="structforpy_1_1_name_3_01float_01_4" prot="public">forpy::Name&lt; float &gt;</innerclass>
    <innerclass refid="structforpy_1_1_name_3_01int_01_4" prot="public">forpy::Name&lt; int &gt;</innerclass>
    <innerclass refid="structforpy_1_1_name_3_01int16__t_01_4" prot="public">forpy::Name&lt; int16_t &gt;</innerclass>
    <innerclass refid="structforpy_1_1_name_3_01uint_01_4" prot="public">forpy::Name&lt; uint &gt;</innerclass>
    <innerclass refid="structforpy_1_1_name_3_01uint8__t_01_4" prot="public">forpy::Name&lt; uint8_t &gt;</innerclass>
    <innerclass refid="structforpy_1_1ptr__variant" prot="public">forpy::ptr_variant</innerclass>
    <innerclass refid="structforpy_1_1_random_desk" prot="public">forpy::RandomDesk</innerclass>
    <innerclass refid="classforpy_1_1_regression_forest" prot="public">forpy::RegressionForest</innerclass>
    <innerclass refid="classforpy_1_1_regression_leaf" prot="public">forpy::RegressionLeaf</innerclass>
    <innerclass refid="classforpy_1_1_regression_opt" prot="public">forpy::RegressionOpt</innerclass>
    <innerclass refid="classforpy_1_1_regression_tree" prot="public">forpy::RegressionTree</innerclass>
    <innerclass refid="classforpy_1_1_renyi_entropy" prot="public">forpy::RenyiEntropy</innerclass>
    <innerclass refid="classforpy_1_1_sampling_without_replacement" prot="public">forpy::SamplingWithoutReplacement</innerclass>
    <innerclass refid="classforpy_1_1_shannon_entropy" prot="public">forpy::ShannonEntropy</innerclass>
    <innerclass refid="structforpy_1_1_split_opt_res" prot="public">forpy::SplitOptRes</innerclass>
    <innerclass refid="classforpy_1_1_thread_control" prot="public">forpy::ThreadControl</innerclass>
    <innerclass refid="structforpy_1_1_todo_mark" prot="public">forpy::TodoMark</innerclass>
    <innerclass refid="classforpy_1_1_tree" prot="public">forpy::Tree</innerclass>
    <innerclass refid="structforpy_1_1_tree_desk" prot="public">forpy::TreeDesk</innerclass>
    <innerclass refid="classforpy_1_1_tsallis_entropy" prot="public">forpy::TsallisEntropy</innerclass>
    <innerclass refid="structforpy_1_1vector__hasher" prot="public">forpy::vector_hasher</innerclass>
    <innerclass refid="structforpy_1_1_v_reset" prot="public">forpy::VReset</innerclass>
    <innernamespace refid="namespaceforpy_1_1threading">forpy::threading</innernamespace>
      <sectiondef kind="user-defined">
      <memberdef kind="variable" id="namespaceforpy_1a570822bfa7d5bfd0a4003501fe8fef46" prot="public" static="no" mutable="no">
        <type>const int</type>
        <definition>const int forpy::DLOG_COPT_V</definition>
        <argsstring></argsstring>
        <name>DLOG_COPT_V</name>
        <initializer>= 100</initializer>
        <briefdescription>
<para>Variables to control debugging and log output for the <ref refid="classforpy_1_1_regression_opt" kindref="compound">forpy::RegressionOpt</ref>. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/threshold_optimizers/classification_opt.h" line="21" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/threshold_optimizers/classification_opt.h" bodystart="21" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="namespaceforpy_1a3561534fe91c5f227293abb336d61de5" prot="public" static="no" mutable="no">
        <type>const size_t</type>
        <definition>const size_t forpy::LOG_COPT_NID</definition>
        <argsstring></argsstring>
        <name>LOG_COPT_NID</name>
        <initializer>= 0</initializer>
        <briefdescription>
<para>Variables to control debugging and log output for the <ref refid="classforpy_1_1_regression_opt" kindref="compound">forpy::RegressionOpt</ref>. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/threshold_optimizers/classification_opt.h" line="22" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/threshold_optimizers/classification_opt.h" bodystart="22" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="namespaceforpy_1ab2daa38185b47a0488eff864ac1beaee" prot="public" static="no" mutable="no">
        <type>const bool</type>
        <definition>const bool forpy::LOG_COPT_ALLN</definition>
        <argsstring></argsstring>
        <name>LOG_COPT_ALLN</name>
        <initializer>= false</initializer>
        <briefdescription>
<para>Variables to control debugging and log output for the <ref refid="classforpy_1_1_regression_opt" kindref="compound">forpy::RegressionOpt</ref>. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/threshold_optimizers/classification_opt.h" line="23" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/threshold_optimizers/classification_opt.h" bodystart="23" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="user-defined">
      <memberdef kind="variable" id="namespaceforpy_1a2b8034a76205ae3a222c8230c207545d" prot="public" static="no" mutable="no">
        <type>const int</type>
        <definition>const int forpy::DLOG_FCOPT_V</definition>
        <argsstring></argsstring>
        <name>DLOG_FCOPT_V</name>
        <initializer>= 100</initializer>
        <briefdescription>
<para>Variables to control debugging and log output for the <ref refid="classforpy_1_1_regression_opt" kindref="compound">forpy::RegressionOpt</ref>. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/threshold_optimizers/fastclassopt.h" line="22" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/threshold_optimizers/fastclassopt.h" bodystart="22" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="namespaceforpy_1a124ee071029e1b4835a188435e8649a0" prot="public" static="no" mutable="no">
        <type>const size_t</type>
        <definition>const size_t forpy::LOG_FCOPT_NID</definition>
        <argsstring></argsstring>
        <name>LOG_FCOPT_NID</name>
        <initializer>= 3</initializer>
        <briefdescription>
<para>Variables to control debugging and log output for the <ref refid="classforpy_1_1_regression_opt" kindref="compound">forpy::RegressionOpt</ref>. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/threshold_optimizers/fastclassopt.h" line="23" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/threshold_optimizers/fastclassopt.h" bodystart="23" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="namespaceforpy_1ad06bef20e70df796f94c150cc924c59f" prot="public" static="no" mutable="no">
        <type>const bool</type>
        <definition>const bool forpy::LOG_FCOPT_ALLN</definition>
        <argsstring></argsstring>
        <name>LOG_FCOPT_ALLN</name>
        <initializer>= true</initializer>
        <briefdescription>
<para>Variables to control debugging and log output for the <ref refid="classforpy_1_1_regression_opt" kindref="compound">forpy::RegressionOpt</ref>. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/threshold_optimizers/fastclassopt.h" line="24" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/threshold_optimizers/fastclassopt.h" bodystart="24" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="user-defined">
      <memberdef kind="variable" id="namespaceforpy_1aab5a9f6e85bd262f7e82b302a734221d" prot="public" static="no" mutable="no">
        <type>const int</type>
        <definition>const int forpy::DLOG_ROPT_V</definition>
        <argsstring></argsstring>
        <name>DLOG_ROPT_V</name>
        <initializer>= 1</initializer>
        <briefdescription>
<para>Variables to control debugging and log output for the <ref refid="classforpy_1_1_regression_opt" kindref="compound">forpy::RegressionOpt</ref>. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/threshold_optimizers/regression_opt.h" line="19" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/threshold_optimizers/regression_opt.h" bodystart="19" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="namespaceforpy_1a5712e8222193e1de6e570fb60ba775bf" prot="public" static="no" mutable="no">
        <type>const size_t</type>
        <definition>const size_t forpy::LOG_ROPT_NID</definition>
        <argsstring></argsstring>
        <name>LOG_ROPT_NID</name>
        <initializer>= 12043</initializer>
        <briefdescription>
<para>Variables to control debugging and log output for the <ref refid="classforpy_1_1_regression_opt" kindref="compound">forpy::RegressionOpt</ref>. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/threshold_optimizers/regression_opt.h" line="20" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/threshold_optimizers/regression_opt.h" bodystart="20" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="namespaceforpy_1a3bab5ba01d8a7b9a601367a47d432307" prot="public" static="no" mutable="no">
        <type>const bool</type>
        <definition>const bool forpy::LOG_ROPT_ALLN</definition>
        <argsstring></argsstring>
        <name>LOG_ROPT_ALLN</name>
        <initializer>= false</initializer>
        <briefdescription>
<para>Variables to control debugging and log output for the <ref refid="classforpy_1_1_regression_opt" kindref="compound">forpy::RegressionOpt</ref>. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/threshold_optimizers/regression_opt.h" line="21" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/threshold_optimizers/regression_opt.h" bodystart="21" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="enum">
      <memberdef kind="enum" id="namespaceforpy_1adad607d1828338b79a86c36984d87e82" prot="public" static="no" strong="yes">
        <type></type>
        <name>ECompletionLevel</name>
        <enumvalue id="namespaceforpy_1adad607d1828338b79a86c36984d87e82a6c3a6944a808a7c0bbb6788dbec54a9f" prot="public">
          <name>Node</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
<para>Train one node only. </para>          </detaileddescription>
        </enumvalue>
        <enumvalue id="namespaceforpy_1adad607d1828338b79a86c36984d87e82aa0db49ba470c1c9ae2128c3470339153" prot="public">
          <name>Level</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
<para>Train one level of the tree (i.e. one depth level for BFS, one branch for DFS). </para>          </detaileddescription>
        </enumvalue>
        <enumvalue id="namespaceforpy_1adad607d1828338b79a86c36984d87e82aae94f80b3ce82062a5dd7815daa04f9d" prot="public">
          <name>Complete</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
<para>Complete the training for the entire tree. </para>          </detaileddescription>
        </enumvalue>
        <briefdescription>
<para>Specifies the completion level for one training step. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="95" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="95" bodyend="103"/>
      </memberdef>
      <memberdef kind="enum" id="namespaceforpy_1a10a1d7990606e86abc962e7b0353163d" prot="public" static="no" strong="yes">
        <type></type>
        <name>EThresholdSelection</name>
        <enumvalue id="namespaceforpy_1a10a1d7990606e86abc962e7b0353163dab57c54b3dd17ba583e26f9aca593fe47" prot="public">
          <name>LessEqOnly</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="namespaceforpy_1a10a1d7990606e86abc962e7b0353163da2eb141c99962fb996b5e09cf7502b0e7" prot="public">
          <name>GreaterOnly</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="namespaceforpy_1a10a1d7990606e86abc962e7b0353163da130c5b3473c57faa76e2a1c54e26f88e" prot="public">
          <name>Both</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <briefdescription>
<para>Specifies which thresholds should be used for a decision. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="116" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="116" bodyend="116"/>
      </memberdef>
      <memberdef kind="enum" id="namespaceforpy_1a5a7b10963eacab5123565f04b2279001" prot="public" static="no" strong="yes">
        <type></type>
        <name>ESearchType</name>
        <enumvalue id="namespaceforpy_1a5a7b10963eacab5123565f04b2279001ac1bb62b63c65be3760b715faad0bdf8d" prot="public">
          <name>DFS</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="namespaceforpy_1a5a7b10963eacab5123565f04b2279001a838fea3c1a3e8dd6c22fe9605a701668" prot="public">
          <name>BFS</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Specifies the type of tree search. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="205" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="205" bodyend="205"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="typedef">
      <memberdef kind="typedef" id="namespaceforpy_1a96f4b931f57ef7b106a2137e9b92939c" prot="public" static="no">
        <templateparamlist>
          <param>
            <type>typename DT</type>
          </param>
        </templateparamlist>
        <type>Eigen::Matrix&lt; DT, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor &gt;</type>
        <definition>using forpy::Mat = typedef Eigen::Matrix&lt;DT, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor&gt;</definition>
        <argsstring></argsstring>
        <name>Mat</name>
        <briefdescription>
<para>Parameterized Matrix type (row major). </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="52" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="52" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1a3d22fb5cf8ae6e988763ce5d92325b39" prot="public" static="no">
        <templateparamlist>
          <param>
            <type>typename DT</type>
          </param>
        </templateparamlist>
        <type>Eigen::Matrix&lt; DT, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor &gt;</type>
        <definition>using forpy::MatCM = typedef Eigen::Matrix&lt;DT, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor&gt;</definition>
        <argsstring></argsstring>
        <name>MatCM</name>
        <briefdescription>
<para>Parameterized column major matrix type. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="56" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="57" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1a4a9ac2f76a00cbaa27aa5c24ff4074a5" prot="public" static="no">
        <templateparamlist>
          <param>
            <type>typename DT</type>
          </param>
        </templateparamlist>
        <type>Eigen::Ref&lt; const <ref refid="namespaceforpy_1a96f4b931f57ef7b106a2137e9b92939c" kindref="member">Mat</ref>&lt; DT &gt; &gt;</type>
        <definition>using forpy::MatCRef = typedef Eigen::Ref&lt;const Mat&lt;DT&gt; &gt;</definition>
        <argsstring></argsstring>
        <name>MatCRef</name>
        <briefdescription>
<para>Parameterized const matrix ref type. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="61" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="61" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1a6bc62385f9adac070cc01a9a77da7c92" prot="public" static="no">
        <templateparamlist>
          <param>
            <type>typename DT</type>
          </param>
        </templateparamlist>
        <type>Eigen::Ref&lt; const <ref refid="namespaceforpy_1a3d22fb5cf8ae6e988763ce5d92325b39" kindref="member">MatCM</ref>&lt; DT &gt; &gt;</type>
        <definition>using forpy::MatCMCRef = typedef Eigen::Ref&lt;const MatCM&lt;DT&gt; &gt;</definition>
        <argsstring></argsstring>
        <name>MatCMCRef</name>
        <briefdescription>
<para>Parameterized const matrix column major matrix ref type. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="65" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="65" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1ac50f86d38ff96870f057147546b8ad26" prot="public" static="no">
        <templateparamlist>
          <param>
            <type>typename DT</type>
          </param>
        </templateparamlist>
        <type>Eigen::Ref&lt; <ref refid="namespaceforpy_1a96f4b931f57ef7b106a2137e9b92939c" kindref="member">Mat</ref>&lt; DT &gt; &gt;</type>
        <definition>using forpy::MatRef = typedef Eigen::Ref&lt;Mat&lt;DT&gt; &gt;</definition>
        <argsstring></argsstring>
        <name>MatRef</name>
        <briefdescription>
<para>Parameterized standard non-const matrix ref type. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="69" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="69" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1a36398396324079cc112b2c14d72ef20d" prot="public" static="no">
        <templateparamlist>
          <param>
            <type>typename DT</type>
          </param>
        </templateparamlist>
        <type>Eigen::Matrix&lt; DT, Eigen::Dynamic, 1, Eigen::ColMajor &gt;</type>
        <definition>using forpy::Vec = typedef Eigen::Matrix&lt;DT, Eigen::Dynamic, 1, Eigen::ColMajor&gt;</definition>
        <argsstring></argsstring>
        <name>Vec</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Parameterized vector type. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="73" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="73" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1aa81f7b8d495ea48bf7a124df377c37e0" prot="public" static="no">
        <templateparamlist>
          <param>
            <type>typename DT</type>
          </param>
        </templateparamlist>
        <type>Eigen::Matrix&lt; DT, 1, Eigen::Dynamic, Eigen::RowMajor &gt;</type>
        <definition>using forpy::VecRM = typedef Eigen::Matrix&lt;DT, 1, Eigen::Dynamic, Eigen::RowMajor&gt;</definition>
        <argsstring></argsstring>
        <name>VecRM</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="76" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="76" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1a1a2aac27f18084075bf2e3266df5d92e" prot="public" static="no">
        <templateparamlist>
          <param>
            <type>typename DT</type>
          </param>
        </templateparamlist>
        <type>Eigen::Ref&lt; <ref refid="namespaceforpy_1a36398396324079cc112b2c14d72ef20d" kindref="member">Vec</ref>&lt; DT &gt; &gt;</type>
        <definition>using forpy::VecRef = typedef Eigen::Ref&lt;Vec&lt;DT&gt; &gt;</definition>
        <argsstring></argsstring>
        <name>VecRef</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="79" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="79" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1a3c6158a8044f273612042ca2746fc340" prot="public" static="no">
        <templateparamlist>
          <param>
            <type>typename DT</type>
          </param>
        </templateparamlist>
        <type>Eigen::Ref&lt; <ref refid="namespaceforpy_1aa81f7b8d495ea48bf7a124df377c37e0" kindref="member">VecRM</ref>&lt; DT &gt; &gt;</type>
        <definition>using forpy::VecRMRef = typedef Eigen::Ref&lt;VecRM&lt;DT&gt; &gt;</definition>
        <argsstring></argsstring>
        <name>VecRMRef</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="82" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="82" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1af98a31bf044c631db0df01d810a98aa1" prot="public" static="no">
        <templateparamlist>
          <param>
            <type>typename DT</type>
          </param>
        </templateparamlist>
        <type>Eigen::Ref&lt; const <ref refid="namespaceforpy_1a36398396324079cc112b2c14d72ef20d" kindref="member">Vec</ref>&lt; DT &gt; &gt;</type>
        <definition>using forpy::VecCRef = typedef Eigen::Ref&lt;const Vec&lt;DT&gt; &gt;</definition>
        <argsstring></argsstring>
        <name>VecCRef</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="85" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="85" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1a468f2a5434fcaa5e20b97caa38b8fa77" prot="public" static="no">
        <templateparamlist>
          <param>
            <type>typename DT</type>
          </param>
        </templateparamlist>
        <type>Eigen::Map&lt; const Eigen::Matrix&lt; DT, 1, Eigen::Dynamic, Eigen::RowMajor &gt;, Eigen::Unaligned, Eigen::InnerStride&lt;&gt; &gt;</type>
        <definition>using forpy::VecCMap = typedef Eigen::Map&lt;const Eigen::Matrix&lt;DT, 1, Eigen::Dynamic, Eigen::RowMajor&gt;, Eigen::Unaligned, Eigen::InnerStride&lt;&gt; &gt;</definition>
        <argsstring></argsstring>
        <name>VecCMap</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="88" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="90" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1a324c9643e02b76477c3a99a48773be8c" prot="public" static="no">
        <type>size_t</type>
        <definition>typedef size_t forpy::id_t</definition>
        <argsstring></argsstring>
        <name>id_t</name>
        <briefdescription>
<para>Element id type. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="106" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="106" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1a1eb4de80cbd0640710566fc679d47341" prot="public" static="no">
        <type>std::function&lt; <ref refid="namespaceforpy_1a324c9643e02b76477c3a99a48773be8c" kindref="member">id_t</ref>(const <ref refid="namespaceforpy_1a724d37691de11a57b50b9935b5550a89" kindref="member">Data</ref>&lt; <ref refid="namespaceforpy_1a4a9ac2f76a00cbaa27aa5c24ff4074a5" kindref="member">MatCRef</ref> &gt; &amp;, const <ref refid="namespaceforpy_1a324c9643e02b76477c3a99a48773be8c" kindref="member">id_t</ref> &amp;, const std::function&lt; void(void *)&gt; &amp;)&gt;</type>
        <definition>typedef std::function&lt;id_t(const Data&lt;MatCRef&gt; &amp;, const id_t &amp;, const std::function&lt;void(void *)&gt; &amp;)&gt; forpy::node_predf</definition>
        <argsstring></argsstring>
        <name>node_predf</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="110" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="110" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" prot="public" static="no">
        <type>unsigned int</type>
        <definition>typedef unsigned int forpy::uint</definition>
        <argsstring></argsstring>
        <name>uint</name>
        <briefdescription>
<para>Convenience typedef for unsigned int. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="113" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="113" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1a4495acd70bd8943f569d59a85c1f3dce" prot="public" static="no">
        <type>mu::variant&lt; <ref refid="structforpy_1_1_split_opt_res" kindref="compound">SplitOptRes</ref>&lt; float &gt;, <ref refid="structforpy_1_1_split_opt_res" kindref="compound">SplitOptRes</ref>&lt; double &gt;, <ref refid="structforpy_1_1_split_opt_res" kindref="compound">SplitOptRes</ref>&lt; <ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref> &gt;, <ref refid="structforpy_1_1_split_opt_res" kindref="compound">SplitOptRes</ref>&lt; uint8_t &gt; &gt;</type>
        <definition>typedef mu::variant&lt;SplitOptRes&lt;float&gt;, SplitOptRes&lt;double&gt;, SplitOptRes&lt;uint&gt;, SplitOptRes&lt;uint8_t&gt; &gt; forpy::OptSplitV</definition>
        <argsstring></argsstring>
        <name>OptSplitV</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="139" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="139" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1a6249c7b591a277475fb90fd4bde68421" prot="public" static="no">
        <type>std::pair&lt; <ref refid="namespaceforpy_1a324c9643e02b76477c3a99a48773be8c" kindref="member">id_t</ref>, <ref refid="namespaceforpy_1a324c9643e02b76477c3a99a48773be8c" kindref="member">id_t</ref> &gt;</type>
        <definition>typedef std::pair&lt;id_t, id_t&gt; forpy::interv_t</definition>
        <argsstring></argsstring>
        <name>interv_t</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="141" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="141" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1a8fb336e98d00a2b1cfd3b18a151b98cf" prot="public" static="no">
        <type>std::pair&lt; ptrdiff_t, ptrdiff_t &gt;</type>
        <definition>typedef std::pair&lt;ptrdiff_t, ptrdiff_t&gt; forpy::regint_t</definition>
        <argsstring></argsstring>
        <name>regint_t</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="187" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="187" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1a381efbba198dac450ec9c75e7c4e7daa" prot="public" static="no">
        <type>std::vector&lt; std::pair&lt; std::shared_ptr&lt; std::vector&lt; size_t &gt; &gt;, std::shared_ptr&lt; std::vector&lt; float &gt; const  &gt; &gt; &gt;</type>
        <definition>typedef std::vector&lt;std::pair&lt;std::shared_ptr&lt;std::vector&lt;size_t&gt; &gt;, std::shared_ptr&lt;std::vector&lt;float&gt; const&gt; &gt; &gt; forpy::usage_map_t</definition>
        <argsstring></argsstring>
        <name>usage_map_t</name>
        <briefdescription>
<para>Describes how each sample is used for each tree. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="192" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="192" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1a607c9d7497c11a4354005711f5f99a12" prot="public" static="no">
        <type>std::pair&lt; std::shared_ptr&lt; std::vector&lt; <ref refid="namespaceforpy_1a324c9643e02b76477c3a99a48773be8c" kindref="member">id_t</ref> &gt; &gt;, <ref refid="namespaceforpy_1a324c9643e02b76477c3a99a48773be8c" kindref="member">id_t</ref> &gt;</type>
        <definition>typedef std::pair&lt;std::shared_ptr&lt;std::vector&lt;id_t&gt; &gt;, id_t&gt; forpy::include_pair_t</definition>
        <argsstring></argsstring>
        <name>include_pair_t</name>
        <briefdescription>
<para>A pair containing information about newly included samples. </para>        </briefdescription>
        <detaileddescription>
<para>The content is the following:<orderedlist>
<listitem><para>A pointer to a vector of assigned sample ids.</para></listitem><listitem><para>The threshold of already existing sample ids to new ones (old are up to excluding this value). </para></listitem></orderedlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="202" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="202" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1ab343583e2b8ac0e16dbfaa28820e87fb" prot="public" static="no">
        <type>std::unordered_set&lt; std::vector&lt; size_t &gt;, <ref refid="structforpy_1_1vector__hasher" kindref="compound">vector_hasher</ref> &gt;</type>
        <definition>typedef std::unordered_set&lt;std::vector&lt;size_t&gt;, vector_hasher&gt; forpy::proposal_set_t</definition>
        <argsstring></argsstring>
        <name>proposal_set_t</name>
        <briefdescription>
<para>The type of a set of dimension selections. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="208" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="208" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1a805d3699e6dffb8b4aca770e90a9b599" prot="public" static="no">
        <templateparamlist>
          <param>
            <type>template&lt; typename &gt; class</type>
            <declname>STOT</declname>
            <defname>STOT</defname>
          </param>
        </templateparamlist>
        <type>typename mu::variant&lt; std::shared_ptr&lt; const STOT&lt; float &gt; &gt;, std::shared_ptr&lt; const STOT&lt; double &gt; &gt;, std::shared_ptr&lt; const STOT&lt; <ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref> &gt; &gt;, std::shared_ptr&lt; const STOT&lt; uint8_t &gt; &gt;&gt;</type>
        <definition>using forpy::DataStore = typedef typename mu::variant&lt; std::shared_ptr&lt;const STOT&lt;float&gt; &gt;, std::shared_ptr&lt;const STOT&lt;double&gt; &gt;, std::shared_ptr&lt;const STOT&lt;uint&gt; &gt;, std::shared_ptr&lt;const STOT&lt;uint8_t&gt; &gt;&gt;</definition>
        <argsstring></argsstring>
        <name>DataStore</name>
        <briefdescription>
<para>Variant for storing shared_ptrs to the stored data matrix type. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/storage.h" line="117" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/storage.h" bodystart="119" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1a724d37691de11a57b50b9935b5550a89" prot="public" static="no">
        <templateparamlist>
          <param>
            <type>template&lt; typename &gt; class</type>
            <declname>STOT</declname>
            <defname>STOT</defname>
          </param>
        </templateparamlist>
        <type>typename mu::variant&lt; <ref refid="structforpy_1_1_empty" kindref="compound">Empty</ref>, STOT&lt; float &gt;, STOT&lt; double &gt;, STOT&lt; <ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref> &gt;, STOT&lt; uint8_t &gt; &gt;</type>
        <definition>using forpy::Data = typedef typename mu::variant&lt;Empty, STOT&lt;float&gt;, STOT&lt;double&gt;, STOT&lt;uint&gt;, STOT&lt;uint8_t&gt; &gt;</definition>
        <argsstring></argsstring>
        <name>Data</name>
        <briefdescription>
<para>Storing a variant of the provided data container type. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/storage.h" line="125" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/storage.h" bodystart="126" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespaceforpy_1adda502f62d6651edd0837c6b6b0adde1" prot="public" static="no">
        <type>typename mu::variant&lt; std::vector&lt; float &gt;, std::vector&lt; double &gt;, std::vector&lt; <ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref> &gt;, std::vector&lt; uint8_t &gt; &gt;</type>
        <definition>using forpy::DataV = typedef typename mu::variant&lt;std::vector&lt;float&gt;, std::vector&lt;double&gt;, std::vector&lt;uint&gt;, std::vector&lt;uint8_t&gt; &gt;</definition>
        <argsstring></argsstring>
        <name>DataV</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/storage.h" line="128" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/storage.h" bodystart="129" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="var">
      <memberdef kind="variable" id="namespaceforpy_1a622967ce332bc66a209593e463a75a8f" prot="public" static="no" mutable="no">
        <type>const int</type>
        <definition>const int forpy::DLOG_FD_V</definition>
        <argsstring></argsstring>
        <name>DLOG_FD_V</name>
        <initializer>= 100</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="24" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="24" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="namespaceforpy_1a0be9f05ba7f81a8d4bb60db8dea16b9b" prot="public" static="no" mutable="no">
        <type>const size_t</type>
        <definition>const size_t forpy::LOG_FD_NID</definition>
        <argsstring></argsstring>
        <name>LOG_FD_NID</name>
        <initializer>= 12043</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="25" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="25" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="namespaceforpy_1ad4fa807b399f8b5f78ac83ae7719f873" prot="public" static="no" mutable="no">
        <type>const bool</type>
        <definition>const bool forpy::LOG_FD_ALLN</definition>
        <argsstring></argsstring>
        <name>LOG_FD_ALLN</name>
        <initializer>= true</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="26" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="26" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="namespaceforpy_1aab44157ec504c17f19f66d7b4192f6d4" prot="public" static="yes" mutable="no">
        <type>const bool</type>
        <definition>const bool forpy::SKLEARN_COMPAT</definition>
        <argsstring></argsstring>
        <name>SKLEARN_COMPAT</name>
        <initializer>=



    false</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="82" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="82" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="namespaceforpy_1a725dc76ef6d1d57ccda845fdd1fa5943" prot="public" static="yes" mutable="no">
        <type>const float</type>
        <definition>const float forpy::ENTROPY_EPS</definition>
        <argsstring></argsstring>
        <name>ENTROPY_EPS</name>
        <initializer>= 1E-7</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/impurities/ientropyfunction.h" line="18" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/impurities/ientropyfunction.h" bodystart="18" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="namespaceforpy_1ad88f878406edc080e84ad4afb30fd910" prot="public" static="no" mutable="no">
        <type>const float</type>
        <definition>const float forpy::CLASSOPT_EPS</definition>
        <argsstring></argsstring>
        <name>CLASSOPT_EPS</name>
        <initializer>= 1E-7f</initializer>
        <briefdescription>
<para>Classification epsilon. No differences less than this are considered existent. This is relevant for: </para>        </briefdescription>
        <detaileddescription>
<para><itemizedlist>
<listitem><para>if the difference between largest and smallest feature value at a node are less than this threshold, optimization is stopped (invalid),</para></listitem><listitem><para>if the difference between two consecutive feature values is leq than this threshold, they are considered the same,</para></listitem><listitem><para>it the difference between the largest feature value and the current one is leq than this value, optimization is stopped. </para></listitem></itemizedlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/threshold_optimizers/classification_opt.h" line="38" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/threshold_optimizers/classification_opt.h" bodystart="38" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="namespaceforpy_1a5d8c9406a3ccb899215b2ca27514e8f9" prot="public" static="no" mutable="no">
        <type>const float</type>
        <definition>const float forpy::REGOPT_EPS</definition>
        <argsstring></argsstring>
        <name>REGOPT_EPS</name>
        <initializer>= 1E-7f</initializer>
        <briefdescription>
<para>Regression epsilon. No differences less than this are considered existent. This is relevant for: </para>        </briefdescription>
        <detaileddescription>
<para><itemizedlist>
<listitem><para>if the difference between largest and smallest feature value at a node are less than this threshold, optimization is stopped (invalid),</para></listitem><listitem><para>if the difference between two consecutive feature values is leq than this threshold, they are considered the same,</para></listitem><listitem><para>it the difference between the largest feature value and the current one is leq than this value, optimization is stopped. </para></listitem></itemizedlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/threshold_optimizers/regression_opt.h" line="36" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/threshold_optimizers/regression_opt.h" bodystart="36" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="namespaceforpy_1addadb8195de7379333ffb1c464396e9f" prot="public" static="no" mutable="no">
        <type>const double</type>
        <definition>const double forpy::GAIN_EPS</definition>
        <argsstring></argsstring>
        <name>GAIN_EPS</name>
        <initializer>= 1E-7</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="212" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/types.h" bodystart="212" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="namespaceforpy_1ade0b884e853c50a495b5aa0521ab5742" prot="public" static="yes" mutable="no">
        <type>const double</type>
        <definition>const double forpy::D_PI</definition>
        <argsstring></argsstring>
        <name>D_PI</name>
        <initializer>= 4. * atan(1.)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Portable double pi value. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/exponentials.h" line="12" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/exponentials.h" bodystart="12" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="namespaceforpy_1aaaa8da20e2b1e58e4498723fa10faccb" prot="public" static="yes" mutable="no">
        <type>const float</type>
        <definition>const float forpy::TWO_PI</definition>
        <argsstring></argsstring>
        <name>TWO_PI</name>
        <initializer>= static_cast&lt;float&gt;(2. * <ref refid="namespaceforpy_1ade0b884e853c50a495b5aa0521ab5742" kindref="member">D_PI</ref>)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Precomputed value for the computation of the differential induced entropy. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/exponentials.h" line="16" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/exponentials.h" bodystart="16" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="namespaceforpy_1a1c4873cb7eda13dd992e0e6cbe14f9de" prot="public" static="yes" mutable="no">
        <type>const float</type>
        <definition>const float forpy::TWO_PI_E</definition>
        <argsstring></argsstring>
        <name>TWO_PI_E</name>
        <initializer>= <ref refid="namespaceforpy_1aaaa8da20e2b1e58e4498723fa10faccb" kindref="member">TWO_PI</ref> * expf(1.f)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Precomputed value for the computation of the differential shannon entropy. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/exponentials.h" line="22" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/exponentials.h" bodystart="22" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespaceforpy_1ad0869d5d34f647e11be98e81e7928af3" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>void</type>
        <definition>void forpy::init</definition>
        <argsstring>()</argsstring>
        <name>init</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="70" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="70" bodyend="78"/>
      </memberdef>
      <memberdef kind="function" id="namespaceforpy_1aad0cb8fa714154df0cb301140e076229" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const <ref refid="namespaceforpy_1a4a9ac2f76a00cbaa27aa5c24ff4074a5" kindref="member">MatCRef</ref>&lt; float &gt;</type>
        <definition>const MatCRef&lt;float&gt; forpy::FORPY_ZERO_MATR</definition>
        <argsstring>(Mat&lt; float &gt;::Zero(0, 1))</argsstring>
        <name>FORPY_ZERO_MATR</name>
        <param>
          <type><ref refid="namespaceforpy_1a96f4b931f57ef7b106a2137e9b92939c" kindref="member">Mat</ref>&lt; float &gt;</type>
          <declname>::Zero</declname>
          <array>0, 1</array>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/types.h" line="214" column="1"/>
      </memberdef>
      <memberdef kind="function" id="namespaceforpy_1a97ab9ad9bdd19cb6b84357b6eecf63cd" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <templateparamlist>
          <param>
            <type>typename T</type>
          </param>
        </templateparamlist>
        <type>std::vector&lt; size_t &gt;</type>
        <definition>static std::vector&lt;size_t&gt; forpy::argsort</definition>
        <argsstring>(const T *v, const size_t n)</argsstring>
        <name>argsort</name>
        <param>
          <type>const T *</type>
          <declname>v</declname>
        </param>
        <param>
          <type>const size_t</type>
          <declname>n</declname>
        </param>
        <briefdescription>
<para>Highly efficient argsort realized with few STL commands. </para>        </briefdescription>
        <detaileddescription>
<para>Inspired by <ulink url="http://stackoverflow.com/questions/1577475/c-sorting-and-keeping-track-of-indexes">http://stackoverflow.com/questions/1577475/c-sorting-and-keeping-track-of-indexes</ulink>.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>v</parametername>
</parameternamelist>
<parameterdescription>
<para>Vector to sort. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>n</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of vector elements. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>Sorting permutation. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/argsort.h" line="24" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/argsort.h" bodystart="24" bodyend="34"/>
      </memberdef>
      <memberdef kind="function" id="namespaceforpy_1a652c46a292200fc5081bc68a8ae132e2" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <templateparamlist>
          <param>
            <type>typename T</type>
          </param>
        </templateparamlist>
        <type>std::vector&lt; size_t &gt;</type>
        <definition>static std::vector&lt;size_t&gt; forpy::argsort</definition>
        <argsstring>(const std::vector&lt; T &gt; &amp;v)</argsstring>
        <name>argsort</name>
        <param>
          <type>const std::vector&lt; T &gt; &amp;</type>
          <declname>v</declname>
        </param>
        <briefdescription>
<para>Highly efficient argsort realized with few STL commands. </para>        </briefdescription>
        <detaileddescription>
<para>Inspired by <ulink url="http://stackoverflow.com/questions/1577475/c-sorting-and-keeping-track-of-indexes">http://stackoverflow.com/questions/1577475/c-sorting-and-keeping-track-of-indexes</ulink>.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>v</parametername>
</parameternamelist>
<parameterdescription>
<para>Vector to sort. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>Sorting permutation. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/argsort.h" line="45" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/argsort.h" bodystart="45" bodyend="47"/>
      </memberdef>
      <memberdef kind="function" id="namespaceforpy_1a3d2b37ed36f033a6cce4ec1d90349d76" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <templateparamlist>
          <param>
            <type>typename T</type>
          </param>
        </templateparamlist>
        <type>bool</type>
        <definition>static bool forpy::safe_pos_sum_lessoe_than</definition>
        <argsstring>(const std::vector&lt; T &gt; &amp;vec, const T &amp;limit)</argsstring>
        <name>safe_pos_sum_lessoe_than</name>
        <param>
          <type>const std::vector&lt; T &gt; &amp;</type>
          <declname>vec</declname>
        </param>
        <param>
          <type>const T &amp;</type>
          <declname>limit</declname>
        </param>
        <briefdescription>
<para>Tests whether the sum of all elements in vec is less than limit. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/checks.h" line="20" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/checks.h" bodystart="20" bodyend="39"/>
      </memberdef>
      <memberdef kind="function" id="namespaceforpy_1abf40d602d937742f7f518e2ee6538887" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <templateparamlist>
          <param>
            <type>typename T</type>
          </param>
        </templateparamlist>
        <type>bool</type>
        <definition>static bool forpy::safe_pos_sum_lessoe_than</definition>
        <argsstring>(const std::vector&lt; T &gt; &amp;vec1, const std::vector&lt; T &gt; &amp;vec2, const T &amp;limit)</argsstring>
        <name>safe_pos_sum_lessoe_than</name>
        <param>
          <type>const std::vector&lt; T &gt; &amp;</type>
          <declname>vec1</declname>
        </param>
        <param>
          <type>const std::vector&lt; T &gt; &amp;</type>
          <declname>vec2</declname>
        </param>
        <param>
          <type>const T &amp;</type>
          <declname>limit</declname>
        </param>
        <briefdescription>
<para>Tests whether the sum of all elements in vec1 and vec2 is less than limit. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/checks.h" line="46" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/checks.h" bodystart="46" bodyend="53"/>
      </memberdef>
      <memberdef kind="function" id="namespaceforpy_1ad5e3ac5afb47c005e1c2d3c2db026160" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <templateparamlist>
          <param>
            <type>typename T</type>
          </param>
        </templateparamlist>
        <type>bool</type>
        <definition>static bool forpy::safe_pos_sum_lessoe_than</definition>
        <argsstring>(const std::vector&lt; T &gt; &amp;vec)</argsstring>
        <name>safe_pos_sum_lessoe_than</name>
        <param>
          <type>const std::vector&lt; T &gt; &amp;</type>
          <declname>vec</declname>
        </param>
        <briefdescription>
<para>Tests whether the sum of all elements in vec is less than the numeric limit of its type. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/checks.h" line="60" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/checks.h" bodystart="60" bodyend="62"/>
      </memberdef>
      <memberdef kind="function" id="namespaceforpy_1a5b2b7c9a5e12681b7af61d051b30f1b9" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <templateparamlist>
          <param>
            <type>typename T</type>
          </param>
        </templateparamlist>
        <type>bool</type>
        <definition>static bool forpy::safe_pos_sum_lessoe_than</definition>
        <argsstring>(const std::vector&lt; T &gt; &amp;vec1, const std::vector&lt; T &gt; &amp;vec2)</argsstring>
        <name>safe_pos_sum_lessoe_than</name>
        <param>
          <type>const std::vector&lt; T &gt; &amp;</type>
          <declname>vec1</declname>
        </param>
        <param>
          <type>const std::vector&lt; T &gt; &amp;</type>
          <declname>vec2</declname>
        </param>
        <briefdescription>
<para>Tests whether the sum of all elements in vec1 and vec2 is less than the numeric limit of their type. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/checks.h" line="69" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/checks.h" bodystart="69" bodyend="72"/>
      </memberdef>
      <memberdef kind="function" id="namespaceforpy_1a87406441ec442789915b15951cb8c52d" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool</type>
        <definition>static bool forpy::check_elem_ids_ok</definition>
        <argsstring>(const size_t &amp;n_samples, const std::vector&lt; size_t &gt; &amp;elem_ids)</argsstring>
        <name>check_elem_ids_ok</name>
        <param>
          <type>const size_t &amp;</type>
          <declname>n_samples</declname>
        </param>
        <param>
          <type>const std::vector&lt; size_t &gt; &amp;</type>
          <declname>elem_ids</declname>
        </param>
        <briefdescription>
<para>Tests whether all element ids are valid. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/checks.h" line="79" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/checks.h" bodystart="79" bodyend="84"/>
      </memberdef>
      <memberdef kind="function" id="namespaceforpy_1a6919e4bf37b76e4380db6cdede210fc8" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>int</type>
        <definition>int forpy::ipow</definition>
        <argsstring>(int base, unsigned int exp)</argsstring>
        <name>ipow</name>
        <param>
          <type>int</type>
          <declname>base</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>exp</declname>
        </param>
        <briefdescription>
<para>Computes an int power by an int. </para>        </briefdescription>
        <detaileddescription>
<para>Fast implementation using in-place multiplication and bit-shifts only. Original version can be found here: <ulink url="http://stackoverflow.com/questions/101439/the-most-efficient-way-to-implement-an-integer-based-power-function-powint-int/101613#101613,">http://stackoverflow.com/questions/101439/the-most-efficient-way-to-implement-an-integer-based-power-function-powint-int/101613#101613,</ulink> the signature of the method has been adjusted to unsigned int exp to avoid the mentioned problems with possible negative exponents.</para><para><simplesect kind="return"><para><formula id="18">$base^{exp}$</formula>. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/exponentials.h" line="35" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/exponentials.h" bodystart="35" bodyend="45"/>
      </memberdef>
      <memberdef kind="function" id="namespaceforpy_1a1c0789b7bdd25c7469c20b29a84a77eb" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>float</type>
        <definition>float forpy::fpowi</definition>
        <argsstring>(float base, unsigned int exp)</argsstring>
        <name>fpowi</name>
        <param>
          <type>float</type>
          <declname>base</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>exp</declname>
        </param>
        <briefdescription>
<para>Computes a float power by an unsigned int. </para>        </briefdescription>
        <detaileddescription>
<para>Fast implementation similar to the cryptographic fast int pow ipow. For exp values up to including 5, the calculation is explicitly hard coded.</para><para><simplesect kind="return"><para><formula id="18">$base^{exp}$</formula>. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/exponentials.h" line="56" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/exponentials.h" bodystart="56" bodyend="81"/>
      </memberdef>
      <memberdef kind="function" id="namespaceforpy_1ab10595711c4ff6f178a44243b70b1e81" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>size_t</type>
        <definition>static size_t forpy::hash_fnv_1a</definition>
        <argsstring>(const unsigned char *key, const size_t &amp;len)</argsstring>
        <name>hash_fnv_1a</name>
        <param>
          <type>const unsigned char *</type>
          <declname>key</declname>
        </param>
        <param>
          <type>const size_t &amp;</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>Quick and easy implementation of 64-bit FNV 1a hash. </para>        </briefdescription>
        <detaileddescription>
<para>The FNV 1a is easy to implement and has still good enough characteristics to be used for this application.</para><para>See <ulink url="http://www.isthe.com/chongo/tech/comp/fnv/index.html">http://www.isthe.com/chongo/tech/comp/fnv/index.html</ulink> and for comparisons and more information <ulink url="http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx">http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx</ulink> and <ulink url="http://burtleburtle.net/bob">http://burtleburtle.net/bob</ulink>. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/hash.h" line="20" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/hash.h" bodystart="20" bodyend="31"/>
      </memberdef>
      <memberdef kind="function" id="namespaceforpy_1acb8e9515cc9ae3300c0395ed26dea175" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int64_t</type>
        <definition>static int64_t forpy::ibinom</definition>
        <argsstring>(const int &amp;n, int k)</argsstring>
        <name>ibinom</name>
        <param>
          <type>const int &amp;</type>
          <declname>n</declname>
        </param>
        <param>
          <type>int</type>
          <declname>k</declname>
        </param>
        <briefdescription>
<para>Integer binomial with overflow detection. </para>        </briefdescription>
        <detaileddescription>
<para>The code here is based on the following short article: <ulink url="http://etceterology.com/fast-binomial-coefficients">http://etceterology.com/fast-binomial-coefficients</ulink>. In the article, the possibility to use a lookup-table is introduced. This is not done here, since it is not particularly useful for the use-case. The code has been thoroughly reviewed and tested.</para><para><simplesect kind="return"><para>nChoosek or -1 if an overflow was detected. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/sampling.h" line="30" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/sampling.h" bodystart="30" bodyend="48"/>
      </memberdef>
      <memberdef kind="function" id="namespaceforpy_1a28e01d740749ef6f6405a72332fb19fa" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <templateparamlist>
          <param>
            <type>typename T</type>
          </param>
        </templateparamlist>
        <type>std::vector&lt; T &gt;</type>
        <definition>static std::vector&lt;T&gt; forpy::unique_indices</definition>
        <argsstring>(T num, T min, const T &amp;max, std::mt19937 *random_engine, bool return_sorted=false)</argsstring>
        <name>unique_indices</name>
        <param>
          <type>T</type>
          <declname>num</declname>
        </param>
        <param>
          <type>T</type>
          <declname>min</declname>
        </param>
        <param>
          <type>const T &amp;</type>
          <declname>max</declname>
        </param>
        <param>
          <type>std::mt19937 *</type>
          <declname>random_engine</declname>
        </param>
        <param>
          <type>bool</type>
          <declname>return_sorted</declname>
          <defval>false</defval>
        </param>
        <briefdescription>
<para>Sampling without replacement. </para>        </briefdescription>
        <detaileddescription>
<para>Returns a set of num unique numbers in range [min, max]. T must be an integral datatype.</para><para>This implementation does not need to be stateful, since the algorithm completes in one go. VERY efficient in any case. It is inspired by various algorithms from the below sources, but surpasses them in terms of efficiency and distribution of the values. The algorithm it was mainly inspired by iterates over the sample range once and picks the next number by a random distribution. In the original version, the random distribution is badly designed.</para><para>See: <ulink url="http://codegolf.stackexchange.com/questions/4772/random-sampling-without-replacement">http://codegolf.stackexchange.com/questions/4772/random-sampling-without-replacement</ulink> <ulink url="http://www.cplusplus.com/reference/cstdlib/rand/">http://www.cplusplus.com/reference/cstdlib/rand/</ulink> <ulink url="http://stackoverflow.com/questions/311703/algorithm-for-sampling-without-replacement">http://stackoverflow.com/questions/311703/algorithm-for-sampling-without-replacement</ulink></para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>num</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of examples to be selected from the range. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>min</parametername>
</parameternamelist>
<parameterdescription>
<para>Minimum of range (inclusive). </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>max</parametername>
</parameternamelist>
<parameterdescription>
<para>Maximum of range (inclusive). </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>random_engine</parametername>
</parameternamelist>
<parameterdescription>
<para>The random engine to use for random number generation. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>return_sorted</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, returns the numbers sorted (no overhead), otherwise they will be shuffled (overhead). </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/sampling.h" line="156" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/sampling.h" bodystart="156" bodyend="200"/>
      </memberdef>
      <memberdef kind="function" id="namespaceforpy_1a3483ab5f3aa58311b1c8f29ca72abe94" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <templateparamlist>
          <param>
            <type>typename V</type>
          </param>
          <param>
            <type>class...</type>
            <declname>VarArgs</declname>
            <defname>VarArgs</defname>
          </param>
        </templateparamlist>
        <type>V</type>
        <definition>V forpy::GetWithDefVar</definition>
        <argsstring>(const std::unordered_map&lt; std::string, mu::variant&lt; VarArgs... &gt;&gt; &amp;m, std::string const &amp;key, const V &amp;defval)</argsstring>
        <name>GetWithDefVar</name>
        <param>
          <type>const std::unordered_map&lt; std::string, mu::variant&lt; VarArgs... &gt;&gt; &amp;</type>
          <declname>m</declname>
        </param>
        <param>
          <type>std::string const &amp;</type>
          <declname>key</declname>
        </param>
        <param>
          <type>const V &amp;</type>
          <declname>defval</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/util/storage.h" line="143" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/util/storage.h" bodystart="143" bodyend="151"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/Users/classner/git/forpy/include/forpy/data_providers/fastdprov.h" line="13" column="1"/>
  </compounddef>
</doxygen>
