| CRaven::Allocation | Represents a single allocation record |
| CRaven::MemoryTracker::AllocationInfo | Struct to hold memory allocation information |
| CRaven::AllocatorTraits< T > | Compile-time traits for determining allocation strategy of T |
| CRaven::ApplicationSpecification | Holds initial configuration for the Application |
| CRaven::ArgParser | |
| CRaven::Buffer | A simple container for a raw memory buffer |
| CRaven::BufferElement | Describes a single element in a vertex buffer layout |
| CRaven::Camera | Base class for camera implementations |
| CRaven::EditorCamera | |
| CRaven::CameraData | Uniform buffer object holding camera view-projection matrix |
| CRaven::Hardware::Capabilities | Instruction-set capabilities |
| CRaven::Castable< Derived > | CRTP base class enabling self-casting in derived types |
| CRaven::Castable< Framebuffer > | |
| CRaven::Framebuffer | Abstract interface for framebuffer management |
| CRaven::VulkanFramebuffer | Vulkan implementation of the Framebuffer abstraction |
| CRaven::Castable< ImGuiRenderer > | |
| CRaven::ImGuiRenderer | Interface for ImGui rendering backend implementations |
| CRaven::VulkanImGuiRenderer | ImGui renderer implementation using Vulkan backend |
| CRaven::Castable< RenderCommandBuffer > | |
| CRaven::RenderCommandBuffer | |
| CRaven::VulkanCommandBuffer | Vulkan-specific implementation of a RenderCommandBuffer |
| CRaven::Castable< RendererAPI > | |
| CRaven::RendererAPI | Core abstraction for GPU rendering operations |
| CRaven::VulkanRenderer | Vulkan implementation of the RendererAPI interface |
| CRaven::Castable< RenderPass > | |
| CRaven::RenderPass | Interface representing a GPU render pass abstraction |
| CRaven::VulkanRenderPass | Vulkan-specific implementation of a RenderPass |
| CRaven::Castable< ShaderModuleHandle > | |
| CRaven::ShaderModuleHandle | Represents a single shader stage module within a Shader |
| CRaven::VulkanShaderModuleHandle | |
| CRaven::ComponentBase | Abstract base class for all components |
| CRaven::ComponentStorage< T > | Stores component data for a specific component type |
| CRaven::ComponentData | Aggregates optional component data for serialization |
| CRaven::ConfigurationManager | Singleton manager for application configuration files |
| CRaven::ConsoleHandler | Handler that writes log messages to the console |
| CRaven::ContainedTypeRegistrar< T > | |
| CRaven::ContainedTypeRegistrar< std::array< T, N > > | |
| CRaven::ContainedTypeRegistrar< std::unordered_map< T, N > > | |
| CRaven::ContainedTypeRegistrar< std::vector< T > > | |
| CCrux::Detail::CosCoeffs< Degree > | Polynomial coefficient table for cosine approximations on [-pi/4, pi/4] |
| CCrux::Detail::CosCoeffs< 5 > | Degree-5 cosine: cos(x) ~= c0 + c2*x^2 + c4*x^4 |
| CCrux::Detail::CosCoeffs< 7 > | Degree-7 cosine: cos(x) ~= c0 + c2*x^2 + c4*x^4 + c6*x^6 |
| CCrux::Detail::CosCoeffs< 9 > | Degree-9 cosine: cos(x) ~= c0 + c2*x^2 + c4*x^4 + c6*x^6 + c8*x^8 |
| CRaven::DeferredDeletionQueue | Manages deferred execution of destruction callbacks |
| CRaven::DescriptorSetManager | Manages Vulkan descriptor sets for a given render pass specification |
| CRaven::DirectionalLightData | |
| CRaven::EditorResources | |
| CRaven::Entity | Lightweight wrapper for manipulating a single entity within the ECS |
| CRaven::EntityData | Data structure representing an entity for serialization |
| CRaven::Event | Abstract base class for all events in Raven |
| CRaven::AppRenderEvent | Event triggered once per application render |
| CRaven::AppTickEvent | Event triggered once per tick cycle |
| CRaven::AppUpdateEvent | Event triggered once per application update |
| CRaven::KeyEvent | Abstract base class for keyboard-related events |
| CRaven::KeyPressedEvent | Event triggered when a key is pressed |
| CRaven::KeyReleasedEvent | Event triggered when a key is released |
| CRaven::MouseButtonEvent | Base class for mouse button events |
| CRaven::MouseButtonPressedEvent | Event triggered when a mouse button is pressed |
| CRaven::MouseButtonReleasedEvent | Event triggered when a mouse button is released |
| CRaven::MouseMovedEvent | Event triggered when the mouse is moved |
| CRaven::MouseScrolledEvent | Event triggered when the mouse wheel is scrolled |
| CRaven::WindowCloseEvent | Event triggered when the window is requested to close |
| CRaven::WindowResizeEvent | Event triggered when the main window is resized |
| CRaven::EventDispatcher | Routes an Event to a matching handler function |
| CRaven::Expected< T > | Template representing either a valid value or an error |
| Cstd::false_type | |
| CRaven::always_false< T > | Helper type that always yields false, used for static assertions in templates |
| CRaven::FileHandler | Handler that writes log messages to a file |
| CRaven::FixedFunction< Signature, StorageSize > | Type-erased callable wrapper with small buffer optimization (SBO) |
| CRaven::FixedFunction< R(Args...), StorageSize > | |
| CRaven::Formatter | Utility for formatting log messages with level and timestamp |
| CRaven::FramebufferAttachmentSpecification | Defines a collection of texture attachments for a framebuffer |
| CRaven::FramebufferSpecification | Configuration settings for creating or resizing a framebuffer |
| CRaven::FramebufferTextureSpecification | Describes a single texture attachment in a framebuffer |
| CRaven::Framework | Core application manager handling initialization, update loop, rendering, and shutdown |
| CRaven::Hardware::HardwareInfo | Overall hardware info: CPU, cores, RAM, caps |
| Cstd::hash< Raven::TypeID > | Hash specialization for Raven::TypeID |
| Cstd::hash< Raven::UUID > | Hash function specialization for UUID |
| CRaven::IllumineRenderer | Static interface facade for all renderer operations |
| CRaven::Image2D | Abstract interface representing a GPU image resource.Defines lifecycle management, resizing, and query functions for images |
| CRaven::VulkanImage2D | Vulkan implementation of a 2D image resource |
| CRaven::ImageSpecification | Describes the properties required to create or configure an Image2D resource |
| Cshaderc::CompileOptions::IncluderInterface | |
| CRaven::HLSLIncluder | Custom include handler for HLSL shader source files used with shaderc compiler |
| CRaven::IndexBuffer | Interface representing an index buffer resource |
| CRaven::VulkanIndexBuffer | Vulkan implementation of an index buffer |
| CRaven::Input | Provides static methods to query keyboard and mouse state |
| CRaven::InputContext | |
| CRaven::Job | Represents a job that encapsulates a task to be executed |
| CRaven::JobQueue< T > | A thread-safe queue for enqueuing and dequeuing jobs |
| CRaven::Logger | Central logging facility for the Raven engine |
| CRaven::LogSettings | |
| CRaven::MalevolentAllocator | Fixed-size chunk pool allocator |
| CRaven::Material | Abstract interface for material resource binding |
| CRaven::VulkanMaterial | Vulkan-specific material resource binder |
| CRaven::MaterialAsset | Serializable description of a material |
| CRaven::MaterialHandle | Opaque handle referencing a material in the registry |
| CRaven::MaterialRegistry | Central manager for material lifetimes and asset persistence |
| CCrux::Matrix< T, Rows, Cols > | Generic fixed-size matrix container |
| CRaven::MemoryManager | Central singleton for managing engine memory allocators |
| CRaven::Mesh | Interface representing a 3D mesh resource |
| CRaven::VulkanMesh | Vulkan-specific implementation of a Mesh |
| CRaven::MeshData | Holds mesh asset reference data for an entity |
| CRaven::MeshVertex | Vertex structure used for the Mesh's representation |
| Cglz::meta< Crux::vec3 > | Glaze serialization specialization for Crux::vec3 |
| Cglz::meta< Raven::MaterialAsset > | |
| CRaven::Pipeline | Abstract interface for managing a rendering pipeline |
| CRaven::VulkanPipeline | Vulkan implementation of the rendering Pipeline abstraction |
| CRaven::PipelineSpecification | Configuration parameters to describe a rendering pipeline |
| CRaven::PipelineStatistics | Holds GPU statistics gathered from pipeline execution |
| CRaven::PointLightComponent | |
| CRaven::PointLightData | |
| CRaven::PointLightUBOData | |
| CRaven::Project | Represents an active project including configuration and directory management |
| CRaven::ProjectConfig | Holds basic configuration data for a project |
| CRaven::ProjectSerializer | Handles serialization and deserialization of Project configurations |
| CRaven::PushConstant | |
| CRaven::ShaderResource::PushConstantRange | Represents a push constant range used in shaders |
| CRaven::QueueFamilyIndices | Holds the indices of Vulkan queue families used for graphics and presentation |
| CCrux::Random | Static wrapper around RandomEngine for convenience |
| CCrux::RandomEngine | High-performance 64-bit state, 32-bit output PRNG based on PCG32 |
| CRaven::Ref< T > | Atomic reference-counted pointer |
| CRaven::VulkanShader::ReflectionData | Reflection data extracted from the shader code |
| CRaven::RegisterMember< Parent, Member > | |
| CRaven::RegisterType< T > | |
| CRegisterTypeOnConstruct | CRTP-based helper for auto-registration of types on static construction |
| CRaven::Registry | Central manager for component registration and entity-component mapping |
| CRaven::RendererConfig | Configuration options controlling renderer behavior |
| CRaven::RendererData | Runtime statistics and shared renderer resources |
| CRaven::RenderPassInput | Describes a single input resource for a render pass, including type, binding indices, and resource handles |
| CRaven::RenderPassSpecification | Holds the essential configuration for a RenderPass |
| CRaven::Scene | Represents a scene containing entities and handles their lifecycle and rendering |
| CRaven::SceneData | Top-level structure representing the entire scene data |
| CRaven::SceneRenderer | Responsible for rendering a Scene, managing framebuffers, pipelines, and draw calls |
| CRaven::SceneSerializer | Serializes and deserializes a Scene to/from disk |
| CRaven::Scope< T > | Exclusive-ownership smart pointer |
| CRaven::ScopedBuffer | A wrapper around Buffer that ensures automatic release of memory when it goes out of scope |
| CRaven::UI::ScopedColor | RAII helper to push and pop a single ImGui style color |
| CRaven::UI::ScopedColorStack | RAII helper to push and pop multiple ImGui style colors in one go. Expects a list of pairs: (ImGuiCol colorID, ColorValue) |
| CRaven::UI::ScopedFont | RAII helper to push and pop an ImGui font |
| CRaven::UI::ScopedID | RAII helper to push and pop an ImGui ID. Supports any type convertible to ImGuiID |
| CRaven::UI::ScopedItemFlags | RAII helper to push and pop ImGui item flags |
| CRaven::UI::ScopedStyle | RAII helper to push and pop a single ImGui style variable. Pushes the style var on construction, pops on destruction |
| CRaven::UI::ScopedStyleStack | RAII helper to push and pop multiple ImGui style variables in one go. Expects a list of pairs: (ImGuiStyleVar, Value) |
| CRaven::ScopedTimer | A scoped timer class for automatic timing |
| CRaven::ScopeWithAllocator< T > | Scoped smart pointer that uses a specific allocator |
| CRaven::Semaphores | |
| CRaven::Shader | Represents a complete shader composed of multiple shader stage modules |
| CRaven::VulkanShader | Represents a Vulkan shader, managing modules, reflection data, and descriptor sets |
| CRaven::ShaderBuffer | Represents a shader buffer (e.g., uniform or constant buffer) |
| CRaven::ShaderResource::ShaderDescriptor | Represents an individual shader descriptor binding |
| CRaven::ShaderResource::ShaderDescriptorSet | Groups multiple descriptors into a descriptor set |
| CRaven::ShaderLibrary | Manages a collection of shaders for efficient reuse and lookup |
| CRaven::ShaderResourceDeclaration | Declares any shader resource including buffers and textures |
| CRaven::ShaderSettingsData | |
| CCrux::Detail::SinCoeffs< Degree > | Polynomial coefficient table for sine approximations on [-pi/4, pi/4] |
| CCrux::Detail::SinCoeffs< 5 > | Degree-5 sine: sin(x) ~= c1*x + c3*x^3 + c5*x^5 |
| CCrux::Detail::SinCoeffs< 7 > | Degree-7 sine: sin(x) ~= c1*x + c3*x^3 + c5*x^5 + c7*x^7 |
| CCrux::Detail::SinCoeffs< 9 > | Degree-9 sine: sin(x) ~= c1*x + c3*x^3 + c5*x^5 + c7*x^7 + c9*x^9 |
| CRaven::SkylightComponent | |
| CRaven::SkylightData | |
| CRaven::StackAllocator< T > | Stack-based allocator for objects of type T |
| CRaven::StaticMeshComponent | Component holding a reference to a static mesh asset |
| CRaven::StaticMeshSubmission | Represents a static mesh draw submission |
| CRaven::SubMesh | Represents a contiguous section of the mesh data inside the merged buffers |
| CRaven::Swapchain | Abstract interface for the platform-specific swapchain |
| CRaven::VulkanSwapchain | Holds semaphores used for synchronizing image acquisition and rendering |
| CRaven::SystemHolder | Holds all necessary data for managing a system instance |
| CRaven::SystemManager | Manages the registration, update, and shutdown of systems |
| CRaven::SystemVTable | A static vtable holding function pointers for system operations |
| CRaven::TagComponent | Simple tag to name or identify an entity |
| CRaven::Texture | Abstract interface representing a texture resource |
| CRaven::Texture2D | Factory and concrete interface for 2D textures |
| CRaven::VulkanTexture2D | Vulkan-specific 2D texture implementation |
| CRaven::TextureSlot | Lightweight descriptor of a texture binding inside a material |
| CRaven::TextureSpecification | Defines the properties and intended usage of a texture |
| CRaven::ThreadPool | A thread pool for scheduling and executing jobs in parallel |
| CRaven::Time | |
| CRaven::Timer | A high-resolution timer class |
| CRaven::TimerData | Holds the name, elapsed time, and threshold for a timer |
| CRaven::Timestep | A class representing a time step |
| CRaven::UI::Toast | Simple structure to represent a toast notification |
| CRaven::TransformComponent | Stores position, rotation, and scale of an entity |
| CRaven::TransformData | Represents position, rotation, and scale of an entity |
| CTs... | |
| Coverload< Ts > | |
| CRaven::TypeData | Metadata about a type |
| CRaven::TypeID | A unique identifier for a type |
| CRaven::TypeRegistry | Global runtime type registry for Raven Engine |
| CRaven::UIManager | Manages UI lifecycle, panels, and rendering for both editor and runtime |
| CRaven::UIPanelContext | Context passed to UI panel callbacks during rendering |
| CRaven::ShaderResource::UniformBuffer | Represents a uniform buffer descriptor |
| CRaven::UniformBuffer | Represents a GPU uniform buffer for shader constant data.Provides an interface to create uniform buffers and update their contents. Designed to be implemented by backend-specific subclasses |
| CRaven::VulkanUniformBuffer | Vulkan-specific UniformBuffer implementation |
| CRaven::UUID | A class representing a Universally Unique Identifier (UUID) |
| CRaven::UUIDGenerator | Centralized generator for 64-bit tagged UUIDs |
| CRaven::VariableData | |
| CRaven::VariableID | |
| CCrux::Vector< T, N > | General N-dimensional fixed-size vector container |
| CCrux::Vector< T, 2 > | 2-dimensional vector |
| CCrux::Vector< T, 3 > | 3-dimensional vector |
| CCrux::Vector< T, 4 > | 4-dimensional vector |
| CRaven::VertexBuffer | Represents a GPU vertex buffer.Used to store vertex data for rendering. The class provides a factory method to create vertex buffers from raw data |
| CRaven::VulkanVertexBuffer | Vulkan backend implementation of a vertex buffer |
| CRaven::VertexBufferLayout | Represents the layout of vertex buffer elements in memory |
| CRaven::VulkanCommandPool | Wrapper around a Vulkan command pool |
| CRaven::VulkanDevice | Manages Vulkan physical and logical device selection and creation |
| CRaven::VulkanImageInfo | Holds Vulkan-specific handles related to an image |
| CRaven::VulkanShaderCompiler | Manages compilation and reflection of Vulkan-compatible SPIR-V shaders from HLSL sources |
| CVulkanShaderHandle | Handles a Vulkan shader module lifecycle and stores its entry point |
| CRaven::Window | Class representing a window |
| CRaven::WindowProps | Struct to hold window properties |
| CRaven::Worker | Background thread that fetches and executes jobs from a JobQueue |