Botcraft 1.21.4
Loading...
Searching...
No Matches
ProtocolCraft::Internal::RecursiveWrapper< T > Class Template Reference

Template magic to have a full type instead of an incomplete one as required for example by std::variant. More...

#include <RecursiveWrapper.hpp>

Public Member Functions

 RecursiveWrapper ()=delete
 
 ~RecursiveWrapper ()=default
 
 RecursiveWrapper (const RecursiveWrapper &r) noexcept
 
 RecursiveWrapper (RecursiveWrapper &&r) noexcept
 
 RecursiveWrapper (const T &r) noexcept
 
 RecursiveWrapper (T &&r) noexcept
 
const T & get () const noexcept
 
T & get () noexcept
 
RecursiveWrapperoperator= (const RecursiveWrapper &other) noexcept
 
RecursiveWrapperoperator= (RecursiveWrapper &&other) noexcept
 

Private Attributes

std::unique_ptr< T > p
 

Detailed Description

template<typename T>
class ProtocolCraft::Internal::RecursiveWrapper< T >

Template magic to have a full type instead of an incomplete one as required for example by std::variant.

Template Parameters
TAny incomplete class we want to wrap

Definition at line 13 of file RecursiveWrapper.hpp.

Constructor & Destructor Documentation

◆ RecursiveWrapper() [1/5]

template<typename T >
ProtocolCraft::Internal::RecursiveWrapper< T >::RecursiveWrapper ( )
delete

◆ ~RecursiveWrapper()

template<typename T >
ProtocolCraft::Internal::RecursiveWrapper< T >::~RecursiveWrapper ( )
default

◆ RecursiveWrapper() [2/5]

template<typename T >
ProtocolCraft::Internal::RecursiveWrapper< T >::RecursiveWrapper ( const RecursiveWrapper< T > &  r)
inlinenoexcept

◆ RecursiveWrapper() [3/5]

template<typename T >
ProtocolCraft::Internal::RecursiveWrapper< T >::RecursiveWrapper ( RecursiveWrapper< T > &&  r)
inlinenoexcept

◆ RecursiveWrapper() [4/5]

template<typename T >
ProtocolCraft::Internal::RecursiveWrapper< T >::RecursiveWrapper ( const T &  r)
inlinenoexcept

◆ RecursiveWrapper() [5/5]

template<typename T >
ProtocolCraft::Internal::RecursiveWrapper< T >::RecursiveWrapper ( T &&  r)
inlinenoexcept

Member Function Documentation

◆ get() [1/2]

template<typename T >
const T & ProtocolCraft::Internal::RecursiveWrapper< T >::get ( ) const
inlinenoexcept

◆ get() [2/2]

template<typename T >
T & ProtocolCraft::Internal::RecursiveWrapper< T >::get ( )
inlinenoexcept

◆ operator=() [1/2]

template<typename T >
RecursiveWrapper & ProtocolCraft::Internal::RecursiveWrapper< T >::operator= ( const RecursiveWrapper< T > &  other)
inlinenoexcept

◆ operator=() [2/2]

template<typename T >
RecursiveWrapper & ProtocolCraft::Internal::RecursiveWrapper< T >::operator= ( RecursiveWrapper< T > &&  other)
inlinenoexcept

Member Data Documentation

◆ p


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