15 env->PopLocalFrame(
nullptr);
25 template < RefDeletionMethod DeleteRef >
46 template <
class T,
template < RefDeletionMethod >
class Deleter = DefaultRefDeleter >
55 using UniqueLocalRef = std::unique_ptr< T, DefaultRefDeleter<&JNIEnv::DeleteLocalRef> >;
98 env->ReleaseStringUTFChars(
Unwrap(
string),
p);
218 vm->DetachCurrentThread();
223 using UniqueEnv = std::unique_ptr< JNIEnv, JNIEnvDeleter >;
Definition ownership.hpp:132
ArrayElementsDeleter(JNIEnv &e, jarray< E > &a)
Definition ownership.hpp:139
void operator()(E *p) const
Definition ownership.hpp:141
ArrayElementsDeleter()=default
Definition ownership.hpp:27
void operator()(jobject *p) const
Definition ownership.hpp:35
DefaultRefDeleter(JNIEnv &e)
Definition ownership.hpp:33
DefaultRefDeleter()=default
Definition ownership.hpp:205
void operator()(JNIEnv *p) const
Definition ownership.hpp:213
JNIEnvDeleter(JavaVM &v)
Definition ownership.hpp:211
Definition ownership.hpp:183
MonitorDeleter(JNIEnv &e)
Definition ownership.hpp:189
void operator()(jobject *p) const
Definition ownership.hpp:191
Definition ownership.hpp:158
void operator()(void *p) const
Definition ownership.hpp:167
PrimitiveArrayCriticalDeleter()=default
PrimitiveArrayCriticalDeleter(JNIEnv &e, jarray< E > &a)
Definition ownership.hpp:165
Definition ownership.hpp:59
void operator()(const char16_t *p) const
Definition ownership.hpp:68
StringCharsDeleter(JNIEnv &e, jstring &s)
Definition ownership.hpp:66
StringCharsDeleter()=default
Definition ownership.hpp:107
StringCriticalDeleter(JNIEnv &e, jstring &s)
Definition ownership.hpp:114
StringCriticalDeleter()=default
void operator()(const char16_t *p) const
Definition ownership.hpp:116
Definition ownership.hpp:83
StringUTFCharsDeleter()=default
StringUTFCharsDeleter(JNIEnv &e, jstring &s)
Definition ownership.hpp:90
void operator()(const char *p) const
Definition ownership.hpp:92
Definition advanced_ownership.hpp:6
std::unique_ptr< E, ArrayElementsDeleter< E > > UniqueArrayElements
Definition ownership.hpp:153
void(JNIEnv::*)(::jobject) RefDeletionMethod
Definition ownership.hpp:23
std::unique_ptr< T, Deleter<&JNIEnv::DeleteWeakGlobalRef > > UniqueWeakGlobalRef
Definition ownership.hpp:50
std::unique_ptr< const char16_t, StringCharsDeleter > UniqueStringChars
Definition ownership.hpp:79
std::unique_ptr< const char16_t, StringCriticalDeleter > UniqueStringCritical
Definition ownership.hpp:127
jarray< E > & NewArray(JNIEnv &env, jsize length)
Definition functions.hpp:472
std::unique_ptr< jobject, MonitorDeleter > UniqueMonitor
Definition ownership.hpp:201
std::unique_ptr< JNIEnv, JNIEnvDeleter > UniqueEnv
Definition ownership.hpp:223
std::unique_ptr< const char, StringUTFCharsDeleter > UniqueStringUTFChars
Definition ownership.hpp:103
std::unique_ptr< T, DefaultRefDeleter<&JNIEnv::DeleteLocalRef > > UniqueLocalRef
Definition ownership.hpp:55
std::unique_ptr< void, PrimitiveArrayCriticalDeleter< E > > UniquePrimitiveArrayCritical
Definition ownership.hpp:179
std::unique_ptr< JNIEnv, LocalFrameDeleter > UniqueLocalFrame
Definition ownership.hpp:20
std::unique_ptr< T, Deleter<&JNIEnv::DeleteGlobalRef > > UniqueGlobalRef
Definition ownership.hpp:47
auto Unwrap(W &&w)
Definition wrapping.hpp:22
Definition ownership.hpp:10
void operator()(JNIEnv *env) const
Definition ownership.hpp:11
Definition typed_methods.hpp:7