Skip to content

File include/brisk/core/internal/Constants.hpp


constant typedef

template <typename T, T N>
constant = std::integral_constant<T, N>

A template alias for std::integral_constant.

This alias allows defining compile-time constants of any type.
Template param T The type of the constant.
Template param N The value of the constant.


constant = std::integral_constant<T, N>

A template alias for std::integral_constant.

This alias allows defining compile-time constants of any type.
Template param T The type of the constant.
Template param N The value of the constant.


constants typedef

template <typename T, T... N>
constants = std::integer_sequence<T, N...>

A template alias for std::integer_sequence.

This alias allows the creation of sequences of compile-time integers.
Template param T The type of the sequence elements.
Template param N The values of the sequence elements.


constants = std::integer_sequence<T, N...>

A template alias for std::integer_sequence.

This alias allows the creation of sequences of compile-time integers.
Template param T The type of the sequence elements.
Template param N The values of the sequence elements.


sequence typedef

template <typename T, size_t N>
sequence = std::make_integer_sequence<T, N>

A template alias for creating an integer sequence.

This alias uses std::make_integer_sequence to create a sequence of integers.
Template param T The type of the sequence elements.
Template param N The number of elements in the sequence.


sequence = std::make_integer_sequence<T, N>

A template alias for creating an integer sequence.

This alias uses std::make_integer_sequence to create a sequence of integers.
Template param T The type of the sequence elements.
Template param N The number of elements in the sequence.


operator+ function

template <typename T, T... x, T y>
constexpr auto operator+(constants<T, x...>,
                         constant<T, y>) noexcept
    -> constants<T, (x + y)...>

Adds a constant to a sequence of constants.

This operator overload allows the addition of a constant to a sequence of constants.
Param lhs A sequence of constants.
Param rhs A constant to add.
Returns A new sequence of constants resulting from the addition.


operator- function

template <typename T, T... x, T y>
constexpr auto operator-(constants<T, x...>,
                         constant<T, y>) noexcept
    -> constants<T, (x - y)...>

Subtracts a constant from a sequence of constants.

This operator overload allows the subtraction of a constant from a sequence of constants.
Param lhs A sequence of constants.
Param rhs A constant to subtract.
Returns A new sequence of constants resulting from the subtraction.


operator^ function

template <typename T, T... x, T y>
constexpr auto operator^(constants<T, x...>,
                         constant<T, y>) noexcept
    -> constants<T, (x ^ y)...>

Bitwise XORs a constant with a sequence of constants.

This operator overload allows bitwise XOR of a constant with a sequence of constants.
Param lhs A sequence of constants.
Param rhs A constant to XOR.
Returns A new sequence of constants resulting from the bitwise XOR.


operator% function

template <typename T, T... x, T y>
constexpr auto operator%(constants<T, x...>,
                         constant<T, y>) noexcept
    -> constants<T, (x % y)...>

Computes the modulus of a sequence of constants by a constant.

This operator overload allows computing the modulus of a sequence of constants by a constant.
Param lhs A sequence of constants.
Param rhs A constant to compute the modulus with.
Returns A new sequence of constants resulting from the modulus operation.


operator+ function

template <typename T, T x, T... y>
constexpr auto operator+(constant<T, x>,
                         constants<T, y...>) noexcept
    -> constants<T, (x + y)...>

Adds a constant to a sequence of constants (reverse order).

This operator overload allows the addition of a constant to a sequence of constants with the constant on the left-hand side.
Param lhs A constant to add.
Param rhs A sequence of constants.
Returns A new sequence of constants resulting from the addition.


operator- function

template <typename T, T x, T... y>
constexpr auto operator-(constant<T, x>,
                         constants<T, y...>) noexcept
    -> constants<T, (x - y)...>

Subtracts a sequence of constants from a constant (reverse order).

This operator overload allows the subtraction of a sequence of constants from a constant with the constant on the left-hand side.
Param lhs A constant to subtract from.
Param rhs A sequence of constants.
Returns A new sequence of constants resulting from the subtraction.


operator^ function

template <typename T, T x, T... y>
constexpr auto operator^(constant<T, x>,
                         constants<T, y...>) noexcept
    -> constants<T, (x ^ y)...>

Bitwise XORs a sequence of constants with a constant (reverse order).

This operator overload allows bitwise XOR of a sequence of constants with a constant with the constant on the left-hand side.
Param lhs A constant to XOR with.
Param rhs A sequence of constants.
Returns A new sequence of constants resulting from the bitwise XOR.


operator% function

template <typename T, T x, T... y>
constexpr auto operator%(constant<T, x>,
                         constants<T, y...>) noexcept
    -> constants<T, (x % y)...>

Computes the modulus of a constant by a sequence of constants (reverse order).

This operator overload allows computing the modulus of a constant by a sequence of constants with the constant on the left-hand side.
Param lhs A constant to compute the modulus of.
Param rhs A sequence of constants.
Returns A new sequence of constants resulting from the modulus operation.


find_integral_type function (Internal::find_integral_type)

template <std::integral auto Min, std::integral auto Max>
constexpr auto find_integral_type()

Finds the appropriate integral type based on the given range.

This helper function determines the smallest integral type that can represent the range [Min, Max].
Template param Min The minimum value of the range.
Template param Max The maximum value of the range.
Returns The integral type that can represent the specified range.


find_integral_type typedef

template <auto Min, auto Max>
find_integral_type =
    decltype(Internal::find_integral_type<Min, Max>)

Finds the integral type that can represent the given range.

This alias evaluates to the integral type that can safely represent the values in the range [Min, Max].
Template param Min The minimum value of the range.
Template param Max The maximum value of the range.


find_integral_type =
    decltype(Internal::find_integral_type<Min, Max>)

Finds the integral type that can represent the given range.

This alias evaluates to the integral type that can safely represent the values in the range [Min, Max].
Template param Min The minimum value of the range.
Template param Max The maximum value of the range.


Auto-generated from sources, Revision , https://github.com/brisklib/brisk/blob//include/brisk/