15 template <
class W,
class U >
34 T
Wrap(T t)
const {
return t; }
51 const char16_t*
Wrap(
const jchar* s)
const {
return reinterpret_cast<const char16_t*
>(s); }
52 const jchar*
Unwrap(
const char16_t* s)
const {
return reinterpret_cast<const jchar*
>(s); }
58 char16_t*
Wrap(jchar* s)
const {
return reinterpret_cast<char16_t*
>(s); }
59 jchar*
Unwrap(
char16_t* s)
const {
return reinterpret_cast<jchar*
>(s); }
69 throw std::range_error(
"::jsize < 0");
70 return static_cast<jsize>(s);
75 if (s > std::numeric_limits<::jsize>::max())
76 throw std::range_error(
"jsize > max");
77 return static_cast<::
jsize>(s);
82 template <
class W,
class U >
85 W*
Wrap(U u)
const {
return reinterpret_cast<W*
>(u); }
86 U
Unwrap(W* w)
const {
return reinterpret_cast<U
>(w); }
111 template <
class W,
class U >
114 U
Unwrap(W& w)
const {
return reinterpret_cast<U
>(&w); }
136 template <
class T,
class R,
class... Args >
141 return {
const_cast<char*
>(method.name),
const_cast<char*
>(method.signature),
reinterpret_cast<void*
>(method.fnPtr) };
Definition: advanced_ownership.hpp:6
version
Definition: types.hpp:83
jarray< jdouble > jdoubleArray
Definition: types.hpp:53
jarray< jlong > jlongArray
Definition: types.hpp:51
jarray< jfloat > jfloatArray
Definition: types.hpp:52
std::pointer_traits< ::jmethodID >::element_type jmethodID
Definition: types.hpp:56
jarray< jbyte > jbyteArray
Definition: types.hpp:47
jarray< jint > jintArray
Definition: types.hpp:50
jarray< jobject > jobjectArray
Definition: types.hpp:45
jarray< jboolean > jbooleanArray
Definition: types.hpp:46
jarray< jshort > jshortArray
Definition: types.hpp:49
auto Wrap(U &&u)
Definition: wrapping.hpp:16
std::size_t jsize
Definition: types.hpp:28
decltype(Unwrap< T >(std::declval< T >())) UnwrappedType
Definition: wrapping.hpp:28
std::pointer_traits< ::jfieldID >::element_type jfieldID
Definition: types.hpp:55
auto Unwrap(W &&w)
Definition: wrapping.hpp:22
jarray< jchar > jcharArray
Definition: types.hpp:48
Definition: wrapping.hpp:33
T Wrap(T t) const
Definition: wrapping.hpp:34
T Unwrap(T t) const
Definition: wrapping.hpp:35
Definition: wrapping.hpp:113
U Unwrap(W &w) const
Definition: wrapping.hpp:114
Definition: wrapping.hpp:84
U Unwrap(W *w) const
Definition: wrapping.hpp:86
W * Wrap(U u) const
Definition: wrapping.hpp:85
::JNINativeMethod Unwrap(JNINativeMethod< R(JNIEnv *, T *, Args...)> method) const
Definition: wrapping.hpp:139
char16_t * Wrap(jchar *s) const
Definition: wrapping.hpp:58
jchar * Unwrap(char16_t *s) const
Definition: wrapping.hpp:59
const jchar * Unwrap(const char16_t *s) const
Definition: wrapping.hpp:52
const char16_t * Wrap(const jchar *s) const
Definition: wrapping.hpp:51
::jsize Unwrap(jsize s) const
Definition: wrapping.hpp:73
jsize Wrap(::jsize s) const
Definition: wrapping.hpp:66
::jint Unwrap(version v) const
Definition: wrapping.hpp:150
version Wrap(::jint v) const
Definition: wrapping.hpp:149
Definition: wrapping.hpp:13