Nana C++ Library. Reference for users.
What we need to use nana
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
nana::pat::cloneable< Base, Mutable > Class Template Reference

Public Member Functions

 cloneable () noexcept=default
 
 cloneable (std::nullptr_t) noexcept
 
template<typename T , typename member_enabled< T >::type * = nullptr>
 cloneable (T &&t)
 
 cloneable (const cloneable &r)
 
 cloneable (cloneable &&r)
 
template<typename OtherBase , typename std::enable_if< std::is_base_of< base_t, OtherBase >::value >::type * = nullptr>
 cloneable (const cloneable< OtherBase, Mutable > &other)
 
cloneableoperator= (const cloneable &r)
 
cloneableoperator= (cloneable &&r)
 
base_t & operator* ()
 
const_base_ref operator* () const noexcept
 
base_t * operator-> () noexcept
 
const_base_ptr operator-> () const noexcept
 
base_t * get () const noexcept
 
void reset ()
 
 operator operator_bool_t () const noexcept
 

Friends

template<typename OtherBase , bool OtherMutable>
class cloneable
 

Constructor & Destructor Documentation

template<typename Base, bool Mutable = false>
nana::pat::cloneable< Base, Mutable >::cloneable ( )
defaultnoexcept
template<typename Base, bool Mutable = false>
nana::pat::cloneable< Base, Mutable >::cloneable ( std::nullptr_t  )
inlinenoexcept
template<typename Base, bool Mutable = false>
template<typename T , typename member_enabled< T >::type * = nullptr>
nana::pat::cloneable< Base, Mutable >::cloneable ( T &&  t)
inline
template<typename Base, bool Mutable = false>
nana::pat::cloneable< Base, Mutable >::cloneable ( const cloneable< Base, Mutable > &  r)
inline
template<typename Base, bool Mutable = false>
nana::pat::cloneable< Base, Mutable >::cloneable ( cloneable< Base, Mutable > &&  r)
inline
template<typename Base, bool Mutable = false>
template<typename OtherBase , typename std::enable_if< std::is_base_of< base_t, OtherBase >::value >::type * = nullptr>
nana::pat::cloneable< Base, Mutable >::cloneable ( const cloneable< OtherBase, Mutable > &  other)
inline

Member Function Documentation

template<typename Base, bool Mutable = false>
base_t* nana::pat::cloneable< Base, Mutable >::get ( ) const
inlinenoexcept
template<typename Base, bool Mutable = false>
nana::pat::cloneable< Base, Mutable >::operator operator_bool_t ( ) const
inlinenoexcept
template<typename Base, bool Mutable = false>
base_t& nana::pat::cloneable< Base, Mutable >::operator* ( )
inline
template<typename Base, bool Mutable = false>
const_base_ref nana::pat::cloneable< Base, Mutable >::operator* ( ) const
inlinenoexcept
template<typename Base, bool Mutable = false>
base_t* nana::pat::cloneable< Base, Mutable >::operator-> ( )
inlinenoexcept
template<typename Base, bool Mutable = false>
const_base_ptr nana::pat::cloneable< Base, Mutable >::operator-> ( ) const
inlinenoexcept
template<typename Base, bool Mutable = false>
cloneable& nana::pat::cloneable< Base, Mutable >::operator= ( const cloneable< Base, Mutable > &  r)
inline
template<typename Base, bool Mutable = false>
cloneable& nana::pat::cloneable< Base, Mutable >::operator= ( cloneable< Base, Mutable > &&  r)
inline
template<typename Base, bool Mutable = false>
void nana::pat::cloneable< Base, Mutable >::reset ( )
inline

Friends And Related Function Documentation

template<typename Base, bool Mutable = false>
template<typename OtherBase , bool OtherMutable>
friend class cloneable
friend