![]() |
MAGE
v0.171.0
Matthias Advanced Game Engine
|
Namespaces | |
anonymous_namespace{dump.cpp} | |
anonymous_namespace{logging.cpp} | |
anonymous_namespace{system_time.cpp} | |
color | |
details | |
input | |
loader | |
rendering | |
script | |
Typedefs | |
using | C32 = Complex< F32 > |
using | C64 = Complex< F64 > |
using | D32 = Dual< F32 > |
using | D64 = Dual< F64 > |
using | H32 = Hyperbolic< F32 > |
using | H64 = Hyperbolic< F64 > |
using | AxisAlignedBoundingBox = AABB |
template<typename T > | |
using | AlignedVector = std::vector< T, AlignedAllocator< T > > |
template<typename T > | |
using | NotNull = gsl::not_null< T > |
template<typename T > | |
using | ComPtr = Microsoft::WRL::ComPtr< T > |
template<typename T > | |
using | SharedPtr = std::shared_ptr< T > |
template<typename T > | |
using | WeakPtr = std::weak_ptr< T > |
template<typename T , typename DeleterT = std::default_delete< T >> | |
using | UniquePtr = std::unique_ptr< T, DeleterT > |
using | UniqueHandle = UniquePtr< void, details::HandleCloser > |
using | SharedHandle = SharedPtr< void > |
using | UniqueFileStream = UniquePtr< std::FILE, details::FileStreamCloser > |
using | MemoryStack = SingleEndedMemoryStack |
using | Value = std::variant< bool, F32, F32x2, F32x3, F32x4, S32, S32x2, S32x3, S32x4, U32, U32x2, U32x3, U32x4, std::string > |
using | ValueMap = std::map< std::string, Value, std::less<> > |
using | zstring = gsl::zstring<> |
using | wzstring = gsl::wzstring<> |
using | const_zstring = gsl::czstring<> |
using | const_wzstring = gsl::cwzstring<> |
using | TimeStampSeconds = std::chrono::duration< F64 > |
using | TimeIntervalSeconds = std::chrono::duration< F64 > |
using | WallClockTimer = Timer< std::chrono::high_resolution_clock > |
using | CPUTimer = Timer< CoreClockPerCore > |
using | AtomicBool = std::atomic< bool > |
using | AtomicF32 = std::atomic< F32 > |
using | AtomicF64 = std::atomic< F64 > |
using | AtomicS8 = std::atomic< S8 > |
using | AtomicS16 = std::atomic< S16 > |
using | AtomicS32 = std::atomic< S32 > |
using | AtomicS64 = std::atomic< S64 > |
using | AtomicFS8 = std::atomic< FS8 > |
using | AtomicFS16 = std::atomic< FS16 > |
using | AtomicFS32 = std::atomic< FS32 > |
using | AtomicFS64 = std::atomic< FS64 > |
using | AtomicU8 = std::atomic< U8 > |
using | AtomicU16 = std::atomic< U16 > |
using | AtomicU32 = std::atomic< U32 > |
using | AtomicU64 = std::atomic< U64 > |
using | AtomicFU8 = std::atomic< FU8 > |
using | AtomicFU16 = std::atomic< FU16 > |
using | AtomicFU32 = std::atomic< FU32 > |
using | AtomicFU64 = std::atomic< FU64 > |
using | F32 = float |
using | F64 = double |
using | S8 = std::int8_t |
using | S16 = std::int16_t |
using | S32 = std::int32_t |
using | S64 = std::int64_t |
using | FS8 = std::int_fast8_t |
using | FS16 = std::int_fast16_t |
using | FS32 = std::int_fast32_t |
using | FS64 = std::int_fast64_t |
using | U8 = std::uint8_t |
using | U16 = std::uint16_t |
using | U32 = std::uint32_t |
using | U64 = std::uint64_t |
using | FU8 = std::uint_fast8_t |
using | FU16 = std::uint_fast16_t |
using | FU32 = std::uint_fast32_t |
using | FU64 = std::uint_fast64_t |
using | F32x2 = Array< F32, 2u > |
using | F32x3 = Array< F32, 3u > |
using | F32x4 = Array< F32, 4u > |
using | F32x2A = Array< F32, 2u, 16u > |
using | F32x3A = Array< F32, 3u, 16u > |
using | F32x4A = Array< F32, 4u, 16u > |
using | F64x2 = Array< F64, 2u > |
using | F64x3 = Array< F64, 3u > |
using | F64x4 = Array< F64, 4u > |
using | S8x2 = Array< S8, 2u > |
using | S8x3 = Array< S8, 3u > |
using | S8x4 = Array< S8, 4u > |
using | S16x2 = Array< S16, 2u > |
using | S16x3 = Array< S16, 3u > |
using | S16x4 = Array< S16, 4u > |
using | S32x2 = Array< S32, 2u > |
using | S32x3 = Array< S32, 3u > |
using | S32x4 = Array< S32, 4u > |
using | S64x2 = Array< S64, 2u > |
using | S64x3 = Array< S64, 3u > |
using | S64x4 = Array< S64, 4u > |
using | FS8x2 = Array< FS8, 2u > |
using | FS8x3 = Array< FS8, 3u > |
using | FS8x4 = Array< FS8, 4u > |
using | FS16x2 = Array< FS16, 2u > |
using | FS16x3 = Array< FS16, 3u > |
using | FS16x4 = Array< FS16, 4u > |
using | FS32x2 = Array< FS32, 2u > |
using | FS32x3 = Array< FS32, 3u > |
using | FS32x4 = Array< FS32, 4u > |
using | FS64x2 = Array< FS64, 2u > |
using | FS64x3 = Array< FS64, 3u > |
using | FS64x4 = Array< FS64, 4u > |
using | U8x2 = Array< U8, 2u > |
using | U8x3 = Array< U8, 3u > |
using | U8x4 = Array< U8, 4u > |
using | U16x2 = Array< U16, 2u > |
using | U16x3 = Array< U16, 3u > |
using | U16x4 = Array< U16, 4u > |
using | U32x2 = Array< U32, 2u > |
using | U32x3 = Array< U32, 3u > |
using | U32x4 = Array< U32, 4u > |
using | U64x2 = Array< U64, 2u > |
using | U64x3 = Array< U64, 3u > |
using | U64x4 = Array< U64, 4u > |
using | FU8x2 = Array< FU8, 2u > |
using | FU8x3 = Array< FU8, 3u > |
using | FU8x4 = Array< FU8, 4u > |
using | FU16x2 = Array< FU16, 2u > |
using | FU16x3 = Array< FU16, 3u > |
using | FU16x4 = Array< FU16, 4u > |
using | FU32x2 = Array< FU32, 2u > |
using | FU32x3 = Array< FU32, 3u > |
using | FU32x4 = Array< FU32, 4u > |
using | FU64x2 = Array< FU64, 2u > |
using | FU64x3 = Array< FU64, 3u > |
using | FU64x4 = Array< FU64, 4u > |
Enumerations | |
enum | State : U8 { State::Active, State::Passive, State::Terminated } |
enum | Coverage : U8 { Coverage::NoCoverage, Coverage::PartialCoverage, Coverage::FullCoverage } |
enum | MessageDisposition : U8 { MessageDisposition::Ignore, MessageDisposition::Continue, MessageDisposition::Abort } |
enum | HotKey : U8 { HotKey::Unused = 0, HotKey::PrintScreen, HotKey::AltPrintScreen } |
Functions | |
void | PrintConsoleHeader () noexcept |
constexpr U32 | GetVersionMajor () noexcept |
constexpr U32 | GetVersionMinor () noexcept |
constexpr U32 | GetVersionPatch () noexcept |
template<typename ElementT , typename... ConstructorArgsT> | |
ProxyPtr< ElementT > | AddElement (AlignedVector< ElementT > &elements, ConstructorArgsT &&... args) |
template<typename ElementT , typename BaseT , typename... ConstructorArgsT> | |
ProxyPtr< ElementT > | AddElementPtr (AlignedVector< UniquePtr< BaseT > > &elements, ConstructorArgsT &&... args) |
UniquePtr< Engine > | CreateEngine (const EngineSetup &setup) |
template<typename T > | |
constexpr const Complex< T > | operator+ (T a, const Complex< T > &v) noexcept |
template<typename T > | |
constexpr const Complex< T > | operator- (T a, const Complex< T > &v) noexcept |
template<typename T > | |
constexpr const Complex< T > | operator* (T a, const Complex< T > &v) noexcept |
template<typename T > | |
constexpr const Complex< T > | operator/ (T a, const Complex< T > &v) noexcept |
template<typename T > | |
constexpr const Dual< T > | operator+ (T a, const Dual< T > &v) noexcept |
template<typename T > | |
constexpr const Dual< T > | operator- (T a, const Dual< T > &v) noexcept |
template<typename T > | |
constexpr const Dual< T > | operator* (T a, const Dual< T > &v) noexcept |
template<typename T > | |
constexpr const Dual< T > | operator/ (T a, const Dual< T > &v) noexcept |
template<typename T > | |
constexpr const Hyperbolic< T > | operator+ (T a, const Hyperbolic< T > &v) noexcept |
template<typename T > | |
constexpr const Hyperbolic< T > | operator- (T a, const Hyperbolic< T > &v) noexcept |
template<typename T > | |
constexpr const Hyperbolic< T > | operator* (T a, const Hyperbolic< T > &v) noexcept |
const XMVECTOR XM_CALLCONV | XMLoad (F32 src) noexcept |
const XMVECTOR XM_CALLCONV | XMLoad (const F32x2 &src) noexcept |
const XMVECTOR XM_CALLCONV | XMLoad (const F32x3 &src) noexcept |
const XMVECTOR XM_CALLCONV | XMLoad (const F32x4 &src) noexcept |
const XMVECTOR XM_CALLCONV | XMLoad (const F32x2A &src) noexcept |
const XMVECTOR XM_CALLCONV | XMLoad (const F32x3A &src) noexcept |
const XMVECTOR XM_CALLCONV | XMLoad (const F32x4A &src) noexcept |
const XMVECTOR XM_CALLCONV | XMLoad (const S32x2 &src) noexcept |
const XMVECTOR XM_CALLCONV | XMLoad (const S32x3 &src) noexcept |
const XMVECTOR XM_CALLCONV | XMLoad (const S32x4 &src) noexcept |
const XMVECTOR XM_CALLCONV | XMLoad (U32 src) noexcept |
const XMVECTOR XM_CALLCONV | XMLoad (const U32x2 &src) noexcept |
const XMVECTOR XM_CALLCONV | XMLoad (const U32x3 &src) noexcept |
const XMVECTOR XM_CALLCONV | XMLoad (const U32x4 &src) noexcept |
const XMVECTOR XM_CALLCONV | XMLoad (const RECT &src) noexcept |
template<typename T > | |
const T XM_CALLCONV | XMStore (FXMVECTOR src) noexcept |
template<> | |
const F32 XM_CALLCONV | XMStore (FXMVECTOR src) noexcept |
template<> | |
const F32x2 XM_CALLCONV | XMStore (FXMVECTOR src) noexcept |
template<> | |
const F32x3 XM_CALLCONV | XMStore (FXMVECTOR src) noexcept |
template<> | |
const F32x4 XM_CALLCONV | XMStore (FXMVECTOR src) noexcept |
template<> | |
const F32x2A XM_CALLCONV | XMStore (FXMVECTOR src) noexcept |
template<> | |
const F32x3A XM_CALLCONV | XMStore (FXMVECTOR src) noexcept |
template<> | |
const F32x4A XM_CALLCONV | XMStore (FXMVECTOR src) noexcept |
template<> | |
const S32x2 XM_CALLCONV | XMStore (FXMVECTOR src) noexcept |
template<> | |
const S32x3 XM_CALLCONV | XMStore (FXMVECTOR src) noexcept |
template<> | |
const S32x4 XM_CALLCONV | XMStore (FXMVECTOR src) noexcept |
template<> | |
const U32 XM_CALLCONV | XMStore (FXMVECTOR src) noexcept |
template<> | |
const U32x2 XM_CALLCONV | XMStore (FXMVECTOR src) noexcept |
template<> | |
const U32x3 XM_CALLCONV | XMStore (FXMVECTOR src) noexcept |
template<> | |
const U32x4 XM_CALLCONV | XMStore (FXMVECTOR src) noexcept |
template<typename BoundingVolumeT , typename BoundingVolumeU > | |
Coverage | Classify (const BoundingVolumeT &volume1, const BoundingVolumeU &volume2) noexcept |
template<typename BoundingVolumeT > | |
Coverage XM_CALLCONV | Classify (const BoundingVolumeT &volume, FXMVECTOR point, F32 epsilon) noexcept |
template<typename BoundingVolumeT > | |
Coverage | Classify (const BoundingVolumeT &volume, const Point3 &point, F32 epsilon) noexcept |
constexpr const UV | InvertHandness (const UV &uv) noexcept |
constexpr const Point3 | InvertHandness (const Point3 &point) noexcept |
constexpr const Normal3 | InvertHandness (const Normal3 &normal) noexcept |
constexpr const Direction3 | InvertHandness (const Direction3 &direction) noexcept |
constexpr F32 | Saturate (F32 value) noexcept |
const XMVECTOR XM_CALLCONV | Saturate (FXMVECTOR value) noexcept |
F32 | WrapAngleDegrees (F32 angle) noexcept |
F32 | WrapAngleRadians (F32 angle) noexcept |
const XMVECTOR XM_CALLCONV | WrapAngleRadians (FXMVECTOR angles) noexcept |
F32 | ClampAngleDegrees (F32 angle, F32 min_angle, F32 max_angle) noexcept |
F32 | ClampAngleRadians (F32 angle, F32 min_angle, F32 max_angle) noexcept |
const XMVECTOR XM_CALLCONV | ClampAngleRadians (FXMVECTOR angles, FXMVECTOR min_angles, FXMVECTOR max_angles) noexcept |
F32 | NormalizedToAbsolute (F32 p, F32 resolution) noexcept |
const F32x2 | NormalizedToAbsolute (const F32x2 &p, const F32x2 &resolution) noexcept |
const XMVECTOR XM_CALLCONV | NormalizedToAbsolute (FXMVECTOR p, FXMVECTOR resolution) noexcept |
F32 | AbsoluteToNormalized (F32 p, F32 resolution) noexcept |
const F32x2 | AbsoluteToNormalized (const F32x2 &p, const F32x2 &resolution) noexcept |
const XMVECTOR XM_CALLCONV | AbsoluteToNormalized (FXMVECTOR p, FXMVECTOR resolution) noexcept |
const XMVECTOR XM_CALLCONV | XMVectorLeftTopRightBottom (const RECT &rect) noexcept |
const XMVECTOR XM_CALLCONV | XMVectorLeftTopWidthHeight (const RECT &rect) noexcept |
const XMVECTOR XM_CALLCONV | GetNDCZConstructionValues (FXMMATRIX projection_matrix) noexcept |
void | FibonacciSpiralSamplesInUnitCircle (gsl::span< F32x2 > samples, F32 shift, F32 alpha) noexcept |
void | FibonacciSpiralSamplesOnUnitSphere (gsl::span< F32x3 > samples, F32 shift) noexcept |
void | FibonacciSpiralSamplesOnUnitHemisphere (gsl::span< F32x3 > samples, F32 shift, bool positive) noexcept |
void | FibonacciSpiralCosineWeightedSamplesOnUnitHemisphere (gsl::span< F32x3 > samples, F32 shift) noexcept |
F32 | RadicalInverse (std::size_t index, F32 base) noexcept |
F32 | VanderCorput (std::size_t index) noexcept |
void | Halton (std::size_t index, gsl::span< F32 > sample) noexcept |
const F32x2 | Halton2D (std::size_t index) noexcept |
const F32x3 | Halton3D (std::size_t index) noexcept |
const F32x4 | Halton4D (std::size_t index) noexcept |
void | Hammersley (std::size_t index, gsl::span< F32 > sample, std::size_t nb_samples) noexcept |
const F32x2 | Hammersley2D (std::size_t index, std::size_t nb_samples) noexcept |
const F32x3 | Hammersley3D (std::size_t index, std::size_t nb_samples) noexcept |
const F32x4 | Hammersley4D (std::size_t index, std::size_t nb_samples) noexcept |
const F32x2 | Roth (std::size_t index, size_t nb_samples) noexcept |
const F32x2 | UniformSampleOnUnitCircle (F32 u) noexcept |
const F32x2 | UniformSampleOnUnitHalfcircle (F32 u) noexcept |
const F32x2 | UniformSampleInUnitCircle (F32 u1, F32 u2) noexcept |
const F32x2 | UniformSampleInUnitHalfcircle (F32 u1, F32 u2) noexcept |
const F32x3 | UniformSampleOnUnitSphere (F32 u1, F32 u2) noexcept |
const F32x3 | UniformSampleOnUnitHemisphere (F32 u1, F32 u2) noexcept |
const F32x3 | UniformSampleInUnitSphere (F32 u1, F32 u2, F32 u3) noexcept |
const F32x3 | UniformSampleInUnitHemisphere (F32 u1, F32 u2, F32 u3) noexcept |
const F32x3 | CosineWeightedSampleOnUnitHemisphere (F32 u1, F32 u2) noexcept |
const XMVECTOR XM_CALLCONV | RGBtoSRGB (FXMVECTOR rgb) noexcept |
const XMVECTOR XM_CALLCONV | SRGBtoRGB (FXMVECTOR srgb) noexcept |
const XMVECTOR XM_CALLCONV | RGBtoXYZ (FXMVECTOR rgb) noexcept |
const XMVECTOR XM_CALLCONV | XYZtoRGB (FXMVECTOR xyz) noexcept |
const XMMATRIX XM_CALLCONV | OrthonormalBasis_HughesMoller (FXMVECTOR n) noexcept |
const XMMATRIX XM_CALLCONV | OrthonormalBasis_Frisvad (FXMVECTOR n) noexcept |
const XMMATRIX XM_CALLCONV | OrthonormalBasis_Duff (FXMVECTOR n) noexcept |
const XMMATRIX XM_CALLCONV | OrthonormalBasis (FXMVECTOR n) noexcept |
const XMMATRIX XM_CALLCONV | GetTranslationMatrix (FXMVECTOR translation) noexcept |
const XMMATRIX XM_CALLCONV | GetInverseTranslationMatrix (FXMVECTOR translation) noexcept |
const XMVECTOR XM_CALLCONV | GetRollPitchYawQuaternion (FXMVECTOR rotation) noexcept |
const XMVECTOR XM_CALLCONV | GetInverseRollPitchYawQuaternion (FXMVECTOR rotation) noexcept |
const XMMATRIX XM_CALLCONV | GetRollPitchYawMatrix (FXMVECTOR rotation) noexcept |
const XMMATRIX XM_CALLCONV | GetInverseRollPitchYawMatrix (FXMVECTOR rotation) noexcept |
const XMMATRIX XM_CALLCONV | GetScalingMatrix (FXMVECTOR scale) noexcept |
const XMMATRIX XM_CALLCONV | GetScalingMatrix (F32 scale) noexcept |
const XMMATRIX XM_CALLCONV | GetInverseScalingMatrix (FXMVECTOR scale) noexcept |
const XMMATRIX XM_CALLCONV | GetInverseScalingMatrix (F32 scale) noexcept |
const XMMATRIX XM_CALLCONV | GetAffineTransformationMatrix (FXMVECTOR scale, FXMVECTOR rotation, FXMVECTOR translation) noexcept |
const XMMATRIX XM_CALLCONV | GetAffineTransformationMatrix (F32 scale, FXMVECTOR rotation, FXMVECTOR translation) noexcept |
const XMMATRIX XM_CALLCONV | GetInverseAffineTransformationMatrix (FXMVECTOR scale, FXMVECTOR rotation, FXMVECTOR translation) noexcept |
const XMMATRIX XM_CALLCONV | GetInverseAffineTransformationMatrix (F32 scale, FXMVECTOR rotation, FXMVECTOR translation) noexcept |
const XMMATRIX XM_CALLCONV | GetAffineTransformationMatrix (FXMVECTOR scale, F32 rotation, FXMVECTOR translation) noexcept |
const XMMATRIX XM_CALLCONV | GetAffineTransformationMatrix (FXMVECTOR offset, FXMVECTOR scale, F32 rotation, FXMVECTOR translation) noexcept |
constexpr U32 | BitsPerPixel (DXGI_FORMAT format) noexcept |
constexpr DXGI_FORMAT | ConvertToSRGB (DXGI_FORMAT format) noexcept |
template<typename ActionT , typename FromT , std::size_t N> | |
constexpr const auto | TransformArray (ActionT &&action, const std::array< FromT, N > &a) |
template<typename ToT , typename FromT , std::size_t N> | |
constexpr const auto | StaticCastArray (const std::array< FromT, N > &a) |
template<typename T , std::size_t N> | |
constexpr const auto | FillArray (const T &value) |
template<std::size_t ToN, typename T , std::size_t FromN> | |
constexpr const auto | EnlargeArray (const std::array< T, FromN > &a) |
template<typename T , typename... Ts> | |
constexpr const auto | TuppleToArray (const std::tuple< T, Ts... > &t) |
template<typename T , std::size_t N> | |
constexpr const auto | ArrayToTupple (const std::array< T, N > &a) |
template<typename ContainerT , typename PredicateT > | |
decltype(auto) | EraseIf (ContainerT &container, PredicateT &&predicate) |
void | ThrowIfFailed (bool result) |
template<typename... ArgsT> | |
void | ThrowIfFailed (bool result, std::string_view format_str, const ArgsT &... args) |
void | ThrowIfFailed (BOOL result) |
template<typename... ArgsT> | |
void | ThrowIfFailed (BOOL result, std::string_view format_str, const ArgsT &... args) |
void | ThrowIfFailed (HRESULT result) |
template<typename... ArgsT> | |
void | ThrowIfFailed (HRESULT result, std::string_view format_str, const ArgsT &... args) |
void | ReadBinaryFile (const std::filesystem::path &path, UniquePtr< U8[] > &data, std::size_t &size) |
template<typename T > | |
const T | BytesBigEndianTo (NotNull< const U8 * > bytes) noexcept |
template<typename T > | |
const T | BytesLittleEndianTo (NotNull< const U8 * > bytes) noexcept |
template<typename T > | |
const T | BytesTo (NotNull< const U8 * > bytes, bool big_endian) noexcept |
void | AddUnhandledExceptionFilter () noexcept |
void | CreateMiniDump (EXCEPTION_POINTERS *exception_record) noexcept |
FU16 | ConsoleWidth () |
void | InitializeConsole () |
template<typename... ArgsT> | |
void | Log (MessageDisposition disposition, std::string_view format_str, const ArgsT &... args) |
template<typename... ArgsT> | |
void | Log (MessageDisposition disposition, std::wstring_view format_str, const ArgsT &... args) |
template<typename... ArgsT> | |
void | Debug ([[maybe_unused]] std::string_view format_str, [[maybe_unused]] const ArgsT &... args) |
template<typename... ArgsT> | |
void | Debug ([[maybe_unused]] std::wstring_view format_str, [[maybe_unused]] const ArgsT &... args) |
template<typename... ArgsT> | |
void | Info (std::string_view format_str, const ArgsT &... args) |
template<typename... ArgsT> | |
void | Info (std::wstring_view format_str, const ArgsT &... args) |
template<typename... ArgsT> | |
void | Warning (std::string_view format_str, const ArgsT &... args) |
template<typename... ArgsT> | |
void | Warning (std::wstring_view format_str, const ArgsT &... args) |
template<typename... ArgsT> | |
void | Error (std::string_view format_str, const ArgsT &... args) |
template<typename... ArgsT> | |
void | Error (std::wstring_view format_str, const ArgsT &... args) |
template<typename... ArgsT> | |
void | Fatal (std::string_view format_str, const ArgsT &... args) |
template<typename... ArgsT> | |
void | Fatal (std::wstring_view format_str, const ArgsT &... args) |
void * | AllocAligned (std::size_t size, std::size_t alignment) noexcept |
template<typename T > | |
T * | AllocAlignedData (std::size_t count, size_t alignment) noexcept |
void | FreeAligned (void *ptr) noexcept |
template<typename T , typename... ConstructorArgsT> | |
SharedPtr< T > | MakeShared (ConstructorArgsT &&... args) |
template<typename T , typename... ConstructorArgsT> | |
SharedPtr< T > | MakeAllocatedShared (ConstructorArgsT &&... args) |
template<typename T , typename... ConstructorArgsT> | |
UniquePtr< T > | MakeUnique (ConstructorArgsT &&... args) |
template<typename ToT , typename FromT > | |
UniquePtr< ToT > | static_pointer_cast (UniquePtr< FromT > &&ptr) noexcept |
template<typename ToT , typename FromT > | |
UniquePtr< ToT > | dynamic_pointer_cast (UniquePtr< FromT > &&ptr) noexcept |
template<typename ToT , typename FromT > | |
UniquePtr< ToT > | const_pointer_cast (UniquePtr< FromT > &&ptr) noexcept |
template<typename ToT , typename FromT > | |
UniquePtr< ToT > | reinterpret_pointer_cast (UniquePtr< FromT > &&ptr) noexcept |
HANDLE | SafeHandle (HANDLE handle) noexcept |
UniqueHandle | CreateUniqueHandle (HANDLE handle) |
SharedHandle | CreateSharedHandle (HANDLE handle) |
template<typename T > | |
bool | operator== (const ProxyPtr< T > &lhs, std::nullptr_t) noexcept |
template<typename T > | |
bool | operator!= (const ProxyPtr< T > &lhs, std::nullptr_t) noexcept |
template<typename T > | |
bool | operator== (std::nullptr_t, const ProxyPtr< T > &rhs) noexcept |
template<typename T > | |
bool | operator!= (std::nullptr_t, const ProxyPtr< T > &rhs) noexcept |
template<typename ToT , typename FromT > | |
ProxyPtr< ToT > | static_pointer_cast (const ProxyPtr< FromT > &ptr) noexcept |
template<typename ToT , typename FromT > | |
ProxyPtr< ToT > | dynamic_pointer_cast (const ProxyPtr< FromT > &ptr) noexcept |
template<typename ToT , typename FromT > | |
ProxyPtr< ToT > | dynamic_pointer_cast (ProxyPtr< FromT > &&ptr) noexcept |
template<typename ToT , typename FromT > | |
ProxyPtr< ToT > | const_pointer_cast (const ProxyPtr< FromT > &ptr) noexcept |
template<typename ToT , typename FromT > | |
ProxyPtr< ToT > | const_pointer_cast (ProxyPtr< FromT > &&ptr) noexcept |
template<typename ToT , typename FromT > | |
ProxyPtr< ToT > | reinterpret_pointer_cast (const ProxyPtr< FromT > &ptr) noexcept |
template<typename ToT , typename FromT > | |
ProxyPtr< ToT > | reinterpret_pointer_cast (ProxyPtr< FromT > &&ptr) noexcept |
U64 | GetNextGuid () noexcept |
FU16 | NumberOfPhysicalCores () |
FU16 | NumberOfSystemCores () noexcept |
template<typename CallerT > | |
CallerT * | GetWindowCaller (NotNull< HWND > window, UINT message, [[maybe_unused]] WPARAM wParam, LPARAM lParam) noexcept |
template<typename CallerT > | |
CallerT * | GetDialogCaller (NotNull< HWND > dialog, UINT message, [[maybe_unused]] WPARAM wParam, LPARAM lParam) noexcept |
template<typename StringT , typename... ArgsT> | |
const auto | Format (const StringT &format_str, const ArgsT &... args) |
template<typename... ArgsT> | |
void | Print (std::string_view format_str, const ArgsT &... args) |
template<typename... ArgsT> | |
void | Print (std::wstring_view format_str, const ArgsT &... args) |
template<typename OutputIt , typename... ArgsT> | |
OutputIt | AppendWrite (OutputIt it, std::string_view format_str, const ArgsT &... args) |
template<typename OutputIt , typename... ArgsT> | |
OutputIt | AppendWrite (OutputIt it, std::wstring_view format_str, const ArgsT &... args) |
template<typename OutputIt , typename... ArgsT> | |
OutputIt | AppendWrite (OutputIt it, std::size_t length, std::string_view format_str, const ArgsT &... args) |
template<typename OutputIt , typename... ArgsT> | |
OutputIt | AppendWrite (OutputIt it, std::size_t length, std::wstring_view format_str, const ArgsT &... args) |
template<typename... ArgsT> | |
void | WriteTo (NotNull< std::FILE * > stream, std::string_view format_str, const ArgsT &... args) |
template<typename... ArgsT> | |
void | WriteTo (NotNull< std::FILE * > stream, std::wstring_view format_str, const ArgsT &... args) |
template<typename... ArgsT> | |
void | WriteTo (NotNull< zstring > buffer, std::size_t length, std::string_view format_str, const ArgsT &... args) |
template<typename... ArgsT> | |
void | WriteTo (NotNull< wzstring > buffer, std::size_t length, std::wstring_view format_str, const ArgsT &... args) |
template<std::size_t N, typename... ArgsT> | |
void | WriteTo (char(&buffer)[N], std::string_view format_str, const ArgsT &... args) |
template<std::size_t N, typename... ArgsT> | |
void | WriteTo (wchar_t(&buffer)[N], std::wstring_view format_str, const ArgsT &... args) |
template<typename T > | |
const std::optional< T > | StringTo (std::string_view str) noexcept |
template<typename T > | |
const std::optional< T > | StringPrefixTo (std::string_view str) noexcept |
void | TransformToLowerCase (std::string &str) |
void | TransformToLowerCase (std::wstring &str) |
void | TransformToUpperCase (std::string &str) |
void | TransformToUpperCase (std::wstring &str) |
const std::wstring | GetLocalSystemDateAsString () |
const std::wstring | GetLocalSystemTimeAsString () |
const std::wstring | GetLocalSystemDateAndTimeAsString () |
U64 | GetVirtualMemoryUsage () noexcept |
U64 | GetPhysicalMemoryUsage () noexcept |
void | ComboBoxAdd (NotNull< HWND > dialog, int id, const void *data, NotNull< const_wzstring > desc) noexcept |
void | ComboBoxSelect (NotNull< HWND > dialog, int id, int index) noexcept |
void | ComboBoxSelect (NotNull< HWND > dialog, int id, const void *data) noexcept |
const void * | ComboBoxSelected (NotNull< HWND > dialog, int id) noexcept |
bool | ComboBoxSomethingSelected (NotNull< HWND > dialog, int id) noexcept |
int | ComboBoxCount (NotNull< HWND > dialog, int id) noexcept |
bool | ComboBoxContains (NotNull< HWND > dialog, int id, NotNull< const_wzstring > desc) noexcept |
void | ComboBoxAddValue (NotNull< HWND > dialog, int id, std::size_t value, NotNull< const_wzstring > desc) noexcept |
template<typename T > | |
void | ComboBoxAddPtr (NotNull< HWND > dialog, int id, const T *ptr, NotNull< const_wzstring > desc) noexcept |
void | ComboBoxSelectValue (NotNull< HWND > dialog, int id, std::size_t value) noexcept |
template<typename T > | |
void | ComboBoxSelectPtr (NotNull< HWND > dialog, int id, const T *ptr) noexcept |
std::size_t | ComboBoxSelectedValue (NotNull< HWND > dialog, int id) noexcept |
template<typename T > | |
const T * | ComboBoxSelectedPtr (NotNull< HWND > dialog, int id) noexcept |
Variables | |
constexpr F32 | XM_GA = 2.399963230f |
constexpr U16 | g_primes [] |
template<typename T , typename U > | |
constexpr bool | is_equivalent_integral_v = is_equivalent_integral< T, U >::value |
using mage::AlignedVector = typedef std::vector< T, AlignedAllocator< T > > |
using mage::AtomicBool = typedef std::atomic< bool > |
An atomic boolean type.
using mage::AtomicF32 = typedef std::atomic< F32 > |
An atomic floating point type with width of exactly 32 bits.
using mage::AtomicF64 = typedef std::atomic< F64 > |
An atomic floating point type with width of exactly 64 bits.
using mage::AtomicFS16 = typedef std::atomic< FS16 > |
The fastest atomic signed integer type with width of at least 16 bits.
using mage::AtomicFS32 = typedef std::atomic< FS32 > |
The fastest atomic signed integer type with width of at least 32 bits.
using mage::AtomicFS64 = typedef std::atomic< FS64 > |
The fastest atomic signed integer type with width of at least 64 bits.
using mage::AtomicFS8 = typedef std::atomic< FS8 > |
The fastest atomic signed integer type with width of at least 8 bits.
using mage::AtomicFU16 = typedef std::atomic< FU16 > |
The fastest atomic unsigned integer type with width of at least 16 bits.
using mage::AtomicFU32 = typedef std::atomic< FU32 > |
The fastest atomic unsigned integer type with width of at least 32 bits.
using mage::AtomicFU64 = typedef std::atomic< FU64 > |
The fastest atomic unsigned integer type with width of at least 64 bits.
using mage::AtomicFU8 = typedef std::atomic< FU8 > |
The fastest atomic unsigned integer type with width of at least 8 bits.
using mage::AtomicS16 = typedef std::atomic< S16 > |
An atomic signed integer type with width of exactly 16 bits.
using mage::AtomicS32 = typedef std::atomic< S32 > |
An atomic signed integer type with width of exactly 32 bits.
using mage::AtomicS64 = typedef std::atomic< S64 > |
An atomic signed integer type with width of exactly 64 bits.
using mage::AtomicS8 = typedef std::atomic< S8 > |
An atomic signed integer type with width of exactly 8 bits.
using mage::AtomicU16 = typedef std::atomic< U16 > |
An atomic unsigned integer type with width of exactly 16 bits.
using mage::AtomicU32 = typedef std::atomic< U32 > |
An atomic unsigned integer type with width of exactly 32 bits.
using mage::AtomicU64 = typedef std::atomic< U64 > |
An atomic unsigned integer type with width of exactly 64 bits.
using mage::AtomicU8 = typedef std::atomic< U8 > |
An atomic unsigned integer type with width of exactly 8 bits.
using mage::AxisAlignedBoundingBox = typedef AABB |
A class of Axis-Aligned Bounding Boxes (AABBs).
using mage::ComPtr = typedef Microsoft::WRL::ComPtr< T > |
A class of smart pointers for managing shared-ownership COM resources.
T | The COM resource type. |
using mage::const_wzstring = typedef gsl::cwzstring<> |
using mage::const_zstring = typedef gsl::czstring<> |
using mage::CPUTimer = typedef Timer< CoreClockPerCore > |
A class of CPU (i.e. core clock per core) timers.
using mage::F32 = typedef float |
A floating point type with width of exactly 32 bits.
using mage::F32x2 = typedef Array< F32, 2u > |
A 2x1 vector type for floating points with width of exactly 32 bits.
using mage::F32x2A = typedef Array< F32, 2u, 16u > |
A 2x1 vector type for floating points with width of exactly 32 bits with a 16-byte alignment.
using mage::F32x3 = typedef Array< F32, 3u > |
A 3x1 vector type for floating points with width of exactly 32 bits.
using mage::F32x3A = typedef Array< F32, 3u, 16u > |
A 3x1 vector type for floating points with width of exactly 32 bits with a 16-byte alignment.
using mage::F32x4 = typedef Array< F32, 4u > |
A 4x1 vector type for floating points with width of exactly 32 bits.
using mage::F32x4A = typedef Array< F32, 4u, 16u > |
A 4x1 vector type for floating points with width of exactly 32 bits with a 16-byte alignment.
using mage::F64 = typedef double |
A floating point type with width of exactly 64 bits.
using mage::F64x2 = typedef Array< F64, 2u > |
A 2x1 vector type for floating points with width of exactly 64 bits.
using mage::F64x3 = typedef Array< F64, 3u > |
A 3x1 vector type for floating points with width of exactly 64 bits.
using mage::F64x4 = typedef Array< F64, 4u > |
A 4x1 vector type for floating points with width of exactly 64 bits.
using mage::FS16 = typedef std::int_fast16_t |
The fastest signed integer type with width of at least 16 bits.
using mage::FS16x2 = typedef Array< FS16, 2u > |
A 2x1 vector type for the fastest signed integers with width of at least 16 bits.
using mage::FS16x3 = typedef Array< FS16, 3u > |
A 3x1 vector type for the fastest signed integers with width of at least 16 bits.
using mage::FS16x4 = typedef Array< FS16, 4u > |
A 4x1 vector type for the fastest signed integers with width of at least 16 bits.
using mage::FS32 = typedef std::int_fast32_t |
The fastest signed integer type with width of at least 32 bits.
using mage::FS32x2 = typedef Array< FS32, 2u > |
A 2x1 vector type for the fastest signed integers with width of at least 32 bits.
using mage::FS32x3 = typedef Array< FS32, 3u > |
A 3x1 vector type for the fastest signed integers with width of at least 32 bits.
using mage::FS32x4 = typedef Array< FS32, 4u > |
A 4x1 vector type for the fastest signed integers with width of at least 32 bits.
using mage::FS64 = typedef std::int_fast64_t |
The fastest signed integer type with width of at least 64 bits.
using mage::FS64x2 = typedef Array< FS64, 2u > |
A 2x1 vector type for the fastest signed integers with width of at least 64 bits.
using mage::FS64x3 = typedef Array< FS64, 3u > |
A 3x1 vector type for the fastest signed integers with width of at least 64 bits.
using mage::FS64x4 = typedef Array< FS64, 4u > |
A 4x1 vector type for the fastest signed integers with width of at least 64 bits.
using mage::FS8 = typedef std::int_fast8_t |
The fastest signed integer type with width of at least 8 bits.
using mage::FS8x2 = typedef Array< FS8, 2u > |
A 2x1 vector type for the fastest signed integers with width of at least 8 bits.
using mage::FS8x3 = typedef Array< FS8, 3u > |
A 3x1 vector type for the fastest signed integers with width of at least 8 bits.
using mage::FS8x4 = typedef Array< FS8, 4u > |
A 4x1 vector type for the fastest signed integers with width of at least 8 bits.
using mage::FU16 = typedef std::uint_fast16_t |
The fastest unsigned integer type with width of at least 16 bits.
using mage::FU16x2 = typedef Array< FU16, 2u > |
A 2x1 vector type for the fastest unsigned integers with width of at least 16 bits.
using mage::FU16x3 = typedef Array< FU16, 3u > |
A 3x1 vector type for the fastest unsigned integers with width of at least 16 bits.
using mage::FU16x4 = typedef Array< FU16, 4u > |
A 4x1 vector type for the fastest unsigned integers with width of at least 16 bits.
using mage::FU32 = typedef std::uint_fast32_t |
The fastest unsigned integer type with width of at least 32 bits.
using mage::FU32x2 = typedef Array< FU32, 2u > |
A 2x1 vector type for the fastest unsigned integers with width of at least 32 bits.
using mage::FU32x3 = typedef Array< FU32, 3u > |
A 3x1 vector type for the fastest unsigned integers with width of at least 32 bits.
using mage::FU32x4 = typedef Array< FU32, 4u > |
A 4x1 vector type for the fastest unsigned integers with width of at least 32 bits.
using mage::FU64 = typedef std::uint_fast64_t |
The fastest unsigned integer type with width of at least 64 bits.
using mage::FU64x2 = typedef Array< FU64, 2u > |
A 2x1 vector type for the fastest unsigned integers with width of at least 64 bits.
using mage::FU64x3 = typedef Array< FU64, 3u > |
A 3x1 vector type for the fastest unsigned integers with width of at least 64 bits.
using mage::FU64x4 = typedef Array< FU64, 4u > |
A 4x1 vector type for the fastest unsigned integers with width of at least 64 bits.
using mage::FU8 = typedef std::uint_fast8_t |
The fastest unsigned integer type with width of at least 8 bits.
using mage::FU8x2 = typedef Array< FU8, 2u > |
A 2x1 vector type for the fastest unsigned integers with width of at least 8 bits.
using mage::FU8x3 = typedef Array< FU8, 3u > |
A 3x1 vector type for the fastest unsigned integers with width of at least 8 bits.
using mage::FU8x4 = typedef Array< FU8, 4u > |
A 4x1 vector type for the fastest unsigned integers with width of at least 8 bits.
using mage::H32 = typedef Hyperbolic< F32 > |
using mage::H64 = typedef Hyperbolic< F64 > |
using mage::MemoryStack = typedef SingleEndedMemoryStack |
A class of single-ended memory stacks.
using mage::NotNull = typedef gsl::not_null< T > |
A class of not-null values.
T | The null-assignable value or pointer type. |
A type for representing not-null values.
using mage::S16 = typedef std::int16_t |
A signed integer type with width of exactly 16 bits.
using mage::S16x2 = typedef Array< S16, 2u > |
A 2x1 vector type for signed integers with width of exactly 16 bits.
using mage::S16x3 = typedef Array< S16, 3u > |
A 3x1 vector type for signed integers with width of exactly 16 bits.
using mage::S16x4 = typedef Array< S16, 4u > |
A 4x1 vector type for signed integers with width of exactly 16 bits.
using mage::S32 = typedef std::int32_t |
A signed integer type with width of exactly 32 bits.
using mage::S32x2 = typedef Array< S32, 2u > |
A 2x1 vector type for signed integers with width of exactly 32 bits.
using mage::S32x3 = typedef Array< S32, 3u > |
A 3x1 vector type for signed integers with width of exactly 32 bits.
using mage::S32x4 = typedef Array< S32, 4u > |
A 4x1 vector type for signed integers with width of exactly 32 bits.
using mage::S64 = typedef std::int64_t |
A signed integer type with width of exactly 64 bits.
using mage::S64x2 = typedef Array< S64, 2u > |
A 2x1 vector type for signed integers with width of exactly 64 bits.
using mage::S64x3 = typedef Array< S64, 3u > |
A 3x1 vector type for signed integers with width of exactly 64 bits.
using mage::S64x4 = typedef Array< S64, 4u > |
A 4x1 vector type for signed integers with width of exactly 64 bits.
using mage::S8 = typedef std::int8_t |
A signed integer type with width of exactly 8 bits.
using mage::S8x2 = typedef Array< S8, 2u > |
A 2x1 vector type for signed integers with width of exactly 8 bits.
using mage::S8x3 = typedef Array< S8, 3u > |
A 3x1 vector type for signed integers with width of exactly 8 bits.
using mage::S8x4 = typedef Array< S8, 4u > |
A 4x1 vector type for signed integers with width of exactly 8 bits.
using mage::SharedHandle = typedef SharedPtr< void > |
A class of smart pointers for managing shared-ownership handle resources.
using mage::SharedPtr = typedef std::shared_ptr< T > |
A class of smart pointers for managing shared-ownership memory resources.
T | The memory resource type. |
using mage::TimeIntervalSeconds = typedef std::chrono::duration< F64 > |
A time interval type expressed in seconds.
using mage::TimeStampSeconds = typedef std::chrono::duration< F64 > |
A time stamp type expressed in seconds.
using mage::U16 = typedef std::uint16_t |
An unsigned integer type with width of exactly 16 bits.
using mage::U16x2 = typedef Array< U16, 2u > |
A 2x1 vector type for unsigned integers with width of exactly 16 bits.
using mage::U16x3 = typedef Array< U16, 3u > |
A 3x1 vector type for unsigned integers with width of exactly 16 bits.
using mage::U16x4 = typedef Array< U16, 4u > |
A 4x1 vector type for unsigned integers with width of exactly 16 bits.
using mage::U32 = typedef std::uint32_t |
An unsigned integer type with width of exactly 32 bits.
using mage::U32x2 = typedef Array< U32, 2u > |
A 2x1 vector type for unsigned integers with width of exactly 32 bits.
using mage::U32x3 = typedef Array< U32, 3u > |
A 3x1 vector type for unsigned integers with width of exactly 32 bits.
using mage::U32x4 = typedef Array< U32, 4u > |
A 4x1 vector type for unsigned integers with width of exactly 32 bits.
using mage::U64 = typedef std::uint64_t |
An unsigned integer type with width of exactly 64 bits.
using mage::U64x2 = typedef Array< U64, 2u > |
A 2x1 vector type for unsigned integers with width of exactly 64 bits.
using mage::U64x3 = typedef Array< U64, 3u > |
A 3x1 vector type for unsigned integers with width of exactly 64 bits.
using mage::U64x4 = typedef Array< U64, 4u > |
A 4x1 vector type for unsigned integers with width of exactly 64 bits.
using mage::U8 = typedef std::uint8_t |
An unsigned integer type with width of exactly 8 bits.
using mage::U8x2 = typedef Array< U8, 2u > |
A 2x1 vector type for unsigned integers with width of exactly 8 bits.
using mage::U8x3 = typedef Array< U8, 3u > |
A 3x1 vector type for unsigned integers with width of exactly 8 bits.
using mage::U8x4 = typedef Array< U8, 4u > |
A 4x1 vector type for unsigned integers with width of exactly 8 bits.
using mage::UniqueFileStream = typedef UniquePtr< std::FILE, details::FileStreamCloser > |
A class of smart pointers for managing exclusive-ownership file streams.
using mage::UniqueHandle = typedef UniquePtr< void, details::HandleCloser > |
A class of smart pointers for managing exclusive-ownership handle resources.
using mage::UniquePtr = typedef std::unique_ptr< T, DeleterT > |
A class of smart pointers for managing exclusive-ownership memory resources.
T | The memory resource type. |
DeleterT | The deleter type. |
using mage::Value = typedef std::variant< bool, F32, F32x2, F32x3, F32x4, S32, S32x2, S32x3, S32x4, U32, U32x2, U32x3, U32x4, std::string > |
A value type for representing the types of variables.
using mage::ValueMap = typedef std::map< std::string, Value, std::less<> > |
A value map type for representing the mapping type between the name and value of variables.
using mage::WallClockTimer = typedef Timer< std::chrono::high_resolution_clock > |
A class of wall clock timers.
using mage::WeakPtr = typedef std::weak_ptr< T > |
A class of smart pointers for referencing but not managing shared-ownership memory resources.
T | The memory resource type. |
using mage::wzstring = typedef gsl::wzstring<> |
using mage::zstring = typedef gsl::zstring<> |
|
strong |
|
strong |
|
strong |
|
strong |
|
noexcept |
ProxyPtr< ElementT > mage::AddElement | ( | AlignedVector< ElementT > & | elements, |
ConstructorArgsT &&... | args | ||
) |
ProxyPtr< ElementT > mage::AddElementPtr | ( | AlignedVector< UniquePtr< BaseT > > & | elements, |
ConstructorArgsT &&... | args | ||
) |
|
noexcept |
|
noexcept |
Allocates memory on a given alignment boundary of the given size.
[in] | size | The requested size in bytes to allocate in memory. |
[in] | alignment | The alignment in bytes. |
nullptr
if the allocation failed.
|
noexcept |
Allocates memory on a given alignment boundary.
T | The data type. |
[in] | count | The number of objects of type T to allocate in memory. |
[in] | alignment | The alignment in bytes. |
nullptr
if the allocation failed. OutputIt mage::AppendWrite | ( | OutputIt | it, |
std::string_view | format_str, | ||
const ArgsT &... | args | ||
) |
OutputIt mage::AppendWrite | ( | OutputIt | it, |
std::wstring_view | format_str, | ||
const ArgsT &... | args | ||
) |
OutputIt mage::AppendWrite | ( | OutputIt | it, |
std::size_t | length, | ||
std::string_view | format_str, | ||
const ArgsT &... | args | ||
) |
OutputIt mage::AppendWrite | ( | OutputIt | it, |
std::size_t | length, | ||
std::wstring_view | format_str, | ||
const ArgsT &... | args | ||
) |
constexpr const auto mage::ArrayToTupple | ( | const std::array< T, N > & | a | ) |
|
noexcept |
Returns the number of bits per pixel of the given DXGI format.
[in] | format | The DXGI format. |
Reads a T
element from the given big endian byte array.
sizeof(T)
bytes. T | The data type. |
[in] | bytes | A pointer to a big endian byte array. |
T
element represented by the big endian byte array bytes. Reads a T
element from the given little endian byte array.
sizeof(T)
bytes. T | The data type. |
[in] | bytes | A pointer to a little endian byte array. |
T
element represented by the little endian byte array bytes.
|
noexcept |
Reads a T
element from the given byte array.
sizeof(T)
bytes. T | The data type. |
[in] | bytes | A pointer to a byte array. |
[in] | big_endian | true if the given byte array should be interpreted as big endian. false otherwise (i.e. little endian). |
T
element represented by the byte array bytes. Clamps the given angle (in degrees) between the given minimum and maximum angle (in degrees).
[in] | angle | The angle (in degrees). |
[in] | min_angle | The minimum angle (in degrees). |
[in] | max_angle | The maximum angle (in degrees). |
Clamps the given angle (in radians) between the given minimum and maximum angle (in radians).
[in] | angle | The angle (in radians). |
[in] | min_angle | The minimum angle (in radians). |
[in] | max_angle | The maximum angle (in radians). |
|
noexcept |
Clamps the given angles (in radians) between the given minimum and maximum angles (in radians).
[in] | angles | The angles (in radians). |
[in] | min_angles | The minimum angles (in radians). |
[in] | max_angles | The maximum angles (in radians). |
|
noexcept |
Classifies the second given bounding volume with regard to the first given bounding volume.
BoundingVolumeT | The first bounding volume type. |
BoundingVolumeU | The second bounding volume type. |
[in] | volume1 | A reference to the first bounding volume. |
[in] | volume2 | A reference to the second bounding volume. |
|
noexcept |
Classifies the given point with regard to the given bounding volume.
BoundingVolumeT | The bounding volume type. |
[in] | volume | A reference to the bounding volume. |
[in] | point | The point. |
[in] | epsilon | The epsilon value. |
|
noexcept |
Classifies the given point with regard to the given bounding volume.
BoundingVolumeT | The bounding volume type. |
[in] | volume | A reference to the bounding volume. |
[in] | point | A reference to the point. |
[in] | epsilon | The epsilon value. |
|
noexcept |
Adds an item associated with the given data and described with the given descriptor to a combo box.
[in] | dialog | A handle to the dialog box that contains the control. |
[in] | id | The identifier of the control to be retrieved. |
[in] | data | A pointer to the data of the item to add. |
[in] | desc | The description of the item to add. |
|
noexcept |
Adds an item associated with the given pointer and described with the given descriptor to a combo box.
T | The data type. |
[in] | dialog | A handle to the dialog box that contains the control. |
[in] | id | The identifier of the control to be retrieved. |
[in] | ptr | The pointer of the item to add. |
[in] | desc | The description of the item to add. |
|
noexcept |
Adds an item associated with the given value and described with the given descriptor to a combo box.
[in] | dialog | A handle to the dialog box that contains the control. |
[in] | id | The identifier of the control to be retrieved. |
[in] | value | The value of the item to add. |
[in] | desc | The description of the item to add. |
|
noexcept |
Checks whether a combo box contains the given descriptor.
[in] | dialog | A handle to the dialog box that contains the control. |
[in] | id | The identifier of the control to be retrieved. |
[in] | desc | The string description to check. |
true
if the given description is contained in the combo box. false
otherwise.
|
noexcept |
Returns the number of items in a combo box.
[in] | dialog | A handle to the dialog box that contains the control. |
[in] | id | The identifier of the control to be retrieved. |
|
noexcept |
Selects the item at the given index in a combo box.
[in] | dialog | A handle to the dialog box that contains the control. |
[in] | id | The identifier of the control to be retrieved. |
[in] | index | The index of the item. |
|
noexcept |
Selects the item associated with the given data in a combo box.
[in] | dialog | A handle to the dialog box that contains the control. |
[in] | id | The identifier of the control to be retrieved. |
[in] | data | A pointer to the data of the item. |
|
noexcept |
Returns the data associated with the selected item in a combo box.
[in] | dialog | A handle to the dialog box that contains the control. |
[in] | id | The identifier of the control to be retrieved. |
nullptr
if the combo box has no items.
|
noexcept |
Returns the pointer associated with the selected item in a combo box.
T | The data type. |
[in] | dialog | A handle to the dialog box that contains the control. |
[in] | id | The identifier of the control to be retrieved. |
void
* data to T*
data.
|
noexcept |
Returns the value associated with the selected item in a combo box.
[in] | dialog | A handle to the dialog box that contains the control. |
[in] | id | The identifier of the control to be retrieved. |
void
* data to std::size_t
data.
|
noexcept |
Selects the item associated with the given pointer in a combo box.
T | The data type. |
[in] | dialog | A handle to the dialog box that contains the control. |
[in] | id | The identifier of the control to be retrieved. |
[in] | ptr | The pointer of the item to add. |
|
noexcept |
Selects the item associated with the given value in a combo box.
[in] | dialog | A handle to the dialog box that contains the control. |
[in] | id | The identifier of the control to be retrieved. |
[in] | value | The value of the item to add. |
|
noexcept |
Checks whether a valid item is selected in a combo box.
[in] | dialog | A handle to the dialog box that contains the control. |
[in] | id | The identifier of the control to be retrieved. |
true
if a valid item is selected in the combo box. false
otherwise. FU16 mage::ConsoleWidth | ( | ) |
|
noexcept |
Creates a unique pointer whose stored pointer is obtained by const casting the stored pointer of the given unique pointer.
ToT | The conversion to-type. |
FromT | The conversion from-type. |
[in] | ptr | A reference to the unique pointer to cast. |
|
noexcept |
Creates a proxy pointer whose stored getter is obtained by const casting the stored getter of the given proxy pointer.
ToT | The conversion to-type. |
FromT | The conversion from-type. |
[in] | ptr | A reference to the proxy pointer to cast. |
|
noexcept |
Creates a proxy pointer whose stored getter is obtained by const casting the stored getter of the given proxy pointer.
ToT | The conversion to-type. |
FromT | The conversion from-type. |
[in] | ptr | A reference to the proxy pointer to cast. |
|
noexcept |
Converts the given DXGI format to an sRGB DXGI format.
[in] | format | The DXGI format. |
UniquePtr< Engine > mage::CreateEngine | ( | const EngineSetup & | setup | ) |
|
noexcept |
SharedHandle mage::CreateSharedHandle | ( | HANDLE | handle | ) |
Creates a shared handle for the given handle.
[in] | handle | A handle. |
UniqueHandle mage::CreateUniqueHandle | ( | HANDLE | handle | ) |
Creates a unique handle for the given handle.
[in] | handle | A handle. |
void mage::Debug | ( | [[maybe_unused] ] std::string_view | format_str, |
[[maybe_unused] ] const ArgsT &... | args | ||
) |
Logs a debug message.
A debug message is associated with generally useful information to log only in debug builds.
ArgsT | The format argument types. |
[in] | format_str | The format string. |
[in] | args | A reference to the format arguments. |
void mage::Debug | ( | [[maybe_unused] ] std::wstring_view | format_str, |
[[maybe_unused] ] const ArgsT &... | args | ||
) |
Logs a debug message.
A debug message is associated with generally useful information to log only in debug builds.
ArgsT | The format argument types. |
[in] | format_str | The format string. |
[in] | args | A reference to the format arguments. |
|
noexcept |
Creates a unique pointer whose stored pointer is obtained by dynamically casting the stored pointer of the given unique pointer.
ToT | The conversion to-type. |
FromT | The conversion from-type. |
[in] | ptr | A reference to the unique pointer to cast. |
|
noexcept |
Creates a proxy pointer whose stored getter is obtained by dynamically casting the stored getter of the given proxy pointer.
ToT | The conversion to-type. |
FromT | The conversion from-type. |
[in] | ptr | A reference to the proxy pointer to cast. |
|
noexcept |
Creates a proxy pointer whose stored getter is obtained by dynamically casting the stored getter of the given proxy pointer.
ToT | The conversion to-type. |
FromT | The conversion from-type. |
[in] | ptr | A reference to the proxy pointer to cast. |
constexpr const auto mage::EnlargeArray | ( | const std::array< T, FromN > & | a | ) |
decltype(auto) mage::EraseIf | ( | ContainerT & | container, |
PredicateT && | predicate | ||
) |
Erases all the elements of the given container that satisfy the given predicate.
ContainerT | The container type. |
PredicateT | The predicate type. |
[in,out] | container | A reference to the container. |
[in] | predicate | A reference to the predicate. |
void mage::Error | ( | std::string_view | format_str, |
const ArgsT &... | args | ||
) |
Logs an error message.
An error message is associated with any error which is fatal to the operation, but not the service or application.
ArgsT | The format argument types. |
[in] | format_str | The format string. |
[in] | args | A reference to the format arguments. |
void mage::Error | ( | std::wstring_view | format_str, |
const ArgsT &... | args | ||
) |
Logs an error message.
An error message is associated with any error which is fatal to the operation, but not the service or application.
ArgsT | The format argument types. |
[in] | format_str | The format string. |
[in] | args | A reference to the format arguments. |
void mage::Fatal | ( | std::string_view | format_str, |
const ArgsT &... | args | ||
) |
Logs a fatal message.
A fatal message is associated with any error that is forcing a shutdown of the service or application to prevent data loss (or further data loss).
ArgsT | The format argument types. |
[in] | format_str | The format string. |
[in] | args | A reference to the format arguments. |
void mage::Fatal | ( | std::wstring_view | format_str, |
const ArgsT &... | args | ||
) |
Logs a fatal message.
A fatal message is associated with any error that is forcing a shutdown of the service or application to prevent data loss (or further data loss).
ArgsT | The format argument types. |
[in] | format_str | The format string. |
[in] | args | A reference to the format arguments. |
|
noexcept |
|
noexcept |
|
noexcept |
constexpr const auto mage::FillArray | ( | const T & | value | ) |
const auto mage::Format | ( | const StringT & | format_str, |
const ArgsT &... | args | ||
) |
|
noexcept |
Frees a block of memory that was allocated with mage::AllocAligned(std::size_t, std::size_t) or mage::AllocAlignedData<T>(std::size_t, std::size_t).
[in] | ptr | A pointer to the memory block that was allocated. |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
Returns the caller of DialogBoxParam
.
lParam
formal parameter of DialogBoxParam
should be initialized to this
and this
should point to an instance of type CallerT. CallerT | The caller type. |
[in] | dialog | A handle to the dialog box. |
[in] | message | The message. |
[in] | wParam | Additional message-specific information. |
[in] | lParam | Additional message-specific information. |
DialogBoxParam
.
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
const std::wstring mage::GetLocalSystemDateAndTimeAsString | ( | ) |
Returns the current local system date and time as a string.
const std::wstring mage::GetLocalSystemDateAsString | ( | ) |
Returns the current local system date as a string.
const std::wstring mage::GetLocalSystemTimeAsString | ( | ) |
Returns the current local system time as a string.
|
noexcept |
Returns the projection values from the given projection matrix to construct the NDC z-coordinate from the view z-coordinate.
[in] | projection_matrix | The projection matrix. |
|
noexcept |
Returns the next guid.
|
noexcept |
Retrieves the current working set size (in bytes) of the running process.
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
Returns the version major number.
|
noexcept |
Returns the version minor number.
|
noexcept |
Returns the version patch number.
|
noexcept |
Retrieves the total amount of memory (in bytes) that the memory manager has committed to the running process.
|
noexcept |
Returns the caller of CreateWindow
or CreateWindowEx
.
lpParam
formal parameter of CreateWindow
or CreateWindowEx
should be initialized to this
and this
should point to an instance of type CallerT. CallerT | The caller type. |
[in] | window | A handle to the window. |
[in] | message | The message. |
[in] | wParam | Additional message-specific information. |
[in] | lParam | Additional message-specific information. |
CreateWindow
or CreateWindowEx
.
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
void mage::Info | ( | std::string_view | format_str, |
const ArgsT &... | args | ||
) |
Logs an info message.
An info message is associated with generally useful information to log.
ArgsT | The format argument types. |
[in] | format_str | The format string. |
[in] | args | A reference to the format arguments. |
void mage::Info | ( | std::wstring_view | format_str, |
const ArgsT &... | args | ||
) |
Logs an info message.
An info message is associated with generally useful information to log.
ArgsT | The format argument types. |
[in] | format_str | The format string. |
[in] | args | A reference to the format arguments. |
void mage::InitializeConsole | ( | ) |
Allocates a console for basic IO and redirects stdin
, stdout
and stderr
to this allocated console.
Exception | Failed to initialize the console. |
Inverts the handness of the given point.
[in] | point | A reference to the point. |
Inverts the handness of the given normal.
[in] | normal | A reference to the normal. |
|
noexcept |
Inverts the handness of the given direction.
[in] | direction | A reference to the direction. |
void mage::Log | ( | MessageDisposition | disposition, |
std::string_view | format_str, | ||
const ArgsT &... | args | ||
) |
Logs a message.
ArgsT | The format argument types. |
[in] | disposition | The message disposition. |
[in] | format_str | The format string. |
[in] | args | A reference to the format arguments. |
void mage::Log | ( | MessageDisposition | disposition, |
std::wstring_view | format_str, | ||
const ArgsT &... | args | ||
) |
Logs a message.
ArgsT | The format argument types. |
[in] | disposition | The message disposition. |
[in] | format_str | The format string. |
[in] | args | A reference to the format arguments. |
SharedPtr< T > mage::MakeAllocatedShared | ( | ConstructorArgsT &&... | args | ) |
Constructs an object of type T.
The custom allocator is used for constructing the object of type T.
T | The type. |
ConstructorArgsT | The constructor argument types. |
[in] | args | A reference to the constructor arguments. |
SharedPtr< T > mage::MakeShared | ( | ConstructorArgsT &&... | args | ) |
Constructs an object of type T.
No custom allocator is used for constructing the object of type T.
T | The type. |
ConstructorArgsT | The constructor argument types. |
[in] | args | A reference to the constructor arguments. |
UniquePtr< T > mage::MakeUnique | ( | ConstructorArgsT &&... | args | ) |
Constructs an object of type T.
T | The type. |
ConstructorArgsT | The constructor argument types. |
[in] | args | A reference to the constructor arguments. |
|
noexcept |
FU16 mage::NumberOfPhysicalCores | ( | ) |
Returns the number of physical cores (i.e. physical processors).
|
noexcept |
Returns the number of system cores (i.e. logical processors).
|
noexcept |
Checks whether the given proxy pointer is not equal to nullptr
.
T | The memory resource type. |
[in] | lhs | A reference to the proxy pointer. |
true
if the given proxy pointer is equal to nullptr
. false
otherwise.
|
noexcept |
Checks whether the given proxy pointer is not equal to nullptr
.
T | The memory resource type. |
[in] | rhs | A reference to the proxy pointer. |
true
if the given proxy pointer is equal to nullptr
. false
otherwise.
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
Checks whether the given proxy pointer is equal to nullptr
.
T | The memory resource type. |
[in] | lhs | A reference to the proxy pointer. |
true
if the given proxy pointer is equal to nullptr
. false
otherwise.
|
noexcept |
Checks whether the given proxy pointer is equal to nullptr
.
T | The memory resource type. |
[in] | rhs | A reference to the proxy pointer. |
true
if the given proxy pointer is equal to nullptr
. false
otherwise.
|
noexcept |
Calculates an orthonormal basis from a given unit vector.
[in] | n | A basis vector of the orthonormal basis. |
|
noexcept |
Calculates an orthonormal basis from a given unit vector with the method of Duff, Burgess, Christensen, Hery, Kensler, Liani and Villemin.
[in] | n | A basis vector of the orthonormal basis. |
|
noexcept |
Calculates an orthonormal basis from a given unit vector with the method of Frisvad.
[in] | n | A basis vector of the orthonormal basis. |
|
noexcept |
Calculates an orthonormal basis from a given unit vector with the method of Hughes and Möller.
[in] | n | A basis vector of the orthonormal basis. |
void mage::Print | ( | std::string_view | format_str, |
const ArgsT &... | args | ||
) |
void mage::Print | ( | std::wstring_view | format_str, |
const ArgsT &... | args | ||
) |
|
noexcept |
Prints the header of the engine to the console.
void mage::ReadBinaryFile | ( | const std::filesystem::path & | path, |
UniquePtr< U8[] > & | data, | ||
std::size_t & | size | ||
) |
Reads the bytes of the binary file associated with the given path.
[in] | path | A reference to the path. |
[in,out] | data | A reference to a pointer to a buffer for storing the read bytes. |
[in,out] | size | A reference to the size of the read bytes. |
Exception | Failed to read from the file. |
|
noexcept |
Creates a unique pointer whose stored pointer is obtained by reinterpret casting the stored pointer of the given unique pointer.
ToT | The conversion to-type. |
FromT | The conversion from-type. |
[in] | ptr | A reference to the unique pointer to cast. |
|
noexcept |
Creates a proxy pointer whose stored getter is obtained by reinterpret casting the stored getter of the given proxy pointer.
ToT | The conversion to-type. |
FromT | The conversion from-type. |
[in] | ptr | A reference to the proxy pointer to cast. |
|
noexcept |
Creates a proxy pointer whose stored getter is obtained by reinterpret casting the stored getter of the given proxy pointer.
ToT | The conversion to-type. |
FromT | The conversion from-type. |
[in] | ptr | A reference to the proxy pointer to cast. |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
Converts the given handle to a safe handle.
[in] | handle | A handle. |
nullptr
is returned. Clamps the given value to [0,1].
[in] | value | The value. |
|
noexcept |
Clamps the given value to [0,1]^4.
[in] | value | The value. |
|
noexcept |
|
noexcept |
Creates a unique pointer whose stored pointer is obtained by statically casting the stored pointer of the given unique pointer.
ToT | The conversion to-type. |
FromT | The conversion from-type. |
[in] | ptr | A reference to the unique pointer to cast. |
|
noexcept |
Creates a proxy pointer whose stored getter is obtained by statically casting the stored getter of the given proxy pointer.
ToT | The conversion to-type. |
FromT | The conversion from-type. |
[in] | ptr | A reference to the proxy pointer to cast. |
constexpr const auto mage::StaticCastArray | ( | const std::array< FromT, N > & | a | ) |
|
noexcept |
Converts the prefix of the given string to a T
value.
T | The data type. |
[in] | str | The string to convert. |
T
value if the the conversion of the prefix of the given string succeeded.
|
noexcept |
Converts the given string to a T
value.
T | The data type. |
[in] | str | The string to convert. |
T
value if the the conversion of the given string succeeded. void mage::ThrowIfFailed | ( | bool | result | ) |
Throws if the given result correspond to a failure.
[in] | result | The result value. |
Exception | result is false . |
void mage::ThrowIfFailed | ( | bool | result, |
std::string_view | format_str, | ||
const ArgsT &... | args | ||
) |
Throws if the given result correspond to a failure.
ArgsT | The format argument types. |
[in] | result | The result value. |
[in] | format_str | The format string. |
[in] | args | A reference to the format arguments. |
Exception | result is false . |
void mage::ThrowIfFailed | ( | BOOL | result | ) |
Throws if the given result correspond to a failure.
[in] | result | The result value. |
Exception | result is FALSE . |
void mage::ThrowIfFailed | ( | BOOL | result, |
std::string_view | format_str, | ||
const ArgsT &... | args | ||
) |
Throws if the given result correspond to a failure.
ArgsT | The format argument types. |
[in] | result | The result value. |
[in] | format_str | The format string. |
[in] | args | A reference to the format arguments. |
Exception | result is FALSE . |
void mage::ThrowIfFailed | ( | HRESULT | result | ) |
Throws if the given result correspond to a failure.
[in] | result | The result value. |
Exception | The given result corresponds to a failure. |
void mage::ThrowIfFailed | ( | HRESULT | result, |
std::string_view | format_str, | ||
const ArgsT &... | args | ||
) |
Throws if the given result correspond to a failure.
ArgsT | The format argument types. |
[in] | result | The result value. |
[in] | format_str | The format string. |
[in] | args | A reference to the format arguments. |
Exception | The given result corresponds to a failure. |
constexpr const auto mage::TransformArray | ( | ActionT && | action, |
const std::array< FromT, N > & | a | ||
) |
void mage::TransformToLowerCase | ( | std::string & | str | ) |
Transforms the given string to lower case.
[in,out] | str | A reference to the string to transform. |
void mage::TransformToLowerCase | ( | std::wstring & | str | ) |
Transforms the given string to lower case.
[in,out] | str | A reference to the string to transform. |
void mage::TransformToUpperCase | ( | std::string & | str | ) |
Transforms the given string to upper case.
[in,out] | str | A reference to the string to transform. |
void mage::TransformToUpperCase | ( | std::wstring & | str | ) |
Transforms the given string to upper case.
[in,out] | str | A reference to the string to transform. |
constexpr const auto mage::TuppleToArray | ( | const std::tuple< T, Ts... > & | t | ) |
|
noexcept |
void mage::Warning | ( | std::string_view | format_str, |
const ArgsT &... | args | ||
) |
Logs a warning message.
A warning message is associated with anything that can potentially cause application oddities.
ArgsT | The format argument types. |
[in] | format_str | The format string. |
[in] | args | A reference to the format arguments. |
void mage::Warning | ( | std::wstring_view | format_str, |
const ArgsT &... | args | ||
) |
Logs a warning message.
A warning message is associated with anything that can potentially cause application oddities.
ArgsT | The format argument types. |
[in] | format_str | The format string. |
[in] | args | A reference to the format arguments. |
Wraps the given angle (in degrees) to [-180, 180].
[in] | angle | The angle (in degrees). |
Wraps the given angle (in radians) to [-pi, pi].
[in] | angle | The angle (in radians). |
|
noexcept |
Wraps the given angles (in radians) to [-pi, pi).
[in] | angles | The angles (in radians). |
void mage::WriteTo | ( | NotNull< std::FILE * > | stream, |
std::string_view | format_str, | ||
const ArgsT &... | args | ||
) |
void mage::WriteTo | ( | NotNull< std::FILE * > | stream, |
std::wstring_view | format_str, | ||
const ArgsT &... | args | ||
) |
void mage::WriteTo | ( | NotNull< zstring > | buffer, |
std::size_t | length, | ||
std::string_view | format_str, | ||
const ArgsT &... | args | ||
) |
void mage::WriteTo | ( | NotNull< wzstring > | buffer, |
std::size_t | length, | ||
std::wstring_view | format_str, | ||
const ArgsT &... | args | ||
) |
void mage::WriteTo | ( | char(&) | buffer[N], |
std::string_view | format_str, | ||
const ArgsT &... | args | ||
) |
void mage::WriteTo | ( | wchar_t(&) | buffer[N], |
std::wstring_view | format_str, | ||
const ArgsT &... | args | ||
) |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
Converts the given RECT
(left, top, right, bottom) to a XMVECTOR
(left, top, right, bottom).
[in] | rect | A reference to the rectangle. |
XMVECTOR
(left, top, right, bottom) representing the given RECT
(left, top, right, bottom).
|
noexcept |
Converts the given RECT
(left, top, right, bottom) to a XMVECTOR
(left, top, width, height).
[in] | rect | A reference to the rectangle. |
XMVECTOR
(left, top, width, height) representing the given RECT
(left, top, right, bottom).
|
noexcept |
constexpr U16 mage::g_primes[] |
The first 168 prime numbers (i.e. all the prime numbers less than 1000).
constexpr bool mage::is_equivalent_integral_v = is_equivalent_integral< T, U >::value |
constexpr F32 mage::XM_GA = 2.399963230f |
The Golden Angle.