|
| 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) |
| |