libebml_ng
Classes
Pointers and Memory Management

Classes and templates for managing object ownership and memory. More...

Classes

class  ebml::ebml_shared_ptr< T >
 A drop-in replacement for std::shared_ptr tailored for EBML objects. More...
 
class  ebml::ebml_weak_ptr< T >
 A drop-in replacement for std::weak_ptr tailored for EBML objects. More...
 
template<typename T , typename U >
ebml_shared_ptr< T > ebml::ebml_dynamic_pointer_cast (const ebml_shared_ptr< U > &)
 
template<typename T , typename U >
ebml_shared_ptr< T > ebml::ebml_dynamic_pointer_cast (ebml_shared_ptr< U > &&)
 
template<typename T , typename U >
ebml_weak_ptr< T > ebml::ebml_dynamic_pointer_cast (const ebml_weak_ptr< U > &)
 
template<typename T , typename U >
ebml_shared_ptr< T > ebml::ebml_static_pointer_cast (const ebml_shared_ptr< U > &)
 
template<typename T , typename U >
ebml_shared_ptr< T > ebml::ebml_static_pointer_cast (ebml_shared_ptr< U > &&)
 
template<typename T , typename U >
ebml_weak_ptr< T > ebml::ebml_static_pointer_cast (const ebml_weak_ptr< U > &)
 
template<typename T , typename U >
ebml_shared_ptr< T > ebml::ebml_const_pointer_cast (const ebml_shared_ptr< U > &)
 
template<typename T , typename U >
ebml_shared_ptr< T > ebml::ebml_const_pointer_cast (ebml_shared_ptr< U > &&)
 

Detailed Description

Classes and templates for managing object ownership and memory.

This module defines the custom smart pointer types and other utilities used internally by the library to ensure safe and efficient memory management.

Function Documentation

◆ ebml_const_pointer_cast() [1/2]

template<typename T , typename U >
ebml_shared_ptr< T > ebml::ebml_const_pointer_cast ( const ebml_shared_ptr< U > &  other)

◆ ebml_const_pointer_cast() [2/2]

template<typename T , typename U >
ebml_shared_ptr< T > ebml::ebml_const_pointer_cast ( ebml_shared_ptr< U > &&  other)

◆ ebml_dynamic_pointer_cast() [1/3]

template<typename T , typename U >
ebml_shared_ptr< T > ebml::ebml_dynamic_pointer_cast ( const ebml_shared_ptr< U > &  other)

◆ ebml_dynamic_pointer_cast() [2/3]

template<typename T , typename U >
ebml_shared_ptr< T > ebml::ebml_dynamic_pointer_cast ( ebml_shared_ptr< U > &&  other)

◆ ebml_dynamic_pointer_cast() [3/3]

template<typename T , typename U >
ebml_weak_ptr< T > ebml::ebml_dynamic_pointer_cast ( const ebml_weak_ptr< U > &  other)

◆ ebml_static_pointer_cast() [1/3]

template<typename T , typename U >
ebml_shared_ptr< T > ebml::ebml_static_pointer_cast ( const ebml_shared_ptr< U > &  other)

◆ ebml_static_pointer_cast() [2/3]

template<typename T , typename U >
ebml_shared_ptr< T > ebml::ebml_static_pointer_cast ( ebml_shared_ptr< U > &&  other)

◆ ebml_static_pointer_cast() [3/3]

template<typename T , typename U >
ebml_weak_ptr< T > ebml::ebml_static_pointer_cast ( const ebml_weak_ptr< U > &  other)