# iox::algorithm🔗

## Functions🔗

Name
template <typename T >
constexpr T
max(const T & left)
Returns the maximum gained with operator<() of an arbitrary amount of variables of the same type. Helper function which is required as generic recursive template endpoint.
template <typename T >
constexpr T
max(const T & left, const T & right)
Returns the maximum gained with operator<() of an arbitrary amount of variables of the same type. Helper function which takes two arguments and returns the greater one.
template <typename T ,typename... Targs>
constexpr T
max(const T & left, const T & right, const Targs &... args)
Returns the maximum gained with operator<() of an arbitrary amount of variables of the same type.
template <typename T >
constexpr T
min(const T & left)
Returns the minimum gained with operator<() of an arbitrary amount of variables of the same type. Helper function which is required as generic recursive template endpoint.
template <typename T >
constexpr T
min(const T & left, const T & right)
Returns the minimum gained with operator<() of an arbitrary amount of variables of the same type. Helper function which takes two arguments and returns the smaller one.
template <typename T ,typename... Targs>
constexpr T
min(const T & left, const T & right, const Targs &... args)
Returns the minimum gained with operator<() of an arbitrary amount of variables of the same type.
template <typename T ,typename CompareType >
constexpr bool
doesContainType()
Returns true if T is equal to CompareType, otherwise false.
template <typename T ,typename CompareType ,typename Next ,typename... Remainder>
constexpr bool
doesContainType()
Returns true if T is contained the provided type list.
template <typename T >
constexpr bool
doesContainValue(const T)
Finalizes the recursion of doesContainValue.
template <typename T ,typename... ValueList>
constexpr bool
doesContainValue(const T value, const T firstValueListEntry, const ValueList... remainingValueListEntries)
Returns true if value of T is found in the ValueList, otherwise false.
template <typename Container >
Container
uniqueMergeSortedContainers(const Container & v1, const Container & v2)
Merging two sorted containers so that the result is a sorted container where every element is contained only once.

## Functions Documentation🔗

### function max🔗

``````template <typename T >
constexpr T max(
const T & left
)
``````

Returns the maximum gained with operator<() of an arbitrary amount of variables of the same type. Helper function which is required as generic recursive template endpoint.

Parameters:

• T type which implements operator<()
• left value which should be compared

Return: returns the given argument left

### function max🔗

``````template <typename T >
constexpr T max(
const T & left,
const T & right
)
``````

Returns the maximum gained with operator<() of an arbitrary amount of variables of the same type. Helper function which takes two arguments and returns the greater one.

Parameters:

• T type which implements operator<()
• left value which should be compared
• right value which should be compared

Return: returns the maximum value of the set {left, right}

### function max🔗

``````template <typename T ,
typename... Targs>
constexpr T max(
const T & left,
const T & right,
const Targs &... args
)
``````

Returns the maximum gained with operator<() of an arbitrary amount of variables of the same type.

Parameters:

• T type which implements operator<()
• left value which should be compared
• right value which should be compared
• args... an arbitrary amount of values

Return: returns the maximum value of the set {left, right, args...}

### function min🔗

``````template <typename T >
constexpr T min(
const T & left
)
``````

Returns the minimum gained with operator<() of an arbitrary amount of variables of the same type. Helper function which is required as generic recursive template endpoint.

Parameters:

• T type which implements operator<()
• left value which should be compared

Return: returns the given argument left

### function min🔗

``````template <typename T >
constexpr T min(
const T & left,
const T & right
)
``````

Returns the minimum gained with operator<() of an arbitrary amount of variables of the same type. Helper function which takes two arguments and returns the smaller one.

Parameters:

• T type which implements operator<()
• left value which should be compared
• right value which should be compared

Return: returns the minimum of the set {left, right}

### function min🔗

``````template <typename T ,
typename... Targs>
constexpr T min(
const T & left,
const T & right,
const Targs &... args
)
``````

Returns the minimum gained with operator<() of an arbitrary amount of variables of the same type.

Parameters:

• T type which implements operator<()
• left value which should be compared
• right value which should be compared
• args... an arbitrary amount of values

Return: returns the minimum of the set {left, right, args...}

### function doesContainType🔗

``````template <typename T ,
typename CompareType >
constexpr bool doesContainType()
``````

Returns true if T is equal to CompareType, otherwise false.

Parameters:

• T type to compare to
• CompareType the type to which T is compared

Return: true if the types T and CompareType are equal, otherwise false

### function doesContainType🔗

``````template <typename T ,
typename CompareType ,
typename Next ,
typename... Remainder>
constexpr bool doesContainType()
``````

Returns true if T is contained the provided type list.

Parameters:

• T type to compare to
• CompareTypeNextRemainder the type list in which T should be contained

Return: true if the T is contained in the type list, otherwise false

### function doesContainValue🔗

``````template <typename T >
inline constexpr bool doesContainValue(
const T
)
``````

Finalizes the recursion of doesContainValue.

Parameters:

• T type of the value to check

Return: always false

### function doesContainValue🔗

``````template <typename T ,
typename... ValueList>
inline constexpr bool doesContainValue(
const T value,
const T firstValueListEntry,
const ValueList... remainingValueListEntries
)
``````

Returns true if value of T is found in the ValueList, otherwise false.

Parameters:

• value to look for in the ValueList
• firstValueListEntry is the first variadic argument of ValueList
• remainingValueListEntries are the remaining variadic arguments of ValueList

Template Parameters:

• T type of the value to check
• ValueList is a list of values to check for a specific value

### function uniqueMergeSortedContainers🔗

``````template <typename Container >
Container uniqueMergeSortedContainers(
const Container & v1,
const Container & v2
)
``````

Merging two sorted containers so that the result is a sorted container where every element is contained only once.

Parameters:

• v1 the first sorted input container
• v2 the second sorted input container

Template Parameters:

• Container container type which has to support emplace_back() and size()

Return: sorted container which contains the elements of v1 and v2 and where every element is unique

Updated on 2 April 2022 at 16:37:47 CEST