#include "Common/config.h"
#include <string>
#include <type_traits>
#include <array>
#include <cstddef>
#include <concepts>
#include "Common/utility.ipp"
Go to the source code of this file.
|
namespace | ph |
| The root for all renderer implementations.
|
|
namespace | ph::detail |
| Implementation detail mainly for internal usages.
|
|
|
void | ph::detail::output_not_implemented_warning (const std::string &filename, const std::string &lineNumber) |
|
template<typename T > |
consteval std::size_t | ph::sizeof_in_bits () |
| Calculates number of bits an instance of type T occupies.
|
|
template<typename T , std::size_t N> |
constexpr std::array< T, N > | ph::make_array (const T &element) |
| Creates an std::array filled with the same element.
|
|
template<std::integral DstType, std::integral SrcType> |
DstType | ph::lossless_integer_cast (const SrcType &src) |
|
template<std::floating_point DstType, std::floating_point SrcType> |
DstType | ph::lossless_float_cast (const SrcType &src) |
|
template<typename DstType , typename SrcType > |
DstType | ph::lossless_cast (const SrcType &src) |
| Cast numeric value to another type without any loss of information. If there is any possible overflow or numeric precision loss, exception is thrown.
|
|
template<typename DstType , typename SrcType > |
DstType | ph::lossless_cast (const SrcType &src, DstType *const out_dst) |
|
◆ PH_NOT_IMPLEMENTED_WARNING
#define PH_NOT_IMPLEMENTED_WARNING |
( |
| ) |
|
Value: do\
{\
::ph::detail::output_not_implemented_warning(\
std::string(__FILE__),\
std::to_string(__LINE__));\
} while(0)