MySQL 8.3.0
Source Code Documentation
my_ref_counted Class Reference

Helper class for reference counting. More...

#include <my_ref_counted.h>

Inheritance diagram for my_ref_counted:

Public Member Functions

 my_ref_counted ()
 default constructor More...
 my_ref_counted (my_ref_counted &other)
 copy constructor More...
virtual ~my_ref_counted ()
uint64 add_reference ()
 Increases a reference count. More...
bool release_reference (uint64 *new_count=nullptr)
 Decreases a reference count. More...
uint64 get_reference_count () const
 Returns the reference counter value. More...

Private Attributes

std::atomic< uint64m_count
 the reference count value More...

Detailed Description

Helper class for reference counting.

Constructor & Destructor Documentation

◆ my_ref_counted() [1/2]

my_ref_counted::my_ref_counted ( )

default constructor

◆ my_ref_counted() [2/2]

my_ref_counted::my_ref_counted ( my_ref_counted other)

copy constructor

◆ ~my_ref_counted()

my_ref_counted::~my_ref_counted ( )

Member Function Documentation

◆ add_reference()

uint64 my_ref_counted::add_reference ( )

Increases a reference count.

old value

◆ get_reference_count()

uint64 my_ref_counted::get_reference_count ( ) const

Returns the reference counter value.

current value

◆ release_reference()

bool my_ref_counted::release_reference ( uint64 new_count = nullptr)

Decreases a reference count.

Doesn't allow to decrease below 0.

[out]new_countPointer to variable to store new count. May be NULL.
Status of performed operation
Return values
trueFailure. Will be returned in case counter is already 0.

Member Data Documentation

◆ m_count

std::atomic<uint64> my_ref_counted::m_count

the reference count value

The documentation for this class was generated from the following files: