15 const std::string& filename,
16 const std::string& lineNumber);
20#define PH_NOT_IMPLEMENTED_WARNING()\
23 ::ph::detail::output_not_implemented_warning(\
24 std::string(__FILE__),\
25 std::to_string(__LINE__));\
39template<
typename T, std::
size_t N>
40constexpr std::array<T, N>
make_array(
const T& element);
42template<std::
integral DstType, std::
integral SrcType>
45template<std::
floating_po
int DstType, std::
floating_po
int SrcType>
53template<
typename DstType,
typename SrcType>
56template<
typename DstType,
typename SrcType>
57DstType
lossless_cast(
const SrcType& src, DstType*
const out_dst);
Configurations for the entire toolset.
Implementation detail mainly for internal usages.
Definition assertion.h:9
void output_not_implemented_warning(const std::string &filename, const std::string &lineNumber)
Definition utility.cpp:8
The root for all renderer implementations.
Definition assertion.h:9
DstType lossless_integer_cast(const SrcType &src)
Definition utility.ipp:41
constexpr std::array< T, N > make_array(const T &element)
Creates an std::array filled with the same element.
Definition utility.ipp:35
DstType lossless_cast(const SrcType &src)
Cast numeric value to another type without any loss of information. If there is any possible overflow...
Definition utility.ipp:109
DstType lossless_float_cast(const SrcType &src)
Definition utility.ipp:77
consteval std::size_t sizeof_in_bits()
Calculates number of bits an instance of type T occupies.
Definition utility.ipp:29