# cxxFunctionTemplateParameters

Collects together the template parameters for template functions.

## Description

Collects together the template parameters for template functions.

See ISO/IEC 14882:2003(E) 14.1 Template parameters [temp.param]

## Example

Given this code:

    /**
     @tparam T The type of the first function object.
     @tparam U The type of the second function object.
     @return 1 on success, 0 on failure.
     */
    template<typename T, typename U>
    int templateFunction(T& x, U& y)
    {
    }

Then function `templateFunction` would have the `cxxFunctionTemplateParameters` element:

    <cxxFunctionTemplateParameters>
      <cxxFunctionTemplateParameter>
        <cxxFunctionTemplateParameterType>typename T</cxxFunctionTemplateParameterType>
        <apiDefNote>The type of the first function object. </apiDefNote>
      </cxxFunctionTemplateParameter>
      <cxxFunctionTemplateParameter>
        <cxxFunctionTemplateParameterType>typename U</cxxFunctionTemplateParameterType>
        <apiDefNote>The type of the second function object. </apiDefNote>
      </cxxFunctionTemplateParameter>
    </cxxFunctionTemplateParameters>

If the mandatory attributes are present they must be set thus:

    <cxxFunctionStorageClassSpecifierExtern name="extern" value="extern"/>

## Contained by

cxxFunctionDefinition

## Contains

cxxFunctionTemplateParameter

## Content Model

cxxFunctionTemplateParameter (at least 1)

## Inheritance

topic/ph reference/ph apiRef/apiDefItem apiOperation/apiDefItem cxxFunction/cxxFunctionTemplateParameters

Parent topic: cxxFunction module