Raven Engine v0.1
A modern 3D Game Engine
Loading...
Searching...
No Matches
Raven::RefCounted Class Reference

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.

Public Member Functions

 RefCounted ()
virtual ~RefCounted ()
void IncRefCount ()
void DecRefCount ()
u32 GetRefCount () const

Detailed Description

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.

Constructor & Destructor Documentation

◆ RefCounted()

Raven::RefCounted::RefCounted ( )
default

◆ ~RefCounted()

Raven::RefCounted::~RefCounted ( )
virtualdefault

Member Function Documentation

◆ 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