ComplexTemplateClass Class

A class with functions that have complex template signatures. More...

Header: #include <ComplexTemplateClass>

Public Functions

void complexDefaults(SetupHandler setup = SetupHandler(), DoneHandler done = DoneHandler())
void fourParamsWithDefault(First a, Second b, Third c, Fourth d = Fourth())
void threeParams(T t, U u, V v)
Result transformFiltered(Input input, Pred pred)

Detailed Description

This class tests QDoc's ability to render template signatures with many parameters in a readable multi-line format.

Member Function Documentation

template < typename SetupHandler = ComplexTemplateClass, typename DoneHandler = ComplexTemplateClass, typename ErrorHandler = ComplexTemplateClass > void ComplexTemplateClass::complexDefaults(SetupHandler setup = SetupHandler(), DoneHandler done = DoneHandler())

Configures setup and done handlers.

This has template parameters with very long default type names.

template < typename First, typename Second, typename Third, typename Fourth = int > void ComplexTemplateClass::fourParamsWithDefault(First a, Second b, Third c, Fourth d = Fourth())

Processes values a, b, c, and d.

Complex default values make single-line rendering unreadable.

template < typename T, typename U, typename V > void ComplexTemplateClass::threeParams(T t, U u, V v)

Processes values t, u, and v.

This should trigger multi-line rendering since it has more than two template parameters.

template < typename Input, typename Pred, typename Result > requires (sizeof(Input) > 0) Result ComplexTemplateClass::transformFiltered(Input input, Pred pred)

Transforms input using pred to filter and returns Result.

Tests multi-line template rendering combined with a requires clause. The requires clause should appear after the closing '>' on the same line.