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