Template

Breathe has support for class and function templates. They are output as follows. For a class with a single template parameter:

.. doxygenclass:: templateclass
   :project: template_class
   :members:

It renders as:


template <typename T>
class templateclass

a class with a template parameter

Template Parameters
  • T -

    this is the template parameter

Public Functions

templateclass()

default constructor

templateclass(T const &m)

constructor with template argument

Parameters
  • m -

    the argument

T method(T const &t)

member accepting template argument and returning template argument

Return
returns value of type T
Parameters
  • t -

    argument of type T


With multiple template parameters it renders as:


template <typename T, typename U, int N>
class anothertemplateclass

a class with three template parameters

Template Parameters
  • T -

    this is the first template parameter

  • U -

    this is the second template parameter

  • N -

    this is the third template parameter, it is a non-type parameter

Public Functions

anothertemplateclass()

default constructor

anothertemplateclass(T const &m1, U const &m2)

constructor with two template argument

Parameters
  • m1 -

    first argument

  • m2 -

    second argument

U method(T const &t)

member accepting template argument and returning template argument

Return
returns value of type U
Parameters
  • t -

    argument


A function with single template parameter renders as:


template <typename T>
T function1(T arg1)

a function with one template arguments

Return
return value of type T
Template Parameters
  • T -

    this is the template parameter

Parameters
  • arg1 -

    argument of type T


With multiple template parameters it renders as:


template <typename T, typename U, int N>
T function2(T arg1, U arg2)

a function with three template arguments

Return
return value of type T
Template Parameters
  • T -

    this is the first template parameter

  • U -

    this is the second template parameter

  • N -

    this is the third template parameter, it is a non-type parameter

Parameters
  • arg1 -

    first argument of type T

  • arg2 -

    second argument of type U