lime
Lime is a C++ library implementing Open Whisper System Signal protocol
Loading...
Searching...
No Matches
src
jni
traits.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
jni/types.hpp
>
4
5
#include <type_traits>
6
7
namespace
jni
8
{
9
template
<
class
T >
struct
IsPrimitive
: std::false_type {};
10
template
<>
struct
IsPrimitive
<
jboolean
> : std::true_type {};
11
template
<>
struct
IsPrimitive
<
jbyte
> : std::true_type {};
12
template
<>
struct
IsPrimitive
<
jchar
> : std::true_type {};
13
template
<>
struct
IsPrimitive
<
jshort
> : std::true_type {};
14
template
<>
struct
IsPrimitive
<
jint
> : std::true_type {};
15
template
<>
struct
IsPrimitive
<
jlong
> : std::true_type {};
16
template
<>
struct
IsPrimitive
<
jfloat
> : std::true_type {};
17
template
<>
struct
IsPrimitive
<
jdouble
> : std::true_type {};
18
19
template
<
class
T >
struct
IsReference
: std::false_type {};
20
template
<>
struct
IsReference
<
jobject
> : std::true_type {};
21
template
<>
struct
IsReference
<
jclass
> : std::true_type {};
22
template
<>
struct
IsReference
<
jstring
> : std::true_type {};
23
template
<>
struct
IsReference
<
jthrowable
> : std::true_type {};
24
25
template
<
class
T >
struct
IsArray
: std::false_type {};
26
template
<
class
E >
struct
IsArray
<
jarray
<
E
> > : std::true_type {};
27
28
template
<
class
... >
struct
Conjunction
: std::true_type {};
29
template
<
class
B1 >
struct
Conjunction
<B1> : B1 {};
30
template
<
class
B1,
class
...
Bn
>
struct
Conjunction
<B1,
Bn
...>
31
: std::conditional_t<bool(B1::value), Conjunction<Bn...>, B1> {};
32
33
template
<
class
T > T&
AsLvalue
(T&&
x
) {
return
x
; }
34
}
jni
Definition
advanced_ownership.hpp:6
jni::AsLvalue
T & AsLvalue(T &&x)
Definition
traits.hpp:33
jni::NewArray
jarray< E > & NewArray(JNIEnv &env, jsize length)
Definition
functions.hpp:472
jni::Conjunction
Definition
traits.hpp:28
jni::IsArray
Definition
traits.hpp:25
jni::IsPrimitive
Definition
traits.hpp:9
jni::IsReference
Definition
traits.hpp:19
jni::jarray
Definition
types.hpp:43
jni::jclass
Definition
types.hpp:38
jni::jobject
Definition
types.hpp:31
jni::jstring
Definition
types.hpp:39
jni::jthrowable
Definition
types.hpp:40
types.hpp
Generated on Sun Sep 3 2023 11:44:45 for lime by
1.9.8