|
template<class T > |
std::vector< T > | MakeAnything (ThingToMake< std::vector< T > >, JNIEnv &env, const Array< T > &array) |
|
template<class T > |
Local< Array< T > > | MakeAnything (ThingToMake< Array< T > >, JNIEnv &env, const std::vector< T > &array) |
|
std::string | MakeAnything (ThingToMake< std::string >, JNIEnv &env, const Array< jbyte > &array) |
|
Local< Array< jbyte > > | MakeAnything (ThingToMake< Array< jbyte > >, JNIEnv &env, const std::string &string) |
|
template<class E , std::size_t n> |
E * | ArraylikeData (E(&a)[n]) |
|
template<class E , std::size_t n> |
E * | ArraylikeData (std::array< E, n > &a) |
|
template<class E , std::size_t n> |
E const * | ArraylikeData (const std::array< E, n > &a) |
|
template<class E , class A > |
E * | ArraylikeData (std::vector< E, A > &a) |
|
template<class E , class A > |
E const * | ArraylikeData (const std::vector< E, A > &a) |
|
template<class C , class T , class A > |
C * | ArraylikeData (std::basic_string< C, T, A > &a) |
|
template<class C , class T , class A > |
C const * | ArraylikeData (const std::basic_string< C, T, A > &a) |
|
template<class E , std::size_t n> |
std::size_t | ArraylikeSize (E(&)[n]) |
|
template<class E , std::size_t n> |
std::size_t | ArraylikeSize (const std::array< E, n > &) |
|
template<class E , class A > |
std::size_t | ArraylikeSize (const std::vector< E, A > &a) |
|
template<class C , class T , class A > |
std::size_t | ArraylikeSize (const std::basic_string< C, T, A > &a) |
|
template<class Unboxed > |
decltype(auto) | Box (JNIEnv &env, Unboxed &&unboxed) |
|
template<class T > |
decltype(auto) | Unbox (JNIEnv &env, const T &boxed) |
|
const std::error_category & | ErrorCategory () |
|
void | CheckErrorCode (jint err) |
|
template<class R > |
R | CheckJavaException (JNIEnv &env, R &&r) |
|
void | CheckJavaException (JNIEnv &env) |
|
void | CheckJavaExceptionThenErrorCode (JNIEnv &env, jint err) |
|
inline ::jclass | JavaErrorClass (JNIEnv &env) |
|
void | ThrowJavaError (JNIEnv &env, std::exception_ptr e) |
|
jint | GetVersion (JNIEnv &env) |
|
jclass & | DefineClass (JNIEnv &env, const char *name, jobject &loader, const jbyte *buf, jsize size) |
|
template<class Array > |
auto | DefineClass (JNIEnv &env, const char *name, jobject &loader, const Array &buf) -> std::enable_if_t< IsArraylike< Array >::value, jclass & > |
|
jclass & | FindClass (JNIEnv &env, const char *name) |
|
jmethodID * | FromReflectedMethod (JNIEnv &env, jobject *obj) |
|
jfieldID * | FromReflectedField (JNIEnv &env, jobject *obj) |
|
jobject & | ToReflectedMethod (JNIEnv &env, jclass &clazz, jmethodID &method, bool isStatic) |
|
jobject & | ToReflectedField (JNIEnv &env, jclass &clazz, jfieldID &field, bool isStatic) |
|
jclass * | GetSuperclass (JNIEnv &env, jclass &clazz) |
|
bool | IsAssignableFrom (JNIEnv &env, jclass &clazz1, jclass &clazz2) |
|
void | Throw (JNIEnv &env, jthrowable &obj) |
|
void | ThrowNew (JNIEnv &env, jclass &clazz, const char *msg=nullptr) |
|
bool | ExceptionCheck (JNIEnv &env) |
|
jthrowable * | ExceptionOccurred (JNIEnv &env) |
|
void | ExceptionDescribe (JNIEnv &env) |
|
void | ExceptionClear (JNIEnv &env) |
|
void | FatalError (JNIEnv &env, const char *msg) |
|
UniqueLocalFrame | PushLocalFrame (JNIEnv &env, jint capacity) |
|
jobject * | PopLocalFrame (JNIEnv &env, UniqueLocalFrame &&frame, jobject *result=nullptr) |
|
template<template< RefDeletionMethod > class Deleter, class T > |
UniqueGlobalRef< T, Deleter > | NewGlobalRef (JNIEnv &env, T *t) |
|
template<class T > |
UniqueGlobalRef< T > | NewGlobalRef (JNIEnv &env, T *t) |
|
template<template< RefDeletionMethod > class Deleter, class T , template< RefDeletionMethod > class WeakDeleter> |
UniqueGlobalRef< T, Deleter > | NewGlobalRef (JNIEnv &env, const UniqueWeakGlobalRef< T, WeakDeleter > &t) |
|
template<class T , template< RefDeletionMethod > class WeakDeleter> |
UniqueGlobalRef< T > | NewGlobalRef (JNIEnv &env, const UniqueWeakGlobalRef< T, WeakDeleter > &t) |
|
template<class T , template< RefDeletionMethod > class Deleter> |
void | DeleteGlobalRef (JNIEnv &env, UniqueGlobalRef< T, Deleter > &&ref) |
|
template<class T > |
UniqueLocalRef< T > | NewLocalRef (JNIEnv &env, T *t) |
|
template<class T , template< RefDeletionMethod > class WeakDeleter> |
UniqueLocalRef< T > | NewLocalRef (JNIEnv &env, const UniqueWeakGlobalRef< T, WeakDeleter > &t) |
|
template<class T > |
void | DeleteLocalRef (JNIEnv &env, UniqueLocalRef< T > &&ref) |
|
void | EnsureLocalCapacity (JNIEnv &env, jint capacity) |
|
template<template< RefDeletionMethod > class Deleter, class T > |
UniqueWeakGlobalRef< T, Deleter > | NewWeakGlobalRef (JNIEnv &env, T *t) |
|
template<class T > |
UniqueWeakGlobalRef< T > | NewWeakGlobalRef (JNIEnv &env, T *t) |
|
template<class T , template< RefDeletionMethod > class Deleter> |
void | DeleteWeakGlobalRef (JNIEnv &env, UniqueWeakGlobalRef< T, Deleter > &&ref) |
|
bool | IsSameObject (JNIEnv &env, jobject *ref1, jobject *ref2) |
|
jobject & | AllocObject (JNIEnv &env, jclass &clazz) |
|
template<class... Args> |
jobject & | NewObject (JNIEnv &env, jclass &clazz, jmethodID &method, Args &&... args) |
|
jclass & | GetObjectClass (JNIEnv &env, jobject &obj) |
|
bool | IsInstanceOf (JNIEnv &env, jobject *obj, jclass &clazz) |
|
jmethodID & | GetMethodID (JNIEnv &env, jclass &clazz, const char *name, const char *sig) |
|
template<class R , class... Args> |
std::enable_if_t<!std::is_void< R >::value, R > | CallMethod (JNIEnv &env, jobject *obj, jmethodID &method, Args &&... args) |
|
template<class R , class... Args> |
std::enable_if_t< std::is_void< R >::value, R > | CallMethod (JNIEnv &env, jobject *obj, jmethodID &method, Args &&... args) |
|
template<class R , class... Args> |
std::enable_if_t<!std::is_void< R >::value, R > | CallNonvirtualMethod (JNIEnv &env, jobject *obj, jclass &clazz, jmethodID &method, Args &&... args) |
|
template<class R , class... Args> |
std::enable_if_t< std::is_void< R >::value, R > | CallNonvirtualMethod (JNIEnv &env, jobject *obj, jclass &clazz, jmethodID &method, Args &&... args) |
|
jfieldID & | GetFieldID (JNIEnv &env, jclass &clazz, const char *name, const char *sig) |
|
template<class T > |
T | GetField (JNIEnv &env, jobject *obj, jfieldID &field) |
|
template<class T > |
void | SetField (JNIEnv &env, jobject *obj, jfieldID &field, T value) |
|
jmethodID & | GetStaticMethodID (JNIEnv &env, jclass &clazz, const char *name, const char *sig) |
|
template<class R , class... Args> |
std::enable_if_t<!std::is_void< R >::value, R > | CallStaticMethod (JNIEnv &env, jclass &clazz, jmethodID &method, Args &&... args) |
|
template<class R , class... Args> |
std::enable_if_t< std::is_void< R >::value, R > | CallStaticMethod (JNIEnv &env, jclass &clazz, jmethodID &method, Args &&... args) |
|
jfieldID & | GetStaticFieldID (JNIEnv &env, jclass &clazz, const char *name, const char *sig) |
|
template<class T > |
T | GetStaticField (JNIEnv &env, jclass &clazz, jfieldID &field) |
|
template<class T > |
void | SetStaticField (JNIEnv &env, jclass &clazz, jfieldID &field, T value) |
|
jstring & | NewString (JNIEnv &env, const char16_t *chars, jsize len) |
|
template<class Array > |
auto | NewString (JNIEnv &env, const Array &chars) -> std::enable_if_t< IsArraylike< Array >::value, jstring & > |
|
jsize | GetStringLength (JNIEnv &env, jstring &string) |
|
std::tuple< UniqueStringChars, bool > | GetStringChars (JNIEnv &env, jstring &string) |
|
void | ReleaseStringChars (JNIEnv &env, jstring &string, UniqueStringChars &&chars) |
|
jstring & | NewStringUTF (JNIEnv &env, const char *bytes) |
|
jsize | GetStringUTFLength (JNIEnv &env, jstring &string) |
|
std::tuple< UniqueStringUTFChars, bool > | GetStringUTFChars (JNIEnv &env, jstring &string) |
|
void | ReleaseStringUTFChars (JNIEnv &env, jstring &string, UniqueStringUTFChars &&chars) |
|
void | GetStringRegion (JNIEnv &env, jstring &string, jsize start, jsize len, char16_t *buf) |
|
template<class Array > |
auto | GetStringRegion (JNIEnv &env, jstring &string, jsize start, Array &buf) -> std::enable_if_t< IsArraylike< Array >::value > |
|
void | GetStringUTFRegion (JNIEnv &env, jstring &string, jsize start, jsize len, char *buf) |
|
template<class Array > |
auto | GetStringUTFRegion (JNIEnv &env, jstring &string, jsize start, Array &buf) -> std::enable_if_t< IsArraylike< Array >::value > |
|
std::tuple< UniqueStringCritical, bool > | GetStringCritical (JNIEnv &env, jstring &string) |
|
void | ReleaseStringCritical (JNIEnv &env, jstring &string, UniqueStringCritical &&chars) |
|
template<class E > |
jsize | GetArrayLength (JNIEnv &env, jarray< E > &array) |
|
template<class E > |
jarray< E > & | NewArray (JNIEnv &env, jsize length) |
|
template<class E > |
std::tuple< UniqueArrayElements< E >, bool > | GetArrayElements (JNIEnv &env, jarray< E > &array) |
|
template<class E > |
void | ReleaseArrayElements (JNIEnv &env, jarray< E > &array, E *elems) |
|
template<class E > |
void | ReleaseArrayElements (JNIEnv &env, jarray< E > &array, UniqueArrayElements< E > &&elems) |
|
template<class E > |
std::tuple< UniquePrimitiveArrayCritical< E >, bool > | GetPrimitiveArrayCritical (JNIEnv &env, jarray< E > &array) |
|
template<class E > |
void | ReleasePrimitiveArrayCritical (JNIEnv &env, jarray< E > &array, void *carray) |
|
template<class E > |
void | ReleasePrimitiveArrayCritical (JNIEnv &env, jarray< E > &array, UniquePrimitiveArrayCritical< E > &&carray) |
|
template<class T > |
void | GetArrayRegion (JNIEnv &env, jarray< T > &array, jsize start, jsize len, T *buf) |
|
template<class T , class Array > |
auto | GetArrayRegion (JNIEnv &env, jarray< T > &array, jsize start, Array &buf) -> std::enable_if_t< IsArraylike< Array >::value > |
|
template<class T > |
void | SetArrayRegion (JNIEnv &env, jarray< T > &array, jsize start, jsize len, const T *buf) |
|
template<class T , class Array > |
auto | SetArrayRegion (JNIEnv &env, jarray< T > &array, jsize start, const Array &buf) -> std::enable_if_t< IsArraylike< Array >::value > |
|
jarray< jobject > & | NewObjectArray (JNIEnv &env, jsize length, jclass &elementClass, jobject *initialElement=nullptr) |
|
jobject * | GetObjectArrayElement (JNIEnv &env, jarray< jobject > &array, jsize index) |
|
void | SetObjectArrayElement (JNIEnv &env, jarray< jobject > &array, jsize index, jobject *value) |
|
template<class... Methods> |
void | RegisterNatives (JNIEnv &env, jclass &clazz, const Methods &... methods) |
|
void | UnregisterNatives (JNIEnv &env, jclass &clazz) |
|
UniqueMonitor | MonitorEnter (JNIEnv &env, jobject *obj) |
|
void | MonitorExit (JNIEnv &env, UniqueMonitor &&monitor) |
|
JavaVM & | GetJavaVM (JNIEnv &env) |
|
jobject & | NewDirectByteBuffer (JNIEnv &env, void *address, jlong capacity) |
|
void * | GetDirectBufferAddress (JNIEnv &env, jobject &buf) |
|
jlong | GetDirectBufferCapacity (JNIEnv &env, jobject &buf) |
|
jobjectRefType | GetObjectRefType (JNIEnv &env, jobject *obj) |
|
UniqueEnv | AttachCurrentThread (JavaVM &vm) |
|
void | DetachCurrentThread (JavaVM &vm, UniqueEnv &&env) |
|
JNIEnv & | GetEnv (JavaVM &vm, version version=jni_version_1_1) |
|
template<class Result , class... P> |
auto | Make (P &&... p) |
|
template<class M > |
auto | MakeNativeMethod (const char *name, const char *sig, const M &m, std::enable_if_t< std::is_class< M >::value > *=nullptr) |
| Low-level, lambda.
|
|
template<class M , M method> |
auto | MakeNativeMethod (const char *name, const char *sig) |
| Low-level, function pointer.
|
|
template<class M > |
auto | MakeNativeMethod (const char *name, const M &m) |
|
template<class M , M method> |
auto | MakeNativeMethod (const char *name) |
|
template<class L > |
auto | MakeNativePeerMethod (const char *name, const L &lambda, std::enable_if_t< std::is_class< L >::value > *=nullptr) |
|
template<class M , M method> |
auto | MakeNativePeerMethod (const char *name, std::enable_if_t< !std::is_member_function_pointer< M >::value > *=nullptr) |
|
template<class M , M method> |
auto | MakeNativePeerMethod (const char *name, std::enable_if_t< std::is_member_function_pointer< M >::value > *=nullptr) |
|
template<class Peer , class TagType , class... Methods> |
void | RegisterNativePeer (JNIEnv &env, const Class< TagType > &clazz, const char *fieldName, Methods &&... methods) |
|
template<class Peer , class TagType , class Initializer , class... Methods> |
void | RegisterNativePeer (JNIEnv &env, const Class< TagType > &clazz, const char *fieldName, Initializer initialize, const char *initializeMethodName, const char *finalizeMethodName, Methods &&... methods) |
|
template<class Peer , class... Args> |
std::unique_ptr< Peer > | MakePeer (jni::JNIEnv &env, Args... args) |
|
void | ThrowNullPointerException (JNIEnv &env, const char *message=nullptr) |
|
template<class T > |
void | NullCheck (JNIEnv &env, T *ptr, const char *message=nullptr) |
|
template<class T > |
T & | SafeDereference (JNIEnv &env, T *ptr, const char *message=nullptr) |
|
template<class OutTagType , class T > |
Local< Object< OutTagType > > | Cast (JNIEnv &env, const Class< OutTagType > &clazz, const T &object) |
|
std::u16string | MakeAnything (ThingToMake< std::u16string >, JNIEnv &env, const String &string) |
|
std::string | MakeAnything (ThingToMake< std::string >, JNIEnv &env, const String &string) |
|
Local< String > | MakeAnything (ThingToMake< String >, JNIEnv &env, const std::u16string &string) |
|
Local< String > | MakeAnything (ThingToMake< String >, JNIEnv &env, const std::string &string) |
|
std::u16string | convertUTF8ToUTF16 (const std::string &string) |
|
std::string | convertUTF16ToUTF8 (const std::u16string &string) |
|
template<class T > |
auto | Tag (JNIEnv &, T primitive) -> std::enable_if_t< IsPrimitive< T >::value, T > |
|
template<class T , class U > |
auto | Tag (JNIEnv &env, U *u) -> std::enable_if_t< !IsPrimitive< T >::value, Input< T > > |
|
template<class T , class U > |
auto | Tag (JNIEnv &env, U &u) -> std::enable_if_t< !IsPrimitive< T >::value, Input< T > > |
|
template<class T > |
auto | Untag (T primitive) -> std::enable_if_t< IsPrimitive< T >::value, T > |
|
template<class T > |
auto | Untag (const T &t) -> std::enable_if_t< !IsPrimitive< T >::value, decltype(t.get()) > |
|
template<class T > |
T & | AsLvalue (T &&x) |
|
constexpr std::size_t | StringLiteralLength (const char *str, std::size_t len=0) |
|
template<char... As, char... Bs> |
constexpr auto | Concat (const StringLiteral< As... > &, const StringLiteral< Bs... > &) |
|
template<class A , class B , class... Rest> |
constexpr auto | Concat (const A &a, const B &b, const Rest &... rest) |
|
template<class T > |
auto | ReleaseUnique (T primitive) |
|
template<class T , class D > |
auto | ReleaseUnique (Unique< T, D > &&t) |
|
template<template< RefDeletionMethod > class Deleter, class T > |
auto | NewGlobal (JNIEnv &env, const T &t) |
|
template<class T > |
auto | NewGlobal (JNIEnv &env, const T &t) |
|
template<template< RefDeletionMethod > class Deleter, class T , template< RefDeletionMethod > class WeakDeleter> |
Global< T, Deleter > | NewGlobal (JNIEnv &env, const Weak< T, WeakDeleter > &t) |
|
template<class T > |
Global< T > | NewGlobal (JNIEnv &env, const Weak< T > &t) |
|
template<template< RefDeletionMethod > class Deleter, class T > |
auto | NewWeak (JNIEnv &env, const T &t) |
|
template<class T > |
auto | NewWeak (JNIEnv &env, const T &t) |
|
template<class T > |
auto | NewLocal (JNIEnv &env, const T &t) |
|
template<class T , template< RefDeletionMethod > class WeakDeleter> |
Local< T > | NewLocal (JNIEnv &env, const Weak< T, WeakDeleter > &t) |
|
template<class W , class U > |
auto | Wrap (U &&u) |
|
template<class W > |
auto | Unwrap (W &&w) |
|