6#include "TTauri/Foundation/os_detect.hpp"
7#include "TTauri/Foundation/assert.hpp"
14using namespace std::literals;
22#define ttlet auto const
30tt_force_inline std::remove_reference_t<T> rvalue_cast(T value)
45constexpr auto ssize(
const C& c) -> std::common_type_t<
ssize_t, std::make_signed_t<
decltype(c.size())>>
47 using R = std::common_type_t<
ssize_t, std::make_signed_t<
decltype(c.size())>>;
48 return static_cast<R
>(c.size());
51template <
class T, s
size_t N>
52constexpr ssize_t ssize(
const T (&array)[N])
noexcept
58constexpr auto usize(
const C& c) -> std::common_type_t<size_t, std::make_unsigned_t<
decltype(c.size())>>
60 using R = std::common_type_t<size_t, std::make_unsigned_t<
decltype(c.size())>>;
61 return static_cast<R
>(c.size());
65#define ssizeof(x) (static_cast<ssize_t>(sizeof (x)))
Definition required.hpp:37