Base class for intrusive reference-counted objects.
More...
#include <Ref.h>
Inherited by Raven::ComputePass, Raven::ComputePipeline, Raven::Framebuffer, Raven::ImGuiRenderer, Raven::Image2D, Raven::IndexBuffer, Raven::Material, Raven::MaterialRegistry, Raven::Mesh, Raven::Pipeline, Raven::Project, Raven::RenderCommandBuffer, Raven::RenderPass, Raven::RendererAPI, Raven::Scene, Raven::Shader, Raven::ShaderLibrary, Raven::ShaderModuleHandle, Raven::StorageBuffer, Raven::Swapchain, Raven::Texture, Raven::TextureCube, Raven::UniformBuffer, and Raven::VertexBuffer.
Base class for intrusive reference-counted objects.
Classes managed by Ref<T> must inherit from RefCounted. It provides an internal atomic reference counter used by Ref.
The counter starts at 0 and is incremented/decremented automatically by Ref instances. When the counter reaches zero, the object is destroyed via rdelete.
- Note
- Reference count operations are atomic.
◆ RefCounted()
| Raven::RefCounted::RefCounted |
( |
| ) |
|
|
default |
◆ ~RefCounted()
| Raven::RefCounted::~RefCounted |
( |
| ) |
|
|
virtualdefault |
◆ DecRefCount()
| void Raven::RefCounted::DecRefCount |
( |
| ) |
|
◆ GetRefCount()
| u32 Raven::RefCounted::GetRefCount |
( |
| ) |
const |
◆ IncRefCount()
| void Raven::RefCounted::IncRefCount |
( |
| ) |
|
The documentation for this class was generated from the following files:
- Engine/src/Raven/Memory/Ref.h
- Engine/src/Raven/Memory/Ref.cpp