Specific Examples Test Suite

Template Type Alias

template<typename T, typename U, int N>
using IsFurry = std::is_furry<T, U, N>

a type alias with three template arguments

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

template<typename T>
using IsFuzzy = std::is_fuzzy<T>

a type alias with one template argument

Template Parameters

T – this is the template parameter

Typedef Examples

class TestClass

Public Types

typedef void *MemberTypedef

A typedef defined in a class.

typedef void (*MemberTypedefFuncPointer)(int, double)
class TypeDefTest
namespace testnamespace

Typedefs

typedef char *AnotherTypedef
file typedef.h

Typedefs

typedef TypeDefTest (*TypeDefTestFuncPtr)(void)
typedef void *(*voidFuncPtr)(float, int)
typedef void *voidPointer
typedef float *floatPointer
typedef float floatingPointNumber
typedef int TestTypedef
using TypeAlias = int

Namespaced Function Examples

virtual void testnamespace::NamespacedClassTest::function() const = 0

namespaced class function

inline void testnamespace::ClassTest::function()

second namespaced class function

inline void testnamespace::ClassTest::anotherFunction()

second namespaced class other function

void ClassTest::function(int myParameter)

non-namespaced class function

More details in the header file.

More documentation in the impl file

void ClassTest::anotherFunction()

non-namespaced class other function

More documentation in the impl file

template<typename T>
void f0()
template<>
void f0<std::string>()
template<typename T>
void NS1::f1()
template<>
void NS1::f1<std::string>()
template<typename T>
void NS1::NS2::f2()
template<>
void NS1::NS2::f2<std::string>()

Extern Examples

int cache_tree_matches_traversal(struct cache_tree*, struct name_entry *ent, struct traverse_info *info)
struct cache_tree global_cache_tree

Shared cache tree instance.

Alias Example

void frob_foos(void *Frobs)

Foo frob routine.

bob this something else

Side Effects\n Frobs any foos.

bob this something else

Side Effects\n Frobs any foos.

Parameters
  • Frobs – any foos.

Returns

Frobs any foos.

Fixed Width Font

class Out

Public Functions

inline Out()

Constructor for Out object

inline ~Out()

Destructor for Out object

Function Overloads

void f(int, int)

Function which takes two int arguments.

void f(double, double)

Function which takes two double arguments.

void test::g(int, int)

Another function which takes two int arguments.

void test::g(double, double)

Another function which takes two double arguments.

void h(std::string, MyType)

Another function which takes a custom type.

void h(std::string, MyOtherType o)

Another function which takes another custom type.

void h(std::string, const int myint)

Another function which takes a const basic type.

template<typename T, typename U>
void h(std::string, const T m, const U n)

Another function which takes a const basic type.

Program Listing

class Vector

Vector class

Vector center() const

The center of the InteractionBox in device coordinates (millimeters). This point is equidistant from all sides of the box.

Vector boxCenter = interactionBox.center();
Vector max = interactionBox.max();
Vector diff = max - boxCenter;

Since

1.0

Returns

The InteractionBox center in device coordinates.

Image

class ImageClass : public Image

This is a class with an image in the description.

It renders like this:

../_images/imageExample.png

Breathe & Sphinx should automatically copy the image from the doxygen output directory into the _images folder of the Sphinx output.

Array Parameter

int foo(int a[5])

My function.

int bar(int n, int a[static n])

My other function.

C Struct

struct ACStruct

Public Members

int i
struct ANestedStruct

Public Members

int i

C Union

union ACUnion

Public Members

int i

C Enum

enum GSM_BackupFormat

Backup data.

Values:

enumerator GSM_Backup_Auto

Compatibility with old gboolean used instead of format.

File type is guessed for extension, non unicode format used for Gammu backup.

enumerator GSM_Backup_AutoUnicode

Compatibility with old gboolean used instead of format.

File type is guessed for extension, unicode format used for Gammu backup.

enumerator GSM_Backup_LMB

LMB format, compatible with Logo manager, can store phonebooks and logos.

enumerator GSM_Backup_VCalendar

vCalendar standard, can store todo and calendar entries.

enumerator GSM_Backup_VCard

vCard standard, can store phone phonebook entries.

enumerator GSM_Backup_LDIF

LDIF (LDAP Data Interchange Format), can store phone phonebook entries.

enumerator GSM_Backup_ICS

iCalendar standard, can store todo and calendar entries.

enumerator GSM_Backup_Gammu

Gammu own format can store almost anything from phone.

This is ASCII version of the format, Unicode strings are HEX encoded. Use GSM_Backup_GammuUCS2 instead if possible.

