CommonLibSSE (Parapets fork)
RE::BSPointerHandle< T, Handle > Class Template Reference

#include <BSPointerHandle.h>

Public Types

using native_handle_type = typename Handle::value_type
 

Public Member Functions

 BSPointerHandle () noexcept=default
 
 BSPointerHandle (const BSPointerHandle &) noexcept=default
 
 BSPointerHandle (BSPointerHandle &&) noexcept=default
 
template<class Y , std::enable_if_t< std::is_convertible_v< Y *, T * >, int > = 0>
 BSPointerHandle (Y *a_rhs)
 
template<class Y , std::enable_if_t< std::is_convertible_v< Y *, T * >, int > = 0>
 BSPointerHandle (const BSPointerHandle< Y, Handle > &a_rhs) noexcept
 
BSPointerHandleoperator= (const BSPointerHandle &) noexcept=default
 
BSPointerHandleoperator= (BSPointerHandle &&) noexcept=default
 
template<class Y , std::enable_if_t< std::is_convertible_v< Y *, T * >, int > = 0>
BSPointerHandleoperator= (Y *a_rhs)
 
template<class Y , std::enable_if_t< std::is_convertible_v< Y *, T * >, int > = 0>
BSPointerHandleoperator= (const BSPointerHandle< Y, Handle > &a_rhs) noexcept
 
 ~BSPointerHandle () noexcept=default
 
void reset () noexcept
 
NiPointer< T > get () const
 
native_handle_type native_handle () const noexcept
 
 operator bool () const noexcept
 

Friends

template<class , class >
class BSPointerHandle
 
bool operator== (const BSPointerHandle &a_lhs, const BSPointerHandle &a_rhs) noexcept
 
bool operator!= (const BSPointerHandle &a_lhs, const BSPointerHandle &a_rhs) noexcept
 

Member Typedef Documentation

◆ native_handle_type

template<class T , class Handle >
using RE::BSPointerHandle< T, Handle >::native_handle_type = typename Handle::value_type

Constructor & Destructor Documentation

◆ BSPointerHandle() [1/5]

template<class T , class Handle >
RE::BSPointerHandle< T, Handle >::BSPointerHandle ( )
defaultnoexcept

◆ BSPointerHandle() [2/5]

template<class T , class Handle >
RE::BSPointerHandle< T, Handle >::BSPointerHandle ( const BSPointerHandle< T, Handle > &  )
defaultnoexcept

◆ BSPointerHandle() [3/5]

template<class T , class Handle >
RE::BSPointerHandle< T, Handle >::BSPointerHandle ( BSPointerHandle< T, Handle > &&  )
defaultnoexcept

◆ BSPointerHandle() [4/5]

template<class T , class Handle >
template<class Y , std::enable_if_t< std::is_convertible_v< Y *, T * >, int > = 0>
RE::BSPointerHandle< T, Handle >::BSPointerHandle ( Y *  a_rhs)
inlineexplicit

◆ BSPointerHandle() [5/5]

template<class T , class Handle >
template<class Y , std::enable_if_t< std::is_convertible_v< Y *, T * >, int > = 0>
RE::BSPointerHandle< T, Handle >::BSPointerHandle ( const BSPointerHandle< Y, Handle > &  a_rhs)
inlinenoexcept

◆ ~BSPointerHandle()

template<class T , class Handle >
RE::BSPointerHandle< T, Handle >::~BSPointerHandle ( )
defaultnoexcept

Member Function Documentation

◆ get()

template<class T , class Handle >
NiPointer<T> RE::BSPointerHandle< T, Handle >::get ( ) const
inline

◆ native_handle()

template<class T , class Handle >
native_handle_type RE::BSPointerHandle< T, Handle >::native_handle ( ) const
inlinenoexcept

◆ operator bool()

template<class T , class Handle >
RE::BSPointerHandle< T, Handle >::operator bool ( ) const
inlineexplicitnoexcept

◆ operator=() [1/4]

template<class T , class Handle >
BSPointerHandle& RE::BSPointerHandle< T, Handle >::operator= ( BSPointerHandle< T, Handle > &&  )
defaultnoexcept

◆ operator=() [2/4]

template<class T , class Handle >
BSPointerHandle& RE::BSPointerHandle< T, Handle >::operator= ( const BSPointerHandle< T, Handle > &  )
defaultnoexcept

◆ operator=() [3/4]

template<class T , class Handle >
template<class Y , std::enable_if_t< std::is_convertible_v< Y *, T * >, int > = 0>
BSPointerHandle& RE::BSPointerHandle< T, Handle >::operator= ( const BSPointerHandle< Y, Handle > &  a_rhs)
inlinenoexcept

◆ operator=() [4/4]

template<class T , class Handle >
template<class Y , std::enable_if_t< std::is_convertible_v< Y *, T * >, int > = 0>
BSPointerHandle& RE::BSPointerHandle< T, Handle >::operator= ( Y *  a_rhs)
inline

◆ reset()

template<class T , class Handle >
void RE::BSPointerHandle< T, Handle >::reset ( )
inlinenoexcept

Friends And Related Function Documentation

◆ BSPointerHandle

template<class T , class Handle >
template<class , class >
friend class BSPointerHandle
friend

◆ operator!=

template<class T , class Handle >
bool operator!= ( const BSPointerHandle< T, Handle > &  a_lhs,
const BSPointerHandle< T, Handle > &  a_rhs 
)
friend

◆ operator==

template<class T , class Handle >
bool operator== ( const BSPointerHandle< T, Handle > &  a_lhs,
const BSPointerHandle< T, Handle > &  a_rhs 
)
friend

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