Mjolnir Core
Core functionality of the Mjolnir API
Classes | Macros | Typedefs | Variables
Core

This module contains the core functionality of the Mjolnir API. More...

Classes

class  AllocationError
 Exception class for failed memory allocations. More...
 
class  Exception
 Base exception class that stores origin and message of an exception. More...
 
class  RuntimeError
 Exception class for errors that do not fit into any other category. More...
 
class  ValueError
 Exception class that should be throwm if an invalid value is detected. More...
 

Macros

#define THROW_EXCEPTION(exception_type, message)   throw exception_type(FUNCTION_SIG, message)
 Throw an exception and automatically add the function that caused it. More...
 
#define THROW_EXCEPTION_IF(condition, exception_type, message)
 Throw an exception if the passed condition is met. More...
 

Typedefs

template<std::integral T_Type>
using EquallySizedUnsignedType = typename std::conditional_t< std::is_unsigned_v< T_Type >, T_Type, std::conditional_t< std::is_same_v< T_Type, IPT >, UPT, std::conditional_t< sizeof(T_Type)==1, U8, std::conditional_t< sizeof(T_Type)==2, U16, std::conditional_t< sizeof(T_Type)==4, U32, U64 > >> >>
 Unsigned integer type with the same size as the reference type. More...
 

Variables

template<typename T_Type >
concept Number = std::is_integral_v<T_Type> || std::is_floating_point_v<T_Type>
 Concept for a number type. More...
 

Detailed Description

This module contains the core functionality of the Mjolnir API.