<?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="global_8h" kind="file" language="C++">
    <compoundname>global.h</compoundname>
    <includes local="no">glog/logging.h</includes>
    <includes local="no">iomanip</includes>
    <includes local="no">iostream</includes>
    <includes local="no">thread</includes>
    <includes refid="version_8h" local="yes">./version.h</includes>
    <includes local="no">string</includes>
    <includes local="no">csignal</includes>
    <includedby refid="fastdprov_8h" local="yes">/Users/classner/git/forpy/include/forpy/data_providers/fastdprov.h</includedby>
    <includedby refid="checks_8h" local="yes">/Users/classner/git/forpy/include/forpy/util/checks.h</includedby>
    <includedby refid="idataprovider_8h" local="yes">/Users/classner/git/forpy/include/forpy/data_providers/idataprovider.h</includedby>
    <includedby refid="fastdecider_8h" local="yes">/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h</includedby>
    <includedby refid="desk_8h" local="yes">/Users/classner/git/forpy/include/forpy/util/desk.h</includedby>
    <includedby refid="idecider_8h" local="yes">/Users/classner/git/forpy/include/forpy/deciders/idecider.h</includedby>
    <includedby refid="ithreshopt_8h" local="yes">/Users/classner/git/forpy/include/forpy/threshold_optimizers/ithreshopt.h</includedby>
    <includedby refid="forest_8h" local="yes">/Users/classner/git/forpy/include/forpy/forest.h</includedby>
    <includedby refid="classificationleaf_8h" local="yes">/Users/classner/git/forpy/include/forpy/leafs/classificationleaf.h</includedby>
    <includedby refid="ileaf_8h" local="yes">/Users/classner/git/forpy/include/forpy/leafs/ileaf.h</includedby>
    <includedby refid="fastclassopt_8h" local="yes">/Users/classner/git/forpy/include/forpy/threshold_optimizers/fastclassopt.h</includedby>
    <includedby refid="ientropyfunction_8h" local="yes">/Users/classner/git/forpy/include/forpy/impurities/ientropyfunction.h</includedby>
    <includedby refid="shannonentropy_8h" local="yes">/Users/classner/git/forpy/include/forpy/impurities/shannonentropy.h</includedby>
    <includedby refid="exponentials_8h" local="yes">/Users/classner/git/forpy/include/forpy/util/exponentials.h</includedby>
    <includedby refid="classification__opt_8h" local="yes">/Users/classner/git/forpy/include/forpy/threshold_optimizers/classification_opt.h</includedby>
    <includedby refid="inducedentropy_8h" local="yes">/Users/classner/git/forpy/include/forpy/impurities/inducedentropy.h</includedby>
    <includedby refid="tree_8h" local="yes">/Users/classner/git/forpy/include/forpy/tree.h</includedby>
    <includedby refid="ctpl_8h" local="yes">/Users/classner/git/forpy/include/forpy/util/threading/ctpl.h</includedby>
    <includedby refid="forpy_8h" local="yes">/Users/classner/git/forpy/include/forpy/forpy.h</includedby>
    <includedby refid="igaincalculator_8h" local="yes">/Users/classner/git/forpy/include/forpy/gains/igaincalculator.h</includedby>
    <includedby refid="entropygain_8h" local="yes">/Users/classner/git/forpy/include/forpy/gains/entropygain.h</includedby>
    <includedby refid="classificationerror_8h" local="yes">/Users/classner/git/forpy/include/forpy/impurities/classificationerror.h</includedby>
    <includedby refid="renyientropy_8h" local="yes">/Users/classner/git/forpy/include/forpy/impurities/renyientropy.h</includedby>
    <includedby refid="tsallisentropy_8h" local="yes">/Users/classner/git/forpy/include/forpy/impurities/tsallisentropy.h</includedby>
    <includedby refid="regressionleaf_8h" local="yes">/Users/classner/git/forpy/include/forpy/leafs/regressionleaf.h</includedby>
    <includedby refid="regression__opt_8h" local="yes">/Users/classner/git/forpy/include/forpy/threshold_optimizers/regression_opt.h</includedby>
    <includedby refid="argsort_8h" local="yes">/Users/classner/git/forpy/include/forpy/util/argsort.h</includedby>
    <includedby refid="sampling_8h" local="yes">/Users/classner/git/forpy/include/forpy/util/sampling.h</includedby>
    <incdepgraph>
      <node id="469">
        <label>iomanip</label>
      </node>
      <node id="468">
        <label>glog/logging.h</label>
      </node>
      <node id="473">
        <label>string</label>
      </node>
      <node id="472">
        <label>./version.h</label>
        <link refid="version_8h"/>
      </node>
      <node id="470">
        <label>iostream</label>
      </node>
      <node id="467">
        <label>/Users/classner/git/forpy/include/forpy/global.h</label>
        <link refid="global_8h"/>
        <childnode refid="468" relation="include">
        </childnode>
        <childnode refid="469" relation="include">
        </childnode>
        <childnode refid="470" relation="include">
        </childnode>
        <childnode refid="471" relation="include">
        </childnode>
        <childnode refid="472" relation="include">
        </childnode>
        <childnode refid="473" relation="include">
        </childnode>
        <childnode refid="474" relation="include">
        </childnode>
      </node>
      <node id="474">
        <label>csignal</label>
      </node>
      <node id="471">
        <label>thread</label>
      </node>
    </incdepgraph>
    <invincdepgraph>
      <node id="481">
        <label>/Users/classner/git/forpy/include/forpy/util/checks.h</label>
        <link refid="checks_8h"/>
        <childnode refid="476" relation="include">
        </childnode>
        <childnode refid="482" relation="include">
        </childnode>
        <childnode refid="490" relation="include">
        </childnode>
        <childnode refid="485" relation="include">
        </childnode>
        <childnode refid="489" relation="include">
        </childnode>
        <childnode refid="487" relation="include">
        </childnode>
        <childnode refid="492" relation="include">
        </childnode>
      </node>
      <node id="498">
        <label>/Users/classner/git/forpy/include/forpy/threshold_optimizers/ithreshopt.h</label>
        <link refid="ithreshopt_8h"/>
        <childnode refid="495" relation="include">
        </childnode>
        <childnode refid="499" relation="include">
        </childnode>
        <childnode refid="491" relation="include">
        </childnode>
        <childnode refid="483" relation="include">
        </childnode>
        <childnode refid="484" relation="include">
        </childnode>
        <childnode refid="501" relation="include">
        </childnode>
      </node>
      <node id="485">
        <label>/Users/classner/git/forpy/include/forpy/impurities/renyientropy.h</label>
        <link refid="renyientropy_8h"/>
        <childnode refid="486" relation="include">
        </childnode>
      </node>
      <node id="487">
        <label>/Users/classner/git/forpy/include/forpy/gains/entropygain.h</label>
        <link refid="entropygain_8h"/>
        <childnode refid="488" relation="include">
        </childnode>
      </node>
      <node id="491">
        <label>/Users/classner/git/forpy/include/forpy/threshold_optimizers/classification_opt.h</label>
        <link refid="classification__opt_8h"/>
        <childnode refid="483" relation="include">
        </childnode>
        <childnode refid="484" relation="include">
        </childnode>
      </node>
      <node id="505">
        <label>/Users/classner/git/forpy/include/forpy/impurities/classificationerror.h</label>
        <link refid="classificationerror_8h"/>
        <childnode refid="486" relation="include">
        </childnode>
        <childnode refid="485" relation="include">
        </childnode>
      </node>
      <node id="478">
        <label>/Users/classner/git/forpy/include/forpy/forpy.h</label>
        <link refid="forpy_8h"/>
      </node>
      <node id="476">
        <label>/Users/classner/git/forpy/include/forpy/data_providers/fastdprov.h</label>
        <link refid="fastdprov_8h"/>
        <childnode refid="477" relation="include">
        </childnode>
        <childnode refid="479" relation="include">
        </childnode>
      </node>
      <node id="497">
        <label>/Users/classner/git/forpy/include/forpy/deciders/deciders.h</label>
        <link refid="deciders_8h"/>
        <childnode refid="478" relation="include">
        </childnode>
      </node>
      <node id="493">
        <label>/Users/classner/git/forpy/include/forpy/leafs/leafs.h</label>
        <link refid="leafs_8h"/>
        <childnode refid="478" relation="include">
        </childnode>
      </node>
      <node id="488">
        <label>/Users/classner/git/forpy/include/forpy/gains/gains.h</label>
        <link refid="gains_8h"/>
        <childnode refid="478" relation="include">
        </childnode>
      </node>
      <node id="495">
        <label>/Users/classner/git/forpy/include/forpy/deciders/idecider.h</label>
        <link refid="idecider_8h"/>
        <childnode refid="496" relation="include">
        </childnode>
        <childnode refid="497" relation="include">
        </childnode>
        <childnode refid="479" relation="include">
        </childnode>
      </node>
      <node id="483">
        <label>/Users/classner/git/forpy/include/forpy/threshold_optimizers/fastclassopt.h</label>
        <link refid="fastclassopt_8h"/>
        <childnode refid="480" relation="include">
        </childnode>
        <childnode refid="484" relation="include">
        </childnode>
      </node>
      <node id="502">
        <label>/Users/classner/git/forpy/include/forpy/util/desk.h</label>
        <link refid="desk_8h"/>
        <childnode refid="496" relation="include">
        </childnode>
        <childnode refid="498" relation="include">
        </childnode>
        <childnode refid="495" relation="include">
        </childnode>
        <childnode refid="483" relation="include">
        </childnode>
        <childnode refid="491" relation="include">
        </childnode>
        <childnode refid="479" relation="include">
        </childnode>
        <childnode refid="503" relation="include">
        </childnode>
        <childnode refid="501" relation="include">
        </childnode>
        <childnode refid="478" relation="include">
        </childnode>
      </node>
      <node id="479">
        <label>/Users/classner/git/forpy/include/forpy/tree.h</label>
        <link refid="tree_8h"/>
        <childnode refid="480" relation="include">
        </childnode>
        <childnode refid="478" relation="include">
        </childnode>
      </node>
      <node id="500">
        <label>/Users/classner/git/forpy/include/forpy/leafs/classificationleaf.h</label>
        <link refid="classificationleaf_8h"/>
        <childnode refid="480" relation="include">
        </childnode>
        <childnode refid="493" relation="include">
        </childnode>
      </node>
      <node id="507">
        <label>/Users/classner/git/forpy/include/forpy/gains/igaincalculator.h</label>
        <link refid="igaincalculator_8h"/>
        <childnode refid="488" relation="include">
        </childnode>
        <childnode refid="487" relation="include">
        </childnode>
      </node>
      <node id="509">
        <label>/Users/classner/git/forpy/include/forpy/util/sampling.h</label>
        <link refid="sampling_8h"/>
      </node>
      <node id="484">
        <label>/Users/classner/git/forpy/include/forpy/threshold_optimizers/threshold_optimizers.h</label>
        <link refid="threshold__optimizers_8h"/>
        <childnode refid="478" relation="include">
        </childnode>
      </node>
      <node id="489">
        <label>/Users/classner/git/forpy/include/forpy/impurities/tsallisentropy.h</label>
        <link refid="tsallisentropy_8h"/>
        <childnode refid="486" relation="include">
        </childnode>
      </node>
      <node id="482">
        <label>/Users/classner/git/forpy/include/forpy/impurities/shannonentropy.h</label>
        <link refid="shannonentropy_8h"/>
        <childnode refid="483" relation="include">
        </childnode>
        <childnode refid="485" relation="include">
        </childnode>
        <childnode refid="486" relation="include">
        </childnode>
        <childnode refid="489" relation="include">
        </childnode>
      </node>
      <node id="501">
        <label>/Users/classner/git/forpy/include/forpy/threshold_optimizers/regression_opt.h</label>
        <link refid="regression__opt_8h"/>
        <childnode refid="484" relation="include">
        </childnode>
      </node>
      <node id="504">
        <label>/Users/classner/git/forpy/include/forpy/impurities/ientropyfunction.h</label>
        <link refid="ientropyfunction_8h"/>
        <childnode refid="483" relation="include">
        </childnode>
        <childnode refid="482" relation="include">
        </childnode>
        <childnode refid="491" relation="include">
        </childnode>
        <childnode refid="490" relation="include">
        </childnode>
        <childnode refid="505" relation="include">
        </childnode>
        <childnode refid="486" relation="include">
        </childnode>
        <childnode refid="485" relation="include">
        </childnode>
        <childnode refid="489" relation="include">
        </childnode>
        <childnode refid="492" relation="include">
        </childnode>
      </node>
      <node id="486">
        <label>/Users/classner/git/forpy/include/forpy/impurities/impurities.h</label>
        <link refid="impurities_8h"/>
        <childnode refid="487" relation="include">
        </childnode>
        <childnode refid="478" relation="include">
        </childnode>
      </node>
      <node id="492">
        <label>/Users/classner/git/forpy/include/forpy/leafs/regressionleaf.h</label>
        <link refid="regressionleaf_8h"/>
        <childnode refid="493" relation="include">
        </childnode>
      </node>
      <node id="480">
        <label>/Users/classner/git/forpy/include/forpy/forest.h</label>
        <link refid="forest_8h"/>
        <childnode refid="478" relation="include">
        </childnode>
      </node>
      <node id="494">
        <label>/Users/classner/git/forpy/include/forpy/data_providers/idataprovider.h</label>
        <link refid="idataprovider_8h"/>
        <childnode refid="476" relation="include">
        </childnode>
        <childnode refid="477" relation="include">
        </childnode>
        <childnode refid="495" relation="include">
        </childnode>
        <childnode refid="498" relation="include">
        </childnode>
        <childnode refid="480" relation="include">
        </childnode>
        <childnode refid="500" relation="include">
        </childnode>
        <childnode refid="499" relation="include">
        </childnode>
        <childnode refid="479" relation="include">
        </childnode>
        <childnode refid="492" relation="include">
        </childnode>
      </node>
      <node id="477">
        <label>/Users/classner/git/forpy/include/forpy/data_providers/data_providers.h</label>
        <link refid="data__providers_8h"/>
        <childnode refid="478" relation="include">
        </childnode>
      </node>
      <node id="506">
        <label>/Users/classner/git/forpy/include/forpy/util/exponentials.h</label>
        <link refid="exponentials_8h"/>
        <childnode refid="482" relation="include">
        </childnode>
        <childnode refid="490" relation="include">
        </childnode>
        <childnode refid="505" relation="include">
        </childnode>
        <childnode refid="485" relation="include">
        </childnode>
        <childnode refid="489" relation="include">
        </childnode>
      </node>
      <node id="490">
        <label>/Users/classner/git/forpy/include/forpy/impurities/inducedentropy.h</label>
        <link refid="inducedentropy_8h"/>
        <childnode refid="491" relation="include">
        </childnode>
        <childnode refid="486" relation="include">
        </childnode>
        <childnode refid="485" relation="include">
        </childnode>
        <childnode refid="489" relation="include">
        </childnode>
      </node>
      <node id="475">
        <label>/Users/classner/git/forpy/include/forpy/global.h</label>
        <link refid="global_8h"/>
        <childnode refid="476" relation="include">
        </childnode>
        <childnode refid="481" relation="include">
        </childnode>
        <childnode refid="494" relation="include">
        </childnode>
        <childnode refid="496" relation="include">
        </childnode>
        <childnode refid="502" relation="include">
        </childnode>
        <childnode refid="495" relation="include">
        </childnode>
        <childnode refid="498" relation="include">
        </childnode>
        <childnode refid="480" relation="include">
        </childnode>
        <childnode refid="500" relation="include">
        </childnode>
        <childnode refid="499" relation="include">
        </childnode>
        <childnode refid="483" relation="include">
        </childnode>
        <childnode refid="504" relation="include">
        </childnode>
        <childnode refid="482" relation="include">
        </childnode>
        <childnode refid="506" relation="include">
        </childnode>
        <childnode refid="491" relation="include">
        </childnode>
        <childnode refid="490" relation="include">
        </childnode>
        <childnode refid="479" relation="include">
        </childnode>
        <childnode refid="503" relation="include">
        </childnode>
        <childnode refid="478" relation="include">
        </childnode>
        <childnode refid="507" relation="include">
        </childnode>
        <childnode refid="487" relation="include">
        </childnode>
        <childnode refid="505" relation="include">
        </childnode>
        <childnode refid="485" relation="include">
        </childnode>
        <childnode refid="489" relation="include">
        </childnode>
        <childnode refid="492" relation="include">
        </childnode>
        <childnode refid="501" relation="include">
        </childnode>
        <childnode refid="508" relation="include">
        </childnode>
        <childnode refid="509" relation="include">
        </childnode>
      </node>
      <node id="499">
        <label>/Users/classner/git/forpy/include/forpy/leafs/ileaf.h</label>
        <link refid="ileaf_8h"/>
        <childnode refid="500" relation="include">
        </childnode>
        <childnode refid="479" relation="include">
        </childnode>
        <childnode refid="493" relation="include">
        </childnode>
        <childnode refid="492" relation="include">
        </childnode>
      </node>
      <node id="508">
        <label>/Users/classner/git/forpy/include/forpy/util/argsort.h</label>
        <link refid="argsort_8h"/>
      </node>
      <node id="496">
        <label>/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h</label>
        <link refid="fastdecider_8h"/>
        <childnode refid="497" relation="include">
        </childnode>
        <childnode refid="480" relation="include">
        </childnode>
      </node>
      <node id="503">
        <label>/Users/classner/git/forpy/include/forpy/util/threading/ctpl.h</label>
        <link refid="ctpl_8h"/>
        <childnode refid="480" relation="include">
        </childnode>
      </node>
    </invincdepgraph>
    <innerclass refid="classforpy_1_1_forpy_exception" prot="public">forpy::ForpyException</innerclass>
    <innerclass refid="classforpy_1_1_empty_exception" prot="public">forpy::EmptyException</innerclass>
    <innernamespace refid="namespaceforpy">forpy</innernamespace>
      <sectiondef kind="define">
      <memberdef kind="define" id="global_8h_1a2f8173082a4fc8f4e81a11e2fd6137fc" prot="public" static="no">
        <name>FORPY_GLOBAL_H_</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="4" column="9" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="4" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="global_8h_1a287409078f3b1637bf3eff5bb81ef767" prot="public" static="no">
        <name>VIRTUAL</name>
        <param><defname>type</defname></param>
        <initializer>= 0</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="31" column="9" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="31" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="global_8h_1a5c7a27f283386207b288032797b11011" prot="public" static="no">
        <name>VIRTUAL_VOID</name>
        <initializer>= 0</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="32" column="9" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="32" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="global_8h_1aaa10329820a5fea78247d9e92ba8928b" prot="public" static="no">
        <name>VIRTUAL_PTR</name>
        <initializer>= 0</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="33" column="9" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="33" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="global_8h_1ad8781f7ea14938025ead4f6d6d9a6705" prot="public" static="no">
        <name>NOASSIGN_BUT_MOVE</name>
        <param><defname>TypeName</defname></param>
        <initializer>TypeName(const TypeName&amp;) = delete;            \
  TypeName&amp; operator=(const TypeName&amp;) = delete; \
  TypeName(TypeName&amp;&amp;) = default;                \
  TypeName&amp; operator=(TypeName&amp;&amp;) = default;</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>A macro to disallow the copy constructor and operator= functions This should be used in the private: declarations for a class see <ulink url="http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml">http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml</ulink>. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="54" column="9" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="54" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="global_8h_1a4b12f676fb7eefe0dbeff4303c407932" prot="public" static="no">
        <name>MOVE_ASSIGN</name>
        <param><defname>TypeName</defname></param>
        <initializer>TypeName(TypeName&amp;&amp;) = default; \
  TypeName&amp; operator=(TypeName&amp;&amp;) = default;</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="60" column="9" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="60" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="global_8h_1af8df3547bfde53a5acb93e2607b0034a" prot="public" static="no">
        <name>DISALLOW_COPY_AND_ASSIGN</name>
        <param><defname>TypeName</defname></param>
        <initializer>TypeName(const TypeName&amp;);               \
  TypeName&amp; operator=(const TypeName&amp;);</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="64" column="9" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="64" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="global_8h_1a337fdcea4c5d61894afbf1ec63e0b710" prot="public" static="no">
        <name>FBREAKP</name>
        <initializer>std::raise(SIGINT)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="114" column="11" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="114" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="global_8h_1a7fbe72e39fae18e8a67a0cb688afd4be" prot="public" static="no">
        <name>FASSERT</name>
        <param><defname>condition</defname></param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="124" column="10" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="124" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="global_8h_1af83a0ad9d707a0bc5fe281b6e5c358a1" prot="public" static="no">
        <name>DllExport</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="129" column="9" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="129" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="global_8h_1afa4aea532a54605199eab51bbbc6439f" prot="public" static="no">
        <name>TemplateExport</name>
        <initializer>extern template class</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="141" column="10" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="141" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="global_8h_1a4d002eecfa9a4136f5cc473c02f06121" prot="public" static="no">
        <name>TemplateFuncExport</name>
        <initializer>extern template</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="142" column="9" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="142" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="global_8h_1ae3a42ad01eefbe4b09a4e37e2fafdacc" prot="public" static="no">
        <name>ExportVar</name>
        <initializer>extern</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="143" column="9" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="143" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="global_8h_1aff875062104f1676411c5f9ae67d6354" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>bool</type>
        <definition>bool ends_with</definition>
        <argsstring>(std::string const &amp;value, std::string const &amp;ending)</argsstring>
        <name>ends_with</name>
        <param>
          <type>std::string const &amp;</type>
          <declname>value</declname>
        </param>
        <param>
          <type>std::string const &amp;</type>
          <declname>ending</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="23" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="23" bodyend="26"/>
      </memberdef>
      <memberdef kind="function" id="global_8h_1a1f24c05b0332ac31f23fb94ce5d305c8" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool</type>
        <definition>static bool FORPY_OPENCV_AVAILABLE</definition>
        <argsstring>()</argsstring>
        <name>FORPY_OPENCV_AVAILABLE</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/global.h" line="151" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/global.h" bodystart="151" bodyend="151"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <programlisting>
<codeline lineno="1"><highlight class="comment">/*<sp/>Author:<sp/>Christoph<sp/>Lassner.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight><highlight class="preprocessor">#pragma<sp/>once</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>FORPY_GLOBAL_H_</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4" refid="global_8h_1a2f8173082a4fc8f4e81a11e2fd6137fc" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FORPY_GLOBAL_H_</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5"><highlight class="normal"></highlight></codeline>
<codeline lineno="6"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;glog/logging.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="7"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;iomanip&gt;</highlight><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>std::setprecision</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="8"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;iostream&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="9"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;thread&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="10"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="version_8h" kindref="compound">./version.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="11"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>WITHGPERFTOOLS</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="12"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;gperftools/profiler.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="13"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="14"><highlight class="normal"></highlight></codeline>
<codeline lineno="15"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>!(defined<sp/>NDEBUG)<sp/>&amp;&amp;<sp/>defined(_MSC_VER)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="16"><highlight class="normal"></highlight><highlight class="comment">//<sp/>Solve<sp/>a<sp/>MSVC<sp/>specific<sp/>name<sp/>clash<sp/>between<sp/>WinDef.h<sp/>and<sp/>&lt;algorithm&gt;<sp/>:(</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="17"><highlight class="normal"></highlight><highlight class="comment">//<sp/>See<sp/>http://www.suodenjoki.dk/us/archive/2010/min-max.htm.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="18"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NOMINMAX</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;Windows.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="20"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="21"><highlight class="normal"></highlight></codeline>
<codeline lineno="22"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;string&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="23" refid="global_8h_1aff875062104f1676411c5f9ae67d6354" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="global_8h_1aff875062104f1676411c5f9ae67d6354" kindref="member">ends_with</ref>(std::string<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">&amp;<sp/>value,<sp/>std::string<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">&amp;<sp/>ending)<sp/>{</highlight></codeline>
<codeline lineno="24"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ending.size()<sp/>&gt;<sp/>value.size())<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="25"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>std::equal(ending.rbegin(),<sp/>ending.rend(),<sp/>value.rbegin());</highlight></codeline>
<codeline lineno="26"><highlight class="normal">}</highlight></codeline>
<codeline lineno="27"><highlight class="normal"></highlight></codeline>
<codeline lineno="28"><highlight class="normal"></highlight><highlight class="comment">//<sp/>A<sp/>define<sp/>that<sp/>makes<sp/>it<sp/>easier<sp/>to<sp/>find<sp/>forbidden<sp/>calls<sp/>to<sp/>pure<sp/>virtual</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="29"><highlight class="normal"></highlight><highlight class="comment">//<sp/>functions<sp/>in<sp/>debugging<sp/>mode.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="30"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>defined(NDEBUG)<sp/>||<sp/>!defined(_MSC_VER)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="31" refid="global_8h_1a287409078f3b1637bf3eff5bb81ef767" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VIRTUAL(type)<sp/>=<sp/>0</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="32" refid="global_8h_1a5c7a27f283386207b288032797b11011" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VIRTUAL_VOID<sp/>=<sp/>0</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="33" refid="global_8h_1aaa10329820a5fea78247d9e92ba8928b" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VIRTUAL_PTR<sp/>=<sp/>0</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="34"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="35"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VIRTUAL(type)<sp/>\</highlight></codeline>
<codeline lineno="36"><highlight class="preprocessor"><sp/><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="37"><highlight class="preprocessor"><sp/><sp/><sp/><sp/>DebugBreak();<sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="38"><highlight class="preprocessor"><sp/><sp/><sp/><sp/>return<sp/>type();<sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="39"><highlight class="preprocessor"><sp/><sp/>}</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="40"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VIRTUAL_VOID<sp/>\</highlight></codeline>
<codeline lineno="41"><highlight class="preprocessor"><sp/><sp/>{<sp/>DebugBreak();<sp/>}</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="42"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VIRTUAL_PTR<sp/>\</highlight></codeline>
<codeline lineno="43"><highlight class="preprocessor"><sp/><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="44"><highlight class="preprocessor"><sp/><sp/><sp/><sp/>DebugBreak();<sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="45"><highlight class="preprocessor"><sp/><sp/><sp/><sp/>return<sp/>nullptr;<sp/>\</highlight></codeline>
<codeline lineno="46"><highlight class="preprocessor"><sp/><sp/>}</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="47"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="48"><highlight class="normal"></highlight></codeline>
<codeline lineno="54" refid="global_8h_1ad8781f7ea14938025ead4f6d6d9a6705" refkind="member"><highlight class="preprocessor">#define<sp/>NOASSIGN_BUT_MOVE(TypeName)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="55"><highlight class="preprocessor"><sp/><sp/>TypeName(const<sp/>TypeName&amp;)<sp/>=<sp/>delete;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="56"><highlight class="preprocessor"><sp/><sp/>TypeName&amp;<sp/>operator=(const<sp/>TypeName&amp;)<sp/>=<sp/>delete;<sp/>\</highlight></codeline>
<codeline lineno="57"><highlight class="preprocessor"><sp/><sp/>TypeName(TypeName&amp;&amp;)<sp/>=<sp/>default;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="58"><highlight class="preprocessor"><sp/><sp/>TypeName&amp;<sp/>operator=(TypeName&amp;&amp;)<sp/>=<sp/>default;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="59"><highlight class="normal"></highlight></codeline>
<codeline lineno="60" refid="global_8h_1a4b12f676fb7eefe0dbeff4303c407932" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MOVE_ASSIGN(TypeName)<sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="61"><highlight class="preprocessor"><sp/><sp/>TypeName(TypeName&amp;&amp;)<sp/>=<sp/>default;<sp/>\</highlight></codeline>
<codeline lineno="62"><highlight class="preprocessor"><sp/><sp/>TypeName&amp;<sp/>operator=(TypeName&amp;&amp;)<sp/>=<sp/>default;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="63"><highlight class="normal"></highlight></codeline>
<codeline lineno="64" refid="global_8h_1af8df3547bfde53a5acb93e2607b0034a" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>DISALLOW_COPY_AND_ASSIGN(TypeName)<sp/>\</highlight></codeline>
<codeline lineno="65"><highlight class="preprocessor"><sp/><sp/>TypeName(const<sp/>TypeName&amp;);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="66"><highlight class="preprocessor"><sp/><sp/>TypeName&amp;<sp/>operator=(const<sp/>TypeName&amp;);</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="67"><highlight class="normal"></highlight></codeline>
<codeline lineno="68"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespaceforpy" kindref="compound">forpy</ref><sp/>{</highlight></codeline>
<codeline lineno="69"><highlight class="normal"></highlight></codeline>
<codeline lineno="70" refid="namespaceforpy_1ad0869d5d34f647e11be98e81e7928af3" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad0869d5d34f647e11be98e81e7928af3" kindref="member">init</ref>()<sp/>{</highlight></codeline>
<codeline lineno="71"><highlight class="normal"><sp/><sp/>google::InitGoogleLogging(</highlight><highlight class="stringliteral">&quot;&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="72"><highlight class="normal"><sp/><sp/>FLAGS_logtostderr<sp/>=<sp/>1;</highlight></codeline>
<codeline lineno="73"><highlight class="normal"><sp/><sp/>LOG(INFO)<sp/>&lt;&lt;<sp/></highlight><highlight class="stringliteral">&quot;forpy<sp/>version<sp/>&quot;</highlight><highlight class="normal"><sp/>&lt;&lt;<sp/>std::setprecision(2)<sp/>&lt;&lt;<sp/>std::fixed</highlight></codeline>
<codeline lineno="74"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>&lt;&lt;<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="keywordtype">float</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="version_8h_1a9f6d63d9bc2b939af4a9f447e6538168" kindref="member">FORPY_LIB_VERSION</ref>())<sp/>/<sp/>100.f</highlight></codeline>
<codeline lineno="75"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>&lt;&lt;<sp/></highlight><highlight class="stringliteral">&quot;<sp/>initialized.&quot;</highlight><highlight class="normal"><sp/>&lt;&lt;<sp/>std::defaultfloat;</highlight></codeline>
<codeline lineno="76"><highlight class="normal"><sp/><sp/>LOG(INFO)<sp/>&lt;&lt;<sp/></highlight><highlight class="stringliteral">&quot;Detected<sp/>support<sp/>for<sp/>&quot;</highlight><highlight class="normal"><sp/>&lt;&lt;<sp/>std::thread::hardware_concurrency()</highlight></codeline>
<codeline lineno="77"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>&lt;&lt;<sp/></highlight><highlight class="stringliteral">&quot;<sp/>hardware<sp/>threads.&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="78"><highlight class="normal">}</highlight></codeline>
<codeline lineno="79"><highlight class="normal"></highlight></codeline>
<codeline lineno="80"><highlight class="normal"></highlight><highlight class="preprocessor">#pragma<sp/>clang<sp/>diagnostic<sp/>push</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="81"><highlight class="normal"></highlight><highlight class="preprocessor">#pragma<sp/>clang<sp/>diagnostic<sp/>ignored<sp/>&quot;-Wunused-variable&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="82" refid="namespaceforpy_1aab44157ec504c17f19f66d7b4192f6d4" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1aab44157ec504c17f19f66d7b4192f6d4" kindref="member">SKLEARN_COMPAT</ref><sp/>=</highlight></codeline>
<codeline lineno="83"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>FORPY_SKLEARN_COMPAT</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="84"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="85"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="86"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="87"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="88"><highlight class="normal"></highlight><highlight class="preprocessor">#pragma<sp/>clang<sp/>diagnostic<sp/>pop</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="89"><highlight class="normal"></highlight></codeline>
<codeline lineno="90"><highlight class="normal"></highlight><highlight class="comment">//<sp/>This<sp/>library&apos;s<sp/>exception<sp/>type.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="91" refid="classforpy_1_1_forpy_exception" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classforpy_1_1_forpy_exception" kindref="compound">ForpyException</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/>std::exception<sp/>{</highlight></codeline>
<codeline lineno="92"><highlight class="normal"><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="93" refid="classforpy_1_1_forpy_exception_1ad0d5f33d1155c00aaab21b81509422db" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">explicit</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_forpy_exception_1ad0d5f33d1155c00aaab21b81509422db" kindref="member">ForpyException</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::string&amp;<sp/><ref refid="classforpy_1_1_forpy_exception_1ad3232c6981b8fdbbcdec7cea0e94d9f2" kindref="member">what</ref>)<sp/>:<sp/><ref refid="classforpy_1_1_forpy_exception_1a80bfe31810f38cfccaef57b4dd1fa54e" kindref="member">whatstr</ref>(<ref refid="classforpy_1_1_forpy_exception_1ad3232c6981b8fdbbcdec7cea0e94d9f2" kindref="member">what</ref>)<sp/>{}</highlight></codeline>
<codeline lineno="94"><highlight class="normal"></highlight></codeline>
<codeline lineno="95" refid="classforpy_1_1_forpy_exception_1ad3232c6981b8fdbbcdec7cea0e94d9f2" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/><ref refid="classforpy_1_1_forpy_exception_1ad3232c6981b8fdbbcdec7cea0e94d9f2" kindref="member">what</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>throw()<sp/>{<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_forpy_exception_1a80bfe31810f38cfccaef57b4dd1fa54e" kindref="member">whatstr</ref>.c_str();<sp/>};</highlight></codeline>
<codeline lineno="96"><highlight class="normal"></highlight></codeline>
<codeline lineno="97" refid="classforpy_1_1_forpy_exception_1aa6d946871a6c69b5fe0080b4febaa5f4" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_forpy_exception_1aa6d946871a6c69b5fe0080b4febaa5f4" kindref="member">~ForpyException</ref>()<sp/>throw(){};</highlight></codeline>
<codeline lineno="98"><highlight class="normal"></highlight></codeline>
<codeline lineno="99"><highlight class="normal"><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="100"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::string<sp/><ref refid="classforpy_1_1_forpy_exception_1a80bfe31810f38cfccaef57b4dd1fa54e" kindref="member">whatstr</ref>;</highlight></codeline>
<codeline lineno="101"><highlight class="normal">};</highlight></codeline>
<codeline lineno="102"><highlight class="normal"></highlight></codeline>
<codeline lineno="103" refid="classforpy_1_1_empty_exception" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classforpy_1_1_empty_exception" kindref="compound">EmptyException</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_forpy_exception" kindref="compound">ForpyException</ref><sp/>{</highlight></codeline>
<codeline lineno="104"><highlight class="normal"><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="105" refid="classforpy_1_1_empty_exception_1a473768edb28cf8c8b0c20abad50db522" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classforpy_1_1_empty_exception_1a473768edb28cf8c8b0c20abad50db522" kindref="member">EmptyException</ref>()<sp/>:<sp/><ref refid="classforpy_1_1_forpy_exception" kindref="compound">ForpyException</ref>(</highlight><highlight class="stringliteral">&quot;Tried<sp/>to<sp/>access<sp/>an<sp/>empty<sp/>variant.&quot;</highlight><highlight class="normal">){};</highlight></codeline>
<codeline lineno="106"><highlight class="normal">};</highlight></codeline>
<codeline lineno="107"><highlight class="normal">}<sp/><sp/></highlight><highlight class="comment">//<sp/>namespace<sp/>forpy</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="108"><highlight class="normal"></highlight></codeline>
<codeline lineno="109"><highlight class="normal"></highlight><highlight class="comment">//<sp/>Debugging<sp/>support.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="110"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>defined<sp/>_MSC_VER</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="111"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FBREAKP<sp/>DebugBreak()</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="112"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="113"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;csignal&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="114" refid="global_8h_1a337fdcea4c5d61894afbf1ec63e0b710" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FBREAKP<sp/>std::raise(SIGINT)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="115"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="116"><highlight class="normal"></highlight></codeline>
<codeline lineno="117"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>defined<sp/>RUNTIME_CHECKS</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="118"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FASSERT(condition)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="119"><highlight class="preprocessor"><sp/><sp/>if<sp/>(!(condition))<sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="120"><highlight class="preprocessor"><sp/><sp/><sp/><sp/>LOG(ERROR)<sp/>&lt;&lt;<sp/>&quot;Assertion<sp/>failed!&quot;;<sp/>\</highlight></codeline>
<codeline lineno="121"><highlight class="preprocessor"><sp/><sp/><sp/><sp/>FBREAKP;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="122"><highlight class="preprocessor"><sp/><sp/>}</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="123"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="124" refid="global_8h_1a7fbe72e39fae18e8a67a0cb688afd4be" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FASSERT(condition)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="125"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="126"><highlight class="normal"></highlight></codeline>
<codeline lineno="127"><highlight class="normal"></highlight><highlight class="comment">//<sp/>Library<sp/>exports.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="128"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>!defined(_MSC_VER)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="129" refid="global_8h_1af83a0ad9d707a0bc5fe281b6e5c358a1" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>DllExport</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="130"><highlight class="normal"></highlight><highlight class="preprocessor">#elif<sp/>__BUILD_FORPY_LIBRARY</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="131"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>DllExport<sp/>__declspec(dllexport)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="132"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="133"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>DllExport<sp/>__declspec(dllimport)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="134"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="135"><highlight class="normal"></highlight></codeline>
<codeline lineno="136"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>__BUILD_FORPY_LIBRARY</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="137"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>TemplateExport<sp/>template<sp/>class</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="138"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>TemplateFuncExport<sp/>template</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="139"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>ExportVar</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="140"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="141" refid="global_8h_1afa4aea532a54605199eab51bbbc6439f" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>TemplateExport<sp/>extern<sp/>template<sp/>class</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="142" refid="global_8h_1a4d002eecfa9a4136f5cc473c02f06121" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>TemplateFuncExport<sp/>extern<sp/>template</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="143" refid="global_8h_1ae3a42ad01eefbe4b09a4e37e2fafdacc" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>ExportVar<sp/>extern</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="144"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="145"><highlight class="normal"></highlight></codeline>
<codeline lineno="146"><highlight class="normal"></highlight><highlight class="preprocessor">#pragma<sp/>clang<sp/>diagnostic<sp/>push</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="147"><highlight class="normal"></highlight><highlight class="preprocessor">#pragma<sp/>clang<sp/>diagnostic<sp/>ignored<sp/>&quot;-Wunused-function&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="148"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>WITH_OPENCV</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="149"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="global_8h_1a1f24c05b0332ac31f23fb94ce5d305c8" kindref="member">FORPY_OPENCV_AVAILABLE</ref>()<sp/>{<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;<sp/>}</highlight></codeline>
<codeline lineno="150"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="151" refid="global_8h_1a1f24c05b0332ac31f23fb94ce5d305c8" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="global_8h_1a1f24c05b0332ac31f23fb94ce5d305c8" kindref="member">FORPY_OPENCV_AVAILABLE</ref>()<sp/>{<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;<sp/>}</highlight></codeline>
<codeline lineno="152"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="153"><highlight class="normal"></highlight><highlight class="preprocessor">#pragma<sp/>clang<sp/>diagnostic<sp/>pop</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="154"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/><sp/>//<sp/>FORPY_GLOBAL_H_</highlight></codeline>
    </programlisting>
    <location file="/Users/classner/git/forpy/include/forpy/global.h"/>
  </compounddef>
</doxygen>
