<?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.15.0" xml:lang="en-US">
  <compounddef id="template__function_8h" kind="file" language="C++">
    <compoundname>template_function.h</compoundname>
    <includes local="no">string</includes>
    <incdepgraph>
      <node id="1">
        <label>template_function.h</label>
        <link refid="template__function_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="2">
        <label>string</label>
      </node>
    </incdepgraph>
    <sectiondef kind="func">
      <memberdef kind="function" id="template__function_8h_1a9da1727b8046a59736818a824009cb8c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <templateparamlist>
          <param>
            <type>typename T</type>
          </param>
        </templateparamlist>
        <type>T</type>
        <definition>T function1</definition>
        <argsstring>(T arg1)</argsstring>
        <name>function1</name>
        <param>
          <type>T</type>
          <declname>arg1</declname>
        </param>
        <briefdescription>
<para>a function with one template arguments </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="templateparam"><parameteritem>
<parameternamelist>
<parametername>T</parametername>
</parameternamelist>
<parameterdescription>
<para>this is the template parameter</para>
</parameterdescription>
</parameteritem>
</parameterlist>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>arg1</parametername>
</parameternamelist>
<parameterdescription>
<para>argument of type T</para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>return value of type T </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="template_function.h" line="13" column="3" bodyfile="template_function.h" bodystart="13" bodyend="14"/>
      </memberdef>
      <memberdef kind="function" id="template__function_8h_1acf340db71f87fe729bc370959fdc340e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <templateparamlist>
        </templateparamlist>
        <type>std::string</type>
        <definition>std::string function1&lt; std::string &gt;</definition>
        <argsstring>(std::string arg1)</argsstring>
        <name>function1&lt; std::string &gt;</name>
        <param>
          <type>std::string</type>
          <declname>arg1</declname>
        </param>
        <briefdescription>
<para>a function with one template argument specialized for <computeroutput>std::string</computeroutput> </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>arg1</parametername>
</parameternamelist>
<parameterdescription>
<para>argument of type <computeroutput>std::string</computeroutput></para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>return value of type <computeroutput>std::string</computeroutput> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="template_function.h" line="25" column="1" bodyfile="template_function.h" bodystart="25" bodyend="26"/>
      </memberdef>
      <memberdef kind="function" id="template__function_8h_1accd88897868268c91746c58331ab78ec" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <templateparamlist>
          <param>
            <type>typename T</type>
          </param>
          <param>
            <type>typename U</type>
          </param>
          <param>
            <type>int</type>
            <declname>N</declname>
            <defname>N</defname>
          </param>
        </templateparamlist>
        <type>T</type>
        <definition>T function2</definition>
        <argsstring>(T arg1, U arg2)</argsstring>
        <name>function2</name>
        <param>
          <type>T</type>
          <declname>arg1</declname>
        </param>
        <param>
          <type>U</type>
          <declname>arg2</declname>
        </param>
        <briefdescription>
<para>a function with three template arguments </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="templateparam"><parameteritem>
<parameternamelist>
<parametername>T</parametername>
</parameternamelist>
<parameterdescription>
<para>this is the first template parameter </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>U</parametername>
</parameternamelist>
<parameterdescription>
<para>this is the second template parameter </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>N</parametername>
</parameternamelist>
<parameterdescription>
<para>this is the third template parameter, it is a non-type parameter</para>
</parameterdescription>
</parameteritem>
</parameterlist>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>arg1</parametername>
</parameternamelist>
<parameterdescription>
<para>first argument of type T </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>arg2</parametername>
</parameternamelist>
<parameterdescription>
<para>second argument of type U</para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>return value of type T </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="template_function.h" line="42" column="3" bodyfile="template_function.h" bodystart="42" bodyend="43"/>
      </memberdef>
    </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <programlisting>
<codeline lineno="1"><highlight class="preprocessor">#include<sp/>&lt;string&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight></codeline>
<codeline lineno="12"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T&gt;</highlight></codeline>
<codeline lineno="13"><highlight class="normal">T<sp/>function1(T<sp/>arg1)</highlight></codeline>
<codeline lineno="14"><highlight class="normal">{}</highlight></codeline>
<codeline lineno="15"><highlight class="normal"></highlight></codeline>
<codeline lineno="16"><highlight class="normal"></highlight></codeline>
<codeline lineno="24"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;&gt;</highlight></codeline>
<codeline lineno="25"><highlight class="normal">std::string<sp/>function1&lt;std::string&gt;(std::string<sp/>arg1)</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></codeline>
<codeline lineno="41"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>U,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>N&gt;</highlight></codeline>
<codeline lineno="42"><highlight class="normal">T<sp/>function2(T<sp/>arg1,<sp/>U<sp/>arg2)</highlight></codeline>
<codeline lineno="43"><highlight class="normal">{}</highlight></codeline>
    </programlisting>
    <location file="template_function.h"/>
  </compounddef>
</doxygen>
