Internal module¶
<deduction guide for FixedString>
function¶
template <size_t N>
FixedString(const char (&)[N])->FixedString<N - 1>
Deduction guide for creating FixedString from string literals.
This deduction guide allows the compiler to automatically deduce the
template parameter N when initializing a FixedString with a string literal.
Param str
A string literal.
COMInitializer
class¶
COMInitializer
A no-op COMInitializer for non-Windows platforms.
This struct is defined to provide a consistent interface across platforms, but does not perform any actions on non-Windows systems.
FixedString
class¶
template <size_t N> FixedString
A compile-time fixed-size string class.
This class provides a way to work with fixed-size strings during compile-time.
The string's size is determined at compile time, and it is stored in an array of characters.
Template param N
The size of the string (not including the null terminator).
FixedString<N>
function¶
constexpr FixedString(const char (&str)[N + 1])
Constructs a FixedString from a string literal.
This constructor takes a string literal and initializes the FixedString
with its content. The size of the string must match the template parameter N.
Param str
A string literal to initialize the FixedString.
constexpr explicit FixedString(const char *str, int dummy)
Constructs a FixedString from a pointer to a character array.
This constructor is explicit and allows initialization from a character
pointer. The size of the string must still match the template parameter N.
Param str
A pointer to a null-terminated character array.
Param dummy
A dummy parameter to disambiguate this constructor.
string
function¶
constexpr std::string_view string() const
Returns a string view of the FixedString content.
This function provides a view of the string content as a std::string_view.
Returns A std::string_view representing the string content.
content
variable¶
std::array<char, N> content
The underlying storage for the string content.
operator<=>
function¶
auto operator<=>(const FixedString &) const noexcept =
default
Compares two FixedStrings for ordering.
This operator is defaulted to provide a three-way comparison based on
the lexicographical order of the string contents.
Param other
The other FixedString to compare against.
Returns A comparison result.
OpenTypeFeature
enum¶
enum class OpenTypeFeature : uint8_t
OpenTypeFeatureEnumerates various OpenType font features.
Note Use openTypeFeatures to map to uint32_t.
aalt
enumerator¶
*/
abvf
enumerator¶
*/
abvm
enumerator¶
*/
abvs
enumerator¶
*/
afrc
enumerator¶
*/
akhn
enumerator¶
*/
blwf
enumerator¶
*/
blwm
enumerator¶
*/
blws
enumerator¶
*/
calt
enumerator¶
*/
case_
enumerator¶
*/
ccmp
enumerator¶
*/
cfar
enumerator¶
*/
chws
enumerator¶
*/
cjct
enumerator¶
*/
clig
enumerator¶
*/
cpct
enumerator¶
*/
cpsp
enumerator¶
*/
cswh
enumerator¶
*/
curs
enumerator¶
*/
cv01
enumerator¶
*/
cv02
enumerator¶
*/
c2pc
enumerator¶
*/
c2sc
enumerator¶
*/
dist
enumerator¶
*/
dlig
enumerator¶
*/
dnom
enumerator¶
*/
dtls
enumerator¶
*/
expt
enumerator¶
*/
falt
enumerator¶
*/
fin2
enumerator¶
*/
fin3
enumerator¶
*/
fina
enumerator¶
*/
flac
enumerator¶
*/
frac
enumerator¶
*/
fwid
enumerator¶
*/
half
enumerator¶
*/
haln
enumerator¶
*/
halt
enumerator¶
*/
hist
enumerator¶
*/
hkna
enumerator¶
*/
hlig
enumerator¶
*/
hngl
enumerator¶
*/
hojo
enumerator¶
*/
hwid
enumerator¶
*/
init
enumerator¶
*/
isol
enumerator¶
*/
ital
enumerator¶
*/
jalt
enumerator¶
*/
jp78
enumerator¶
*/
jp83
enumerator¶
*/
jp90
enumerator¶
*/
jp04
enumerator¶
*/
kern
enumerator¶
*/
lfbd
enumerator¶
*/
liga
enumerator¶
*/
ljmo
enumerator¶
*/
lnum
enumerator¶
*/
locl
enumerator¶
*/
ltra
enumerator¶
*/
ltrm
enumerator¶
*/
mark
enumerator¶
*/
med2
enumerator¶
*/
medi
enumerator¶
*/
mgrk
enumerator¶
*/
mkmk
enumerator¶
*/
mset
enumerator¶
*/
nalt
enumerator¶
*/
nlck
enumerator¶
*/
nukt
enumerator¶
*/
numr
enumerator¶
*/
onum
enumerator¶
*/
opbd
enumerator¶
*/
ordn
enumerator¶
*/
ornm
enumerator¶
*/
palt
enumerator¶
*/
pcap
enumerator¶
*/
pkna
enumerator¶
*/
pnum
enumerator¶
*/
pref
enumerator¶
*/
pres
enumerator¶
*/
pstf
enumerator¶
*/
psts
enumerator¶
*/
pwid
enumerator¶
*/
qwid
enumerator¶
*/
rand
enumerator¶
*/
rclt
enumerator¶
*/
rkrf
enumerator¶
*/
rlig
enumerator¶
*/
rphf
enumerator¶
*/
rtbd
enumerator¶
*/
rtla
enumerator¶
*/
rtlm
enumerator¶
*/
ruby
enumerator¶
*/
rvrn
enumerator¶
*/
salt
enumerator¶
*/
sinf
enumerator¶
*/
size
enumerator¶
*/
smcp
enumerator¶
*/
smpl
enumerator¶
*/
ss01
enumerator¶
*/
ss02
enumerator¶
*/
ss03
enumerator¶
*/
ssty
enumerator¶
*/
stch
enumerator¶
*/
subs
enumerator¶
*/
sups
enumerator¶
*/
swsh
enumerator¶
*/
titl
enumerator¶
*/
tjmo
enumerator¶
*/
tnam
enumerator¶
*/
tnum
enumerator¶
*/
trad
enumerator¶
*/
twid
enumerator¶
*/
unic
enumerator¶
*/
valt
enumerator¶
*/
vatu
enumerator¶
*/
vchw
enumerator¶
*/
vert
enumerator¶
*/
vhal
enumerator¶
*/
vjmo
enumerator¶
*/
vkna
enumerator¶
*/
vkrn
enumerator¶
*/
vpal
enumerator¶
*/
vrt2
enumerator¶
*/
vrtr
enumerator¶
*/
zero
enumerator¶
*/
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.
find_integral_type
function¶
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.
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.
fixed
class¶
template <int Integer, int Fractional> fixed
Signed Fixed-Point number
generate
function¶
template <typename Functor>
inline auto generate(size_t count, Functor functor)
-> std::vector<decltype(functor())>
Generates a vector by applying a functor a specified number of times.
This function creates a vector of a given size and fills it with values
generated by invoking the provided functor.
Template param Functor
The type of the functor used for generating values.
Param count
The number of elements to generate.
Param functor
The functor that produces the values.
Returns A vector containing the generated values.
inline_vector
class¶
template <typename T, size_t N> inline_vector
A resizeable vector-like container with fixed capacity.
The inline_vector
class is a container that stores a fixed number of elements
of type T
. It provides similar functionalities to a standard vector, but it is
designed to operate with a fixed capacity determined at compile time.
The class enforces that the type T
is trivially copyable, movable, and destructible,
and ensures that the size N
is within valid bounds. It supports basic operations
such as element access, size retrieval, and iteration.
Template param T
The type of the elements stored in the vector.
Template param N
The maximum number of elements that the vector can hold.
Note The class is designed to be efficient in terms of memory and performance
by storing elements in a contiguous array.
Exceptions If operations exceed the defined bounds (e.g., accessing
an index out of range, or initializing with more elements than allowed).
map
function¶
template <typename ValueType, typename Alloc,
typename Functor>
inline auto
map(const std::vector<ValueType, Alloc> &container,
Functor &&functor)
-> std::vector<
decltype(functor(std::declval<ValueType>()))>
Transforms the elements of a vector using a functor.
This function applies the provided functor to each element of the input vector
and returns a new vector containing the transformed values.
Template param ValueType
The type of the elements in the input vector.
Template param Alloc
The allocator type used by the input vector.
Template param Functor
The type of the functor used for transformation.
Param container
The input vector to transform.
Param functor
The functor to apply to each element of the vector.
Returns A vector containing the transformed values.
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.
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.
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.
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-(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.
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^(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.
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.
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.
throwException
function¶
template <typename ExceptionType>
[[noreturn]] void throwException(ExceptionType &&exc)
Throws an exception of the specified type or terminates the program.
This function logs the exception and either throws it if exceptions are enabled,
or calls std::terminate if exceptions are disabled.
Template param ExceptionType
The type of the exception to be thrown, which must be derived from std::exception.
Param exc
The exception object to throw.
Exceptions The specified exception type.
Note This function will not return; it either throws the exception or terminates the program.
Auto-generated from sources, Revision , https://github.com/brisklib/brisk/blob//include/brisk/