lime
Lime is a C++ library implementing Open Whisper System Signal protocol
Public Types | Public Member Functions | List of all members
jni::Unique< T, D > Class Template Reference
Inheritance diagram for jni::Unique< T, D >:

Public Types

using Base = T
 
using UntaggedType = typename T::UntaggedType
 

Public Member Functions

 Unique (std::nullptr_t ptr=nullptr)
 
 Unique (JNIEnv &env, UntaggedType *ptr)
 
 Unique (Unique &&other)
 
template<class U >
 Unique (Unique< U, D > &&other, std::enable_if_t< std::is_convertible< const U &, const T &>::value > *=nullptr)
 
 ~Unique ()
 
Uniqueoperator= (Unique &&other)
 
void reset (UntaggedType *ptr=nullptr)
 
UntaggedTyperelease ()
 
D & get_deleter ()
 
const D & get_deleter () const
 

Member Typedef Documentation

◆ Base

template<class T, class D>
using jni::Unique< T, D >::Base = T

◆ UntaggedType

template<class T, class D>
using jni::Unique< T, D >::UntaggedType = typename T::UntaggedType

Constructor & Destructor Documentation

◆ Unique() [1/4]

template<class T, class D>
jni::Unique< T, D >::Unique ( std::nullptr_t  ptr = nullptr)
inlineexplicit

◆ Unique() [2/4]

template<class T, class D>
jni::Unique< T, D >::Unique ( JNIEnv &  env,
UntaggedType ptr 
)
inlineexplicit

◆ Unique() [3/4]

template<class T, class D>
jni::Unique< T, D >::Unique ( Unique< T, D > &&  other)
inline

◆ Unique() [4/4]

template<class T, class D>
template<class U >
jni::Unique< T, D >::Unique ( Unique< U, D > &&  other,
std::enable_if_t< std::is_convertible< const U &, const T &>::value > *  = nullptr 
)
inline

◆ ~Unique()

template<class T, class D>
jni::Unique< T, D >::~Unique ( )
inline

Member Function Documentation

◆ get_deleter() [1/2]

template<class T, class D>
D& jni::Unique< T, D >::get_deleter ( )
inline

◆ get_deleter() [2/2]

template<class T, class D>
const D& jni::Unique< T, D >::get_deleter ( ) const
inline

◆ operator=()

template<class T, class D>
Unique& jni::Unique< T, D >::operator= ( Unique< T, D > &&  other)
inline

◆ release()

template<class T, class D>
UntaggedType* jni::Unique< T, D >::release ( )
inline

◆ reset()

template<class T, class D>
void jni::Unique< T, D >::reset ( UntaggedType ptr = nullptr)
inline

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