11 template <
class Tag >
class Object;
12 template <
class E,
class =
void >
class Array;
18 static constexpr auto Name() {
return "java/lang/Object"; }
23 static constexpr auto Name() {
return "java/lang/String"; }
28 static constexpr auto Name() {
return "java/lang/Class"; }
38 template <
class Tag,
class =
int >
44 template <
class Tag >
47 using Type =
typename Tag::SuperTag;
50 template <
class Tag,
class Enable =
void >
85 template <
class Tag >
95 -> std::enable_if_t< IsPrimitive<T>::value, T >
100 template <
class T,
class U >
102 -> std::enable_if_t< !IsPrimitive<T>::value,
Input<T> >
107 template <
class T,
class U >
109 -> std::enable_if_t< !IsPrimitive<T>::value,
Input<T> >
117 -> std::enable_if_t< IsPrimitive<T>::value, T >
124 -> std::enable_if_t< !IsPrimitive<T>::value,
decltype(
t.get()) >
Definition advanced_ownership.hpp:6
auto Tag(JNIEnv &, T primitive) -> std::enable_if_t< IsPrimitive< T >::value, T >
Definition tagging.hpp:94
decltype(Untag(std::declval< T >())) UntaggedType
Definition tagging.hpp:130
jarray< E > & NewArray(JNIEnv &env, jsize length)
Definition functions.hpp:472
auto Untag(T primitive) -> std::enable_if_t< IsPrimitive< T >::value, T >
Definition tagging.hpp:116
Definition tagging.hpp:33
static constexpr auto Name()
Definition tagging.hpp:34
Definition tagging.hpp:27
static constexpr auto Name()
Definition tagging.hpp:28
Definition tagging.hpp:17
static constexpr auto Name()
Definition tagging.hpp:18
Definition tagging.hpp:22
static constexpr auto Name()
Definition tagging.hpp:23
typename Tag::SuperTag Type
Definition tagging.hpp:47
Definition tagging.hpp:40
Definition tagging.hpp:52
Definition tagging.hpp:13