TSDuck v3.46-4930
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
tsIntegerUtils.h File Reference

Classes

struct  ts::int_max< INT >
struct  ts::make_signed< T >
struct  ts::smaller_unsigned< BITS >
struct  ts::static_power10< INT, POW >
struct  ts::underlying_type< T >

Namespaces

namespace  ts
 TSDuck namespace, containing all TSDuck classes and functions.

Concepts

concept  ts::int_enum

Typedefs

template<typename INT>
using ts::int_max_t = typename int_max<INT>::type
template<typename T>
using ts::make_signed_t = typename make_signed<T>::type
template<typename T>
using ts::underlying_type_t = typename underlying_type<T>::type

Functions

template<typename INT>
requires std::integral<INT>
constexpr INT ts::abs (INT a)
template<typename INT>
requires std::integral<INT>
constexpr bool ts::add_overflow (INT a, INT b) noexcept
template<typename INT>
requires std::integral<INT>
size_t ts::BitSize (INT x)
template<typename INT1, typename INT2>
requires std::integral<INT1> && std::integral<INT2>
constexpr bool ts::bound_check (INT2 x) noexcept
template<typename INT>
requires std::integral<INT>
INT ts::bounded_add (INT a, INT b)
template<typename INT1, typename INT2>
requires std::integral<INT1> && std::integral<INT2>
constexpr INT1 ts::bounded_cast (INT2 x)
template<typename INT>
requires std::integral<INT>
INT ts::bounded_sub (INT a, INT b)
template<typename INT>
requires std::integral<INT>
void ts::debug_thow_neg_overflow (INT a)
template<typename INT>
requires std::integral<INT>
void ts::debug_throw_add_overflow (INT a, INT b)
template<typename INT1, typename INT2>
requires std::integral<INT1> && std::integral<INT2>
void ts::debug_throw_bound_check (INT2 x)
template<typename INT>
requires std::integral<INT>
void ts::debug_throw_div_zero (INT den)
template<typename INT>
requires std::integral<INT>
void ts::debug_throw_mul_overflow (INT a, INT b)
template<typename INT>
requires std::integral<INT>
void ts::debug_throw_sub_overflow (INT a, INT b)
template<typename INT>
requires std::integral<INT>
INT ts::GCD (INT x, INT y)
template<typename T>
requires int_enum<T>
constexpr bool ts::is_negative (T x)
template<typename INT>
requires std::integral<INT>
INT ts::LSBMask (size_t bits)
size_t ts::MaxDecimalWidth (size_t typeSize, size_t digitSeparatorSize=0)
size_t ts::MaxHexaWidth (size_t typeSize, size_t digitSeparatorSize=0)
template<typename INT>
requires std::integral<INT>
constexpr bool ts::mul_overflow (INT a, INT b) noexcept
template<typename INT>
requires std::integral<INT>
constexpr bool ts::neg_overflow (INT a) noexcept
uint64_t ts::Power10 (size_t pow)
template<typename INT>
requires std::integral<INT>
INT ts::round_down (INT x, INT f)
template<typename INT>
requires std::integral<INT>
INT ts::round_up (INT x, INT f)
template<typename INT>
requires std::integral<INT>
constexpr INT ts::rounded_div (INT a, INT b)
template<typename INT>
requires std::integral<INT>
constexpr void ts::sign_reduce (INT &num, INT &den)
template<typename INT>
requires std::integral<INT>
constexpr const UChar * ts::SignedDescription ()
template<typename INT>
requires std::signed_integral<INT>
INT ts::SignExtend (INT x, size_t bits)
template<typename INT>
requires std::integral<INT>
constexpr bool ts::sub_overflow (INT a, INT b) noexcept
template<typename INT>
requires std::integral<INT>
void ts::thow_neg_overflow (INT a)
template<typename INT>
requires std::integral<INT>
void ts::throw_add_overflow (INT a, INT b)
template<typename INT1, typename INT2>
requires std::integral<INT1> && std::integral<INT2>
void ts::throw_bound_check (INT2 x)
template<typename INT>
requires std::integral<INT>
void ts::throw_div_zero (INT den)
template<typename INT>
requires std::integral<INT>
void ts::throw_mul_overflow (INT a, INT b)
template<typename INT>
requires std::integral<INT>
void ts::throw_sub_overflow (INT a, INT b)

Variables

constexpr size_t ts::MAX_POWER_10 = 19

Detailed Description

Some utilities on integers.