Core components of the Raven engine. More...
Files | |
| file | Engine/src/Raven/Core/Concepts.h |
| Provides various type concepts for the Raven engine. | |
| file | Engine/src/Raven/Core/Types.h |
| Fundamental type definitions and alignment utilities for Raven Engine. | |
| file | Engine/src/Raven/Raven.h |
| Centralized access to core subsystems of the Raven Engine. | |
Classes | |
| struct | Raven::ScopedBuffer |
| A wrapper around Buffer that ensures automatic release of memory when it goes out of scope. More... | |
| struct | Raven::function_traits< ReturnType(ClassType::*)(Args...) const > |
Specialization of function_traits for const (non-mutable) lambdas and functors. More... | |
| struct | Raven::function_traits< ReturnType(ClassType::*)(Args...)> |
Specialization of function_traits for mutable lambdas and functors. More... | |
| struct | Raven::function_traits< ReturnType(*)(Args...)> |
Specialization of function_traits for raw function pointers. More... | |
| struct | Raven::CacheKey< Callable, ParamsTuple > |
| Determines the cache key type for a given callable and parameter tuple. More... | |
| struct | Raven::has_type_in_tuple< T, Tuple > |
Checks whether a type T appears anywhere in a std::tuple type list. More... | |
| class | Raven::function_cache< Callable > |
| Memoization wrapper for a stateless callable. More... | |
| struct | Raven::Hardware::Capabilities |
| Instruction-set capabilities. More... | |
| struct | Raven::Hardware::HardwareInfo |
| Overall hardware info: CPU, cores, RAM, caps. More... | |
| struct | Raven::SystemVTable |
| A static vtable holding function pointers for system operations. More... | |
| struct | Raven::SystemHolder |
| Holds all necessary data for managing a system instance. More... | |
| class | Raven::SystemManager |
| Manages the registration, update, and shutdown of systems. More... | |
| struct | Raven::TimerData |
| Stores metadata for recorded timing sessions. More... | |
| class | Raven::Timer |
| High-resolution manual stopwatch. More... | |
| class | Raven::ScopedTimer |
| Scoped RAII timer that automatically records and stores timing data. More... | |
| class | Raven::Time |
| Global static time utility for frame-based timing. More... | |
| class | Raven::Timestep |
| A class representing a time step. More... | |
| class | Raven::UUID |
| A class representing a Universally Unique Identifier (UUID). More... | |
| struct | Raven::WindowProps |
| Struct to hold window properties. More... | |
| class | Raven::Window |
| Class representing a window. More... | |
| struct | Raven::Buffer |
| A simple container for a raw memory buffer. More... | |
| class | Raven::DeferredExecutionQueue |
| Manages deferred execution of callbacks. More... | |
| class | Raven::FixedFunction< Signature, StorageSize > |
| Type-erased callable wrapper with small buffer optimization (SBO). More... | |
Macros | |
| #define | RV_BIND_EVENT_FN(fn) |
| Generates a lambda that binds a member function to this instance, forwarding all arguments. | |
Functions | |
| Capabilities | Raven::Hardware::QueryCapabilities () noexcept |
| Query the CPU for instruction-set support. | |
| HardwareInfo | Raven::Hardware::QueryHardwareInfo () noexcept |
| Query overall hardware: brand string, cores, RAM, caps. | |
| void | Raven::Hardware::LogHardwareInfo () noexcept |
| Log out the hardware info at Info level. | |
| bool | Raven::Hardware::HasRequiredCapabilities () noexcept |
| Verifies that all required caps are present. | |
| template<typename T> | |
| const SystemVTable * | Raven::GetSystemVTable () |
| Retrieves a static vtable for the specified system type T. | |
Core components of the Raven engine.
| #define RV_BIND_EVENT_FN | ( | fn | ) |
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));
| fn | The member function name to bind (must exist on this class). |
| const SystemVTable * Raven::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.
| T | The system type. |
|
noexcept |
Verifies that all required caps are present.
Required: SSE4.1, FMA3, AVX, AVX2. Logs a critical error if any are missing.
|
noexcept |
Log out the hardware info at Info level.
|
noexcept |
Query the CPU for instruction-set support.
|
noexcept |
Query overall hardware: brand string, cores, RAM, caps.