kblib 0.2.3
General utilities library for modern C++
kblib::detail_memory::live_ptr_base< D > Struct Template Reference

#include <kblib/memory.h>

Collaboration diagram for kblib::detail_memory::live_ptr_base< D >:

Public Member Functions

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)
 
auto operator= (const live_ptr_base &o) noexcept -> live_ptr_base &
 
auto operator= (live_ptr_base &&o) noexcept -> live_ptr_base &
 
 live_ptr_base (const live_ptr_base &o)
 
 live_ptr_base (live_ptr_base &&o) noexcept
 
 ~live_ptr_base ()
 
auto operator= (const D &o) -> D &
 
auto operator= (D &&o) noexcept -> D &
 

Protected Member Functions

auto add () -> void
 
auto rem () -> void
 
auto move (D &o) -> void
 

Protected Attributes

live_wrapper< mT > * obj = nullptr
 

Friends

auto operator== (const D &lhs, std::nullptr_t) -> bool
 
auto operator== (std::nullptr_t, const D &rhs) -> bool
 
auto operator== (const D &lhs, const D &rhs) -> bool
 
auto operator== (const D &lhs, const T *rhs) -> bool
 
auto operator== (const T *lhs, const D &rhs) -> bool
 

Detailed Description

template<typename D>
struct kblib::detail_memory::live_ptr_base< D >

Definition at line 231 of file memory.h.

Constructor & Destructor Documentation

◆ live_ptr_base() [1/4]

template<typename D >
kblib::detail_memory::live_ptr_base< D >::live_ptr_base ( )
defaultnoexcept

◆ live_ptr_base() [2/4]

template<typename D >
kblib::detail_memory::live_ptr_base< D >::live_ptr_base ( live_wrapper< mT > *  p)
inline

Definition at line 272 of file memory.h.

◆ live_ptr_base() [3/4]

template<typename D >
kblib::detail_memory::live_ptr_base< D >::live_ptr_base ( const live_ptr_base< D > &  o)
inline

Definition at line 288 of file memory.h.

◆ live_ptr_base() [4/4]

template<typename D >
kblib::detail_memory::live_ptr_base< D >::live_ptr_base ( live_ptr_base< D > &&  o)
inlinenoexcept

Definition at line 292 of file memory.h.

◆ ~live_ptr_base()

template<typename D >
kblib::detail_memory::live_ptr_base< D >::~live_ptr_base ( )
inline

Definition at line 293 of file memory.h.

Member Function Documentation

◆ add()

template<typename D >
auto kblib::detail_memory::live_ptr_base< D >::add ( ) -> void
inlineprotected

Definition at line 308 of file memory.h.

◆ move()

template<typename D >
auto kblib::detail_memory::live_ptr_base< D >::move ( D &  o) -> void
inlineprotected

Definition at line 314 of file memory.h.

◆ operator bool()

template<typename D >
kblib::detail_memory::live_ptr_base< D >::operator bool ( ) const
inlinenoexcept

Definition at line 243 of file memory.h.

◆ operator*() [1/2]

template<typename D >
auto kblib::detail_memory::live_ptr_base< D >::operator* ( ) const -> const T&
inlinenoexcept

Definition at line 238 of file memory.h.

◆ operator*() [2/2]

template<typename D >
auto kblib::detail_memory::live_ptr_base< D >::operator* ( ) -> T&
inlinenoexcept

Definition at line 237 of file memory.h.

◆ operator->() [1/2]

template<typename D >
auto kblib::detail_memory::live_ptr_base< D >::operator-> ( ) const -> const T*
inlinenoexcept

Definition at line 241 of file memory.h.

◆ operator->() [2/2]

template<typename D >
auto kblib::detail_memory::live_ptr_base< D >::operator-> ( ) -> T*
inlinenoexcept

Definition at line 240 of file memory.h.

◆ operator=() [1/4]

template<typename D >
auto kblib::detail_memory::live_ptr_base< D >::operator= ( const D &  o) -> D&
inline

Definition at line 295 of file memory.h.

◆ operator=() [2/4]

template<typename D >
auto kblib::detail_memory::live_ptr_base< D >::operator= ( const live_ptr_base< D > &  o) -> live_ptr_base&
inlinenoexcept

Definition at line 276 of file memory.h.

◆ operator=() [3/4]

template<typename D >
auto kblib::detail_memory::live_ptr_base< D >::operator= ( D &&  o) -> D&
inlinenoexcept

Definition at line 301 of file memory.h.

◆ operator=() [4/4]

template<typename D >
auto kblib::detail_memory::live_ptr_base< D >::operator= ( live_ptr_base< D > &&  o) -> live_ptr_base&
inlinenoexcept

Definition at line 282 of file memory.h.

◆ rem()

template<typename D >
auto kblib::detail_memory::live_ptr_base< D >::rem ( ) -> void
inlineprotected

Definition at line 309 of file memory.h.

Friends And Related Function Documentation

◆ operator== [1/5]

template<typename D >
auto operator== ( const D &  lhs,
const D &  rhs 
) -> bool
friend

Definition at line 252 of file memory.h.

◆ operator== [2/5]

template<typename D >
auto operator== ( const D &  lhs,
const T *  rhs 
) -> bool
friend

Definition at line 256 of file memory.h.

◆ operator== [3/5]

template<typename D >
auto operator== ( const D &  lhs,
std::nullptr_t   
) -> bool
friend

Definition at line 245 of file memory.h.

◆ operator== [4/5]

template<typename D >
auto operator== ( const T *  lhs,
const D &  rhs 
) -> bool
friend

Definition at line 263 of file memory.h.

◆ operator== [5/5]

template<typename D >
auto operator== ( std::nullptr_t  ,
const D &  rhs 
) -> bool
friend

Definition at line 248 of file memory.h.

Member Data Documentation

◆ obj

template<typename D >
live_wrapper<mT>* kblib::detail_memory::live_ptr_base< D >::obj = nullptr
mutableprotected

Definition at line 320 of file memory.h.


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