Core components of the Raven engine.
More...
|
| file | Concepts.h |
| | Provides various type concepts for the Raven engine.
|
| file | Types.h |
| | Fundamental type definitions and alignment utilities for Raven Engine.
|
| file | Raven.h |
| | Centralized access to core subsystems of the Raven Engine.
|
|
| #define | RV_BIND_EVENT_FN(fn) |
| | Generates a lambda that binds a member function to this instance, forwarding all arguments.
|
Core components of the Raven engine.
◆ RV_BIND_EVENT_FN
| #define RV_BIND_EVENT_FN |
( |
| fn | ) |
|
Value:[this](auto&&... args) -> decltype(auto) { return this->fn(std::forward<decltype(args)>(args)...); }
Generates a lambda that binds a member function to this instance, forwarding all arguments.
Expands to a generic lambda which captures this and invokes the member function fn on the current object, perfectly forwarding any parameters.
Typical usage: someEventDispatcher.Bind(RV_BIND_EVENT_FN(OnEvent));
- Parameters
-
| fn | The member function name to bind (must exist on this class). |
◆ CastHelper()
template<typename To, typename From>
| To Raven::CastHelper |
( |
From * | ptr | ) |
|
|
inline |
Safe casting function between types.
This function is used to perform safe casting between types using either dynamic_cast in debug mode for safety checks or static_cast in release mode.
- Template Parameters
-
| To | The target type for casting. |
| From | The source type for casting. |
- Parameters
-
| ptr | The pointer to be casted. |
- Returns
- The casted pointer of type To.
- Note
- This function performs runtime checks in debug mode and falls back to a static cast in release mode.
◆ CheckRequiredCapabilities()
| void Raven::Hardware::CheckRequiredCapabilities |
( |
| ) |
|
|
noexcept |
Verifies that all required caps are present.
Required: SSE4.1, FMA3, AVX, AVX2. Logs a critical error if any are missing.
◆ GetSystemVTable()
Retrieves a static vtable for the specified system type T.
This templated function generates a static SystemVTable instance for type T. The returned vtable contains lambda functions that cast a void pointer to T and invoke its OnInit, OnUpdate, and OnShutdown methods.
- Template Parameters
-
- Returns
- const SystemVTable* Pointer to the system's static vtable.
◆ LogHardwareInfo()
| void Raven::Hardware::LogHardwareInfo |
( |
| ) |
|
|
noexcept |
◆ QueryCapabilities()
Query the CPU for instruction-set support.
- Returns
- A Capabilities struct with flags indicating support.
◆ QueryHardwareInfo()
Query overall hardware: brand string, cores, RAM, caps.
- Returns
- A HardwareInfo struct filled in.