lime
Lime is a C++ library implementing Open Whisper System Signal protocol
Loading...
Searching...
No Matches
jni::Unique< T, D > Class Template Reference

#include <unique.hpp>

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 ()
Unique & operator= (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: