<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="../../docutils.css"?>
<document>
    <container classes="breathe-sectiondef" objtype="func">
        <rubric classes="breathe-sectiondef-title">Functions</rubric>
        <index entries="['single',\ 'function1\ (C++\ function)',\ '_CPPv4I0E9function11T1T',\ '',\ None]"></index>
        <desc classes="cpp function" desctype="function" domain="cpp" objtype="function">
            <desc_signature classes="sig sig-object cpp"><desc_signature_line><desc_sig_keyword classes="k">template</desc_sig_keyword><desc_sig_punctuation classes="p">&lt;</desc_sig_punctuation><desc_sig_keyword classes="k">typename</desc_sig_keyword><desc_sig_space classes="w"> </desc_sig_space><desc_name classes="sig-name descname"><desc_sig_name classes="n">T</desc_sig_name></desc_name><desc_sig_punctuation classes="p">&gt;</desc_sig_punctuation></desc_signature_line><desc_signature_line><target></target><reference internal="True" refid="_CPPv4I0E9function11T1T" reftitle="function1::T"><desc_sig_name classes="n">T</desc_sig_name></reference><desc_sig_space classes="w"> </desc_sig_space><desc_name classes="sig-name descname"><desc_sig_name classes="n">function1</desc_sig_name></desc_name><desc_parameterlist><desc_parameter noemph="True"><reference internal="True" refid="_CPPv4I0E9function11T1T" reftitle="function1::T"><desc_sig_name classes="n">T</desc_sig_name></reference><desc_sig_space classes="w"> </desc_sig_space><desc_sig_name classes="n sig-param">arg1</desc_sig_name></desc_parameter></desc_parameterlist></desc_signature_line></desc_signature>
            <desc_content>
                <paragraph>a function with one template arguments </paragraph>
                <field_list>
                    <field>
                        <field_name>Template Parameters</field_name>
                        <field_body>
                            <paragraph><literal_strong>T</literal_strong> – this is the template parameter</paragraph>
                        </field_body>
                    </field>
                    <field>
                        <field_name>Parameters</field_name>
                        <field_body>
                            <paragraph><literal_strong>arg1</literal_strong> – argument of type T</paragraph>
                        </field_body>
                    </field>
                    <field>
                        <field_name>Returns</field_name>
                        <field_body>
                            <paragraph>return value of type T </paragraph>
                        </field_body>
                    </field>
                </field_list>
            </desc_content>
        </desc>
        <index entries="['single',\ 'function1&lt;std::string&gt;\ (C++\ function)',\ '_CPPv4IE9function1INSt6stringEENSt6stringENSt6stringE',\ '',\ None]"></index>
        <desc classes="cpp function" desctype="function" domain="cpp" objtype="function">
            <desc_signature classes="sig sig-object cpp"><desc_signature_line><desc_sig_keyword classes="k">template</desc_sig_keyword><desc_sig_punctuation classes="p">&lt;</desc_sig_punctuation><desc_sig_punctuation classes="p">&gt;</desc_sig_punctuation></desc_signature_line><desc_signature_line><target></target><desc_sig_name classes="n">std</desc_sig_name><desc_sig_punctuation classes="p">::</desc_sig_punctuation><desc_sig_name classes="n">string</desc_sig_name><desc_sig_space classes="w"> </desc_sig_space><desc_name classes="sig-name descname"><desc_sig_name classes="n">function1</desc_sig_name></desc_name><desc_sig_punctuation classes="p">&lt;</desc_sig_punctuation><desc_sig_name classes="n">std</desc_sig_name><desc_sig_punctuation classes="p">::</desc_sig_punctuation><desc_sig_name classes="n">string</desc_sig_name><desc_sig_punctuation classes="p">&gt;</desc_sig_punctuation><desc_parameterlist><desc_parameter noemph="True"><desc_sig_name classes="n">std</desc_sig_name><desc_sig_punctuation classes="p">::</desc_sig_punctuation><desc_sig_name classes="n">string</desc_sig_name><desc_sig_space classes="w"> </desc_sig_space><desc_sig_name classes="n sig-param">arg1</desc_sig_name></desc_parameter></desc_parameterlist></desc_signature_line></desc_signature>
            <desc_content>
                <paragraph>a function with one template argument specialized for <literal>std::string</literal></paragraph>
                <field_list>
                    <field>
                        <field_name>Parameters</field_name>
                        <field_body>
                            <paragraph><literal_strong>arg1</literal_strong> – argument of type <literal>std::string</literal></paragraph>
                        </field_body>
                    </field>
                    <field>
                        <field_name>Returns</field_name>
                        <field_body>
                            <paragraph>return value of type <literal>std::string</literal></paragraph>
                        </field_body>
                    </field>
                </field_list>
            </desc_content>
        </desc>
        <index entries="['single',\ 'function2\ (C++\ function)',\ '_CPPv4I00_iE9function21T1T1U',\ '',\ None]"></index>
        <desc classes="cpp function" desctype="function" domain="cpp" objtype="function">
            <desc_signature classes="sig sig-object cpp"><desc_signature_line><desc_sig_keyword classes="k">template</desc_sig_keyword><desc_sig_punctuation classes="p">&lt;</desc_sig_punctuation><desc_sig_keyword classes="k">typename</desc_sig_keyword><desc_sig_space classes="w"> </desc_sig_space><desc_name classes="sig-name descname"><desc_sig_name classes="n">T</desc_sig_name></desc_name><desc_sig_punctuation classes="p">,</desc_sig_punctuation><desc_sig_space classes="w"> </desc_sig_space><desc_sig_keyword classes="k">typename</desc_sig_keyword><desc_sig_space classes="w"> </desc_sig_space><desc_name classes="sig-name descname"><desc_sig_name classes="n">U</desc_sig_name></desc_name><desc_sig_punctuation classes="p">,</desc_sig_punctuation><desc_sig_space classes="w"> </desc_sig_space><desc_sig_keyword_type classes="kt">int</desc_sig_keyword_type><desc_sig_space classes="w"> </desc_sig_space><desc_name classes="sig-name descname"><desc_sig_name classes="n">N</desc_sig_name></desc_name><desc_sig_punctuation classes="p">&gt;</desc_sig_punctuation></desc_signature_line><desc_signature_line><target></target><reference internal="True" refid="_CPPv4I00_iE9function21T1T1U" reftitle="function2::T"><desc_sig_name classes="n">T</desc_sig_name></reference><desc_sig_space classes="w"> </desc_sig_space><desc_name classes="sig-name descname"><desc_sig_name classes="n">function2</desc_sig_name></desc_name><desc_parameterlist><desc_parameter noemph="True"><reference internal="True" refid="_CPPv4I00_iE9function21T1T1U" reftitle="function2::T"><desc_sig_name classes="n">T</desc_sig_name></reference><desc_sig_space classes="w"> </desc_sig_space><desc_sig_name classes="n sig-param">arg1</desc_sig_name></desc_parameter><desc_parameter noemph="True"><reference internal="True" refid="_CPPv4I00_iE9function21T1T1U" reftitle="function2::U"><desc_sig_name classes="n">U</desc_sig_name></reference><desc_sig_space classes="w"> </desc_sig_space><desc_sig_name classes="n sig-param">arg2</desc_sig_name></desc_parameter></desc_parameterlist></desc_signature_line></desc_signature>
            <desc_content>
                <paragraph>a function with three template arguments </paragraph>
                <field_list>
                    <field>
                        <field_name>Template Parameters</field_name>
                        <field_body>
                            <bullet_list>
                                <list_item>
                                    <paragraph><literal_strong>T</literal_strong> – this is the first template parameter </paragraph>
                                </list_item>
                                <list_item>
                                    <paragraph><literal_strong>U</literal_strong> – this is the second template parameter </paragraph>
                                </list_item>
                                <list_item>
                                    <paragraph><literal_strong>N</literal_strong> – this is the third template parameter, it is a non-type parameter</paragraph>
                                </list_item>
                            </bullet_list>
                        </field_body>
                    </field>
                    <field>
                        <field_name>Parameters</field_name>
                        <field_body>
                            <bullet_list>
                                <list_item>
                                    <paragraph><literal_strong>arg1</literal_strong> – first argument of type T </paragraph>
                                </list_item>
                                <list_item>
                                    <paragraph><literal_strong>arg2</literal_strong> – second argument of type U</paragraph>
                                </list_item>
                            </bullet_list>
                        </field_body>
                    </field>
                    <field>
                        <field_name>Returns</field_name>
                        <field_body>
                            <paragraph>return value of type T </paragraph>
                        </field_body>
                    </field>
                </field_list>
            </desc_content>
        </desc>
        <index entries="['single',\ 'function3\ (C++\ function)',\ '_CPPv4I00_iE9function3vv',\ '',\ None]"></index>
        <desc classes="cpp function" desctype="function" domain="cpp" objtype="function">
            <desc_signature classes="sig sig-object cpp"><desc_signature_line><desc_sig_keyword classes="k">template</desc_sig_keyword><desc_sig_punctuation classes="p">&lt;</desc_sig_punctuation><desc_sig_keyword classes="k">typename</desc_sig_keyword><desc_sig_space classes="w"> </desc_sig_space><desc_name classes="sig-name descname"><desc_sig_name classes="n">T</desc_sig_name></desc_name><desc_sig_space classes="w"> </desc_sig_space><desc_sig_punctuation classes="p">=</desc_sig_punctuation><desc_sig_space classes="w"> </desc_sig_space><desc_sig_keyword_type classes="kt">void</desc_sig_keyword_type><desc_sig_punctuation classes="p">,</desc_sig_punctuation><desc_sig_space classes="w"> </desc_sig_space><desc_sig_keyword classes="k">typename</desc_sig_keyword><desc_sig_punctuation classes="p">,</desc_sig_punctuation><desc_sig_space classes="w"> </desc_sig_space><desc_sig_keyword_type classes="kt">int</desc_sig_keyword_type><desc_sig_punctuation classes="p">&gt;</desc_sig_punctuation></desc_signature_line><desc_signature_line><target></target><desc_sig_keyword_type classes="kt">void</desc_sig_keyword_type><desc_sig_space classes="w"> </desc_sig_space><desc_name classes="sig-name descname"><desc_sig_name classes="n">function3</desc_sig_name></desc_name><desc_parameterlist></desc_parameterlist></desc_signature_line></desc_signature>
            <desc_content>
                <paragraph>a function with unnamed arguments and an argument with a default value </paragraph>
            </desc_content>
        </desc>
    </container>
</document>