enumerator GSM_Backup_GammuUCS2

Gammu own format can store almost anything from phone.

This is UCS2-BE version of the format.

enumerator GSM_Backup_VNote

vNote standard, can store phone notes.

C Typedef

Typedefs

typedef int (*cTypeDefTestFuncPtr)(void)

Sample typedef for a function pointer.

typedef void *(*cVoidFuncPtr)(float, int)
typedef void *cVoidPointer
typedef float *cFloatPointer
typedef float cFloatingPointNumber
typedef int cTestTypedef

Test for a simple C typedef.

C Macro

Defines

A_C_MACRO
ANOTHER_C_MACRO(name)

C++ Macro

Defines

USE_STUFF

A simple define without a value.

MAX_LENGTH

A define with a simple value.

MAX(A, B)

A define with some parameters.

Parameters
  • A – The parameter A

  • B – The parameter B

Returns

The maximum of A and B

SWAP(A, B)

A define which spans multiple lines.

Multifile

template<TestClass::Enum E>
void TestTemplateFunction()

The non-type template parameter references a different file.

Interface Class

interface InterfaceClass

This is a test interface class.

Some details about the InterfaceClass interface

C++ Anonymous Entities

struct ClassWithAnonEntities

Public Types

enum [anonymous]

Values:

enumerator Enumerator

Public Members

int structMember
struct ClassWithAnonEntities::[anonymous] [anonymous]
int unionMember
union ClassWithAnonEntities::[anonymous] [anonymous]

C++ Union

union Union

Public Members

int i
struct Class
union Union

Public Members

int i

C++ Enums

Enums

enum Unscoped

Values:

enumerator UnscopedEnumerator
enum class ScopedStruct : int

Values:

enumerator Enumerator
enum class ScopedClass : int

Values:

enumerator Enumerator
enum class ScopedClassNoUnderlying

Values:

enumerator Enumerator

C++ Functions

struct Class

Public Functions

virtual void f1() volatile const & = 0
virtual void f2() volatile const && = 0
int f_issue_338() noexcept

Public Members

void (*f_issue_489)(struct Foo *foo, int value)

Public Static Functions

static void f3()

C++ Friend Classes

struct A
struct B
struct C

Friends

friend class A
friend struct B

C++ Inherited Members

class Base
#include <cpp_inherited_members.h>

Base class.

Subclassed by A, B

Public Functions

void f_issue_356()

Base-class member function.

class A : public Base
#include <cpp_inherited_members.h>

Class A.

Public Functions

void f_issue_356()

Base-class member function.

class B : public Base
#include <cpp_inherited_members.h>

Class B.

Public Functions

void f_issue_356()

Base-class member function.

C++ Trailing Return Type

Functions

auto f_issue_441() -> Thingy*

Function that creates a thingy.

C++ Constexpr Handling

Test for issue 717.

Functions

static constexpr auto f1(std::false_type)
static constexpr auto f2(std::false_type)

Variables

static constexpr int v1 = 42
static constexpr int v2 = 42

C++ Function Lookup

void fNoexcept() noexcept
void fFinal() final
void fOverride() override

This one should actually have [[myattr]] but Doxygen seems to not put attributes into the XML:

void fAttr()
void fFInit() = default
auto fTrailing() -> int
void fInit(int arg = 42)
void fPlain(int arg)
void fPtr(int *arg)
void fLRef(int &arg)
void fRRef(int &&arg)
template<typename ...T>
void fParamPack(T... arg)
void fMemPtr(int A::* arg)
void fParen(void (*arg)())
void fParenPlain(void (*arg)(int argInner))

Doxygen xrefsect

A few examples of xrefsect items support.

Functions

int unimplemented(void)

An example of using Doxygen’s todo command.

Todo:

Implement this function.

void buggy_function(int param)

An example of using Doxygen’s bug and test commands.

Bug:

Does not work yet.

Test:

Add proper unit testing first.

void old_function(void)

An example of using Doxygen’s deprecated command.

Deprecated:

Should not be used on new code.

void sample_xrefitem_function(void)

An example of a custom Doxygen xrefitem declared as an ALIAS.

xref Sample:

This text shows up in the xref output.

Doxygen simplesect

Functions

template<typename T1, typename T2>
void f(int a, float b, std::string c)

See also

see, f_raw

See also

sa, f_raw

Remark

remark, 1

Remark

remark, 2

Remark

remarks, 1

Remark

remarks, 2

par, something

Note

note, be careful

Warning

warning, don’t do this

Pre

stuff must be correct

Pre

more stuff must be correct

Post

stuff will be nice

Post

more stuff will be nice

Returns

nothing