The Hubris Engine main namespace. More...
Namespaces | |
| namespace | Core |
| namespace | Graphics |
| Contains all graphics related classes and structs. | |
| namespace | IO |
Classes | |
| struct | Arena |
| struct | BasicStore |
| struct | Block |
| struct | ControlBlock |
| class | Engine |
| Stores and defines Engine wide data and functionalities. More... | |
| struct | EngineConfig |
| Used to configure the engine on instantiation. More... | |
| class | GraphicsManager |
| struct | Handle |
| class | List |
| A generic dynamic array container that manages a sequence of elements of type T, providing memory management, element access, and basic list operations with error handling. More... | |
| class | Logger |
| class | Memory |
| class | Observer |
| struct | remove_all_pointers |
| struct | remove_all_pointers< T * > |
| struct | remove_all_pointers< T *const > |
| struct | remove_all_pointers< T *const volatile > |
| struct | remove_all_pointers< T *volatile > |
| class | RingBuffer |
| An implementation of a fixed-size (power of two only) Ring Buffer. More... | |
| struct | Shared |
| struct | SharedBlock |
| Shared blocks are thread shared blocks. More... | |
| class | ThreadPool |
| struct | Version |
| class | WaitGroup |
| struct | Weak |
Concepts | |
| concept | Castable |
| concept | PolymorphicConvertible |
| concept | SafelyUpcastable |
| concept | SameUnqualifiedType |
| concept | CompatibleHandle |
| concept | IsType |
Typedefs | |
| typedef void(* | StartupCallback) () |
| template<typename T> | |
| using | remove_all_pointers_t = typename remove_all_pointers<T>::type |
| template<typename T> | |
| using | observer_ptr = Observer<T> |
Enumerations | |
| enum class | RenderAPI : unsigned short { RenderAPI::OpenGL , RenderAPI::Vulkan , RenderAPI::DX12 , RenderAPI::DX11 , RenderAPI::None } |
| enum class | ErrorCode : uint32_t { OK = 0 , NOT_INITIALIZED = 1 << 0 , INVALID_OPERATION = 1 << 1 , UNSUPPORTED = 1 << 2 , NOT_IMPLEMENTED = 1 << 3 , NO_MEMORY = 1 << 4 , OUT_OF_RANGE = 1 << 5 , INVALID_ARGUMENT = 1 << 6 , NOT_AVAILABLE = 1 << 7 , NO_PERMISSION = 1 << 8 , FATAL_ERROR = 1 << 9 , NON_FATAL_ERROR = 1 << 10 , RUNTIME_ERROR = 1 << 11 , OPERATION_FAILED = 1 << 12 , CORE_ERROR = 1 << 13 , INTERNAL_ERROR = 1 << 14 , UNKNOWN = 1 << 15 , FAILED = 1 << 16 } |
Functions | |
| constexpr ErrorCode | operator| (ErrorCode lhs, ErrorCode rhs) |
| constexpr ErrorCode & | operator|= (ErrorCode &lhs, ErrorCode rhs) |
| constexpr ErrorCode | operator& (ErrorCode lhs, ErrorCode rhs) |
| constexpr ErrorCode & | operator&= (ErrorCode &lhs, ErrorCode rhs) |
| constexpr bool | operator! (ErrorCode e) |
| constexpr bool | HasError (ErrorCode combined, ErrorCode specific) |
| template<typename T> | |
| bool | operator== (const List< T > &lhs, const List< T > &rhs) noexcept |
| template<typename T> | |
| bool | operator!= (const List< T > &lhs, const List< T > &rhs) noexcept |
| template<typename T> | |
| void | swap (List< T > &lhs, List< T > &rhs) noexcept |
| bool | is_success (List< int >::Result result) noexcept |
| bool | is_failure (List< int >::Result result) noexcept |
| template<typename T> | |
| consteval size_t | padded_size () |
| template<typename T, typename F> | |
| void | Traverse (T &&container, F &&func) |
| template<typename T> | |
| constexpr ControlBlock * | CoAllocate_Unsafe () |
| Allocates memory for the ControlBlock and T but does not construct T. This can lead to UB if not used carefully. | |
| template<typename T, typename ... Args> | |
| constexpr void | Construct_T_Inplace (void *placement, Args &&...args) |
| Constructs any object at location (placment new) with the specified arguments. | |
| template<typename T, typename ... Args> | |
| constexpr ControlBlock * | CoAllocate (Args &&...args) |
| Allocates and constructs both the ControlBlock and the Object T and returns the instanciated controlblock. | |
| template<typename T> | |
| Handle (T *) -> Handle< T > | |
| template<typename T> | |
| Shared (T *) -> Shared< T > | |
| template<typename T> | |
| Shared (Weak< T >) -> Shared< T > | |
| template<typename T> | |
| Observer (T *) -> Observer< T > | |
| using Hubris::observer_ptr = Observer<T> |
| using Hubris::remove_all_pointers_t = typename remove_all_pointers<T>::type |
|
strong |
|
constexpr |
Allocates and constructs both the ControlBlock and the Object T and returns the instanciated controlblock.
| ...Args | Argument Types for the Constructor of T |
| ...args | Argument values to be passed to the constructor of T::T(Args&& ...args) |
Definition at line 224 of file Memory.h.
Here is the call graph for this function:
Here is the caller graph for this function:
|
constexpr |
Allocates memory for the ControlBlock and T but does not construct T. This can lead to UB if not used carefully.
Definition at line 189 of file Memory.h.
Here is the call graph for this function:
Here is the caller graph for this function:
|
constexpr |
Constructs any object at location (placment new) with the specified arguments.
| T | Type to be constructed |
| ...Args | Type of arguments for the .Ctor. |
| placement | Location of memory to place T in. |
| ...args | value to be forwarded to the .Ctor. |
Definition at line 214 of file Memory.h.
Here is the caller graph for this function:| Hubris::Handle | ( | T * | ) | -> Handle< T > |
|
inlinenoexcept |
|
inlinenoexcept |
| Hubris::Observer | ( | T * | ) | -> Observer< T > |
|
noexcept |
|
consteval |
| Hubris::Shared | ( | T * | ) | -> Shared< T > |
| Hubris::Shared | ( | Weak< T > | ) | -> Shared< T > |