kblib 0.2.3
General utilities library for modern C++
kblib::live_ptr< T > Class Template Reference

#include <kblib/memory.h>

Inheritance diagram for kblib::live_ptr< T >:
Collaboration diagram for kblib::live_ptr< T >:

Public Types

using value_type = T
 

Public Member Functions

 live_ptr ()=default
 
 live_ptr (const live_ptr &o)=default
 
 live_ptr (live_ptr &&o) noexcept=default
 
auto operator= (const live_ptr &o) -> live_ptr &=default
 
auto operator= (live_ptr &&o) noexcept -> live_ptr &=default
 
 live_ptr (live_wrapper< T > &o)
 
auto operator= (live_wrapper< T > &o) -> live_ptr &
 
 ~live_ptr ()=default
 
- Public Member Functions inherited from kblib::detail_memory::live_ptr_base< live_ptr< T > >
auto operator* () noexcept -> T &
 
auto operator* () const noexcept -> const T &
 
auto operator-> () noexcept -> T *
 
auto operator-> () const noexcept -> const T *
 
 operator bool () const noexcept
 
 live_ptr_base () noexcept=default
 
 live_ptr_base (live_wrapper< mT > *p)
 
 live_ptr_base (const live_ptr_base &o)
 
 live_ptr_base (live_ptr_base &&o) noexcept
 
auto operator= (const live_ptr_base &o) noexcept -> live_ptr_base &
 
auto operator= (live_ptr_base &&o) noexcept -> live_ptr_base &
 
auto operator= (const live_ptr< T > &o) -> live_ptr< T > &
 
auto operator= (live_ptr< T > &&o) noexcept -> live_ptr< T > &
 
 ~live_ptr_base ()
 

Friends

class live_ptr< const T >
 

Additional Inherited Members

- Protected Member Functions inherited from kblib::detail_memory::live_ptr_base< live_ptr< T > >
auto add () -> void
 
auto rem () -> void
 
auto move (live_ptr< T > &o) -> void
 
- Protected Attributes inherited from kblib::detail_memory::live_ptr_base< live_ptr< T > >
live_wrapper< mT > * obj
 

Detailed Description

template<typename T>
class kblib::live_ptr< T >

Definition at line 331 of file memory.h.

Member Typedef Documentation

◆ value_type

template<typename T >
using kblib::live_ptr< T >::value_type = T

Definition at line 335 of file memory.h.

Constructor & Destructor Documentation

◆ live_ptr() [1/4]

template<typename T >
kblib::live_ptr< T >::live_ptr ( )
default

◆ live_ptr() [2/4]

template<typename T >
kblib::live_ptr< T >::live_ptr ( const live_ptr< T > &  o)
default

◆ live_ptr() [3/4]

template<typename T >
kblib::live_ptr< T >::live_ptr ( live_ptr< T > &&  o)
defaultnoexcept

◆ live_ptr() [4/4]

template<typename T >
kblib::live_ptr< T >::live_ptr ( live_wrapper< T > &  o)
inlineexplicit

Definition at line 343 of file memory.h.

◆ ~live_ptr()

template<typename T >
kblib::live_ptr< T >::~live_ptr ( )
default

Member Function Documentation

◆ operator=() [1/3]

template<typename T >
auto kblib::live_ptr< T >::operator= ( const live_ptr< T > &  o) -> live_ptr &=default
default

◆ operator=() [2/3]

template<typename T >
auto kblib::live_ptr< T >::operator= ( live_ptr< T > &&  o) -> live_ptr &=default
defaultnoexcept

◆ operator=() [3/3]

template<typename T >
auto kblib::live_ptr< T >::operator= ( live_wrapper< T > &  o) -> live_ptr&
inline

Definition at line 347 of file memory.h.

Friends And Related Function Documentation

◆ live_ptr< const T >

template<typename T >
friend class live_ptr< const T >
friend

Definition at line 354 of file memory.h.


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