lime
Lime is a C++ library implementing Open Whisper System Signal protocol
lime
src
jni
field.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
jni/functions.hpp
>
4
#include <
jni/class.hpp
>
5
#include <
jni/object.hpp
>
6
#include <
jni/type_signature.hpp
>
7
#include <
jni/tagging.hpp
>
8
9
namespace
jni
10
{
11
template
<
class
TheTag,
class
T >
12
class
Field
13
{
14
private
:
15
jfieldID
& field;
16
17
public
:
18
using
TagType
= TheTag;
19
using
FieldType
= T;
20
21
Field
(JNIEnv& env,
const
Class<TagType>
& clazz,
const
char
* name)
22
: field(
GetFieldID
(env, *clazz, name,
TypeSignature
<T>()()))
23
{}
24
25
operator
jfieldID
&()
const
{
return
field; }
26
};
27
}
type_signature.hpp
object.hpp
jni
Definition:
advanced_ownership.hpp:5
class.hpp
jni::Field::FieldType
T FieldType
Definition:
field.hpp:19
functions.hpp
jni::Class
Definition:
class.hpp:17
jni::Field::TagType
TheTag TagType
Definition:
field.hpp:18
tagging.hpp
jni::jfieldID
std::pointer_traits< ::jfieldID >::element_type jfieldID
Definition:
types.hpp:55
jni::Field::Field
Field(JNIEnv &env, const Class< TagType > &clazz, const char *name)
Definition:
field.hpp:21
jni::GetFieldID
jfieldID & GetFieldID(JNIEnv &env, jclass &clazz, const char *name, const char *sig)
Definition:
functions.hpp:299
jni::TypeSignature
Definition:
tagging.hpp:13
Generated on Mon Sep 6 2021 00:24:37 for lime by
1.8.13