Loading...
Searching...
No Matches
jni::Object< TheTag > Class Template Reference

`#include <object.hpp>`

Inheritance diagram for jni::Object< TheTag >:

## Public Types

using | TagType = TheTag
using | SuperType = typename TagTraits<TheTag>::SuperType
using | UntaggedType = typename TagTraits<TheTag>::UntaggedType

## Public Member Functions

UntaggedType * | get () const
UntaggedType & | operator* () const
template<class T>
auto | Get (JNIEnv &env, const Field< TagType, T > &field) const -> std::enable_if_t< IsPrimitive< T >::value, T >
template<class T>
auto | Get (JNIEnv &env, const Field< TagType, T > &field) const -> std::enable_if_t< !IsPrimitive< T >::value, Local< T > >
template<class T>
auto | Set (JNIEnv &env, const Field< TagType, T > &field, T value) const -> std::enable_if_t< IsPrimitive< T >::value >
template<class Expected, class Actual>
auto | Set (JNIEnv &env, const Field< TagType, Expected > &field, const Actual &value) const -> std::enable_if_t< !IsPrimitive< Expected >::value &&std::is_convertible< const Actual &, const Expected & >::value >
template<class R, class... ExpectedArgs, class... ActualArgs>
auto | Call (JNIEnv &env, const Method< TagType, R(ExpectedArgs...)> &method, const ActualArgs &... args) const -> std::enable_if_t< IsPrimitive< R >::value &&Conjunction< std::is_convertible< const ActualArgs &, const ExpectedArgs & >... >::value, R >
template<class R, class... ExpectedArgs, class... ActualArgs>
auto | Call (JNIEnv &env, const Method< TagType, R(ExpectedArgs...)> &method, const ActualArgs &... args) const -> std::enable_if_t< !IsPrimitive< R >::value &&!std::is_void< R >::value &&Conjunction< std::is_convertible< const ActualArgs &, const ExpectedArgs & >... >::value, Local< R > >
template<class... ExpectedArgs, class... ActualArgs>
auto | Call (JNIEnv &env, const Method< TagType, void(ExpectedArgs...)> &method, const ActualArgs &... args) const -> std::enable_if_t< Conjunction< std::is_convertible< const ActualArgs &, const ExpectedArgs & >... >::value >
template<class R, class... ExpectedArgs, class... ActualArgs>
auto | CallNonvirtual (JNIEnv &env, const Class< TagType > &clazz, const Method< TagType, R(ExpectedArgs...)> &method, const ActualArgs &... args) const -> std::enable_if_t< IsPrimitive< R >::value &&Conjunction< std::is_convertible< const ActualArgs &, const ExpectedArgs & >... >::value, R >
template<class R, class... ExpectedArgs, class... ActualArgs>
auto | CallNonvirtual (JNIEnv &env, const Class< TagType > &clazz, const Method< TagType, R(ExpectedArgs...)> &method, const ActualArgs &... args) const -> std::enable_if_t< !IsPrimitive< R >::value &&!std::is_void< R >::value &&Conjunction< std::is_convertible< const ActualArgs &, const ExpectedArgs & >... >::value, Local< R > >
template<class... ExpectedArgs, class... ActualArgs>
auto | CallNonvirtual (JNIEnv &env, const Class< TagType > &clazz, const Method< TagType, void(ExpectedArgs...)> &method, const ActualArgs &... args) const -> std::enable_if_t< Conjunction< std::is_convertible< const ActualArgs &, const ExpectedArgs & >... >::value >

## Protected Member Functions

| Object (std::nullptr_t=nullptr)
| Object (UntaggedType *p)
| Object (const Object &)=delete
Object & | operator= (const Object &)=delete

## Member Typedef Documentation

## SuperType

template<class TheTag = ObjectTag>

using jni::Object< TheTag >::SuperType = typename TagTraits<TheTag>::SuperType

## TagType

template<class TheTag = ObjectTag>

using jni::Object< TheTag >::TagType = TheTag

## UntaggedType

template<class TheTag = ObjectTag>

using jni::Object< TheTag >::UntaggedType = typename TagTraits<TheTag>::UntaggedType

## Constructor & Destructor Documentation

## Object() [1/3]

template<class TheTag = ObjectTag>

jni::Object< TheTag >::Object | ( | std::nullptr_t | = nullptr | ) |

inline explicit protected

## Object() [2/3]

template<class TheTag = ObjectTag>

jni::Object< TheTag >::Object | ( | UntaggedType * | p | ) |

inline explicit protected

## Object() [3/3]

template<class TheTag = ObjectTag>

jni::Object< TheTag >::Object | ( | const Object< TheTag > & |  | ) |

protected delete

## Member Function Documentation

## Call() [1/3]

template<class TheTag = ObjectTag>
template<class R, class... ExpectedArgs, class... ActualArgs>

auto jni::Object< TheTag >::Call | ( | JNIEnv & | env,
|  | const Method< TagType, R(ExpectedArgs...)> & | method,
|  | const ActualArgs &... | args ) const->std::enable_if_t<!IsPrimitive< R >::value &&!std::is_void< R >::value &&Conjunction< std::is_convertible< constActualArgs &, constExpectedArgs & >... >::value, Local< R > >

inline

## Call() [2/3]

template<class TheTag = ObjectTag>
template<class R, class... ExpectedArgs, class... ActualArgs>

auto jni::Object< TheTag >::Call | ( | JNIEnv & | env,
|  | const Method< TagType, R(ExpectedArgs...)> & | method,
|  | const ActualArgs &... | args ) const->std::enable_if_t< IsPrimitive< R >::value &&Conjunction< std::is_convertible< constActualArgs &, constExpectedArgs & >... >::value, R >

inline

## Call() [3/3]

template<class TheTag = ObjectTag>
template<class... ExpectedArgs, class... ActualArgs>

auto jni::Object< TheTag >::Call | ( | JNIEnv & | env,
|  | const Method< TagType, void(ExpectedArgs...)> & | method,
|  | const ActualArgs &... | args ) const->std::enable_if_t< Conjunction< std::is_convertible< constActualArgs &, constExpectedArgs & >... >::value >

inline

## CallNonvirtual() [1/3]

template<class TheTag = ObjectTag>
template<class R, class... ExpectedArgs, class... ActualArgs>

auto jni::Object< TheTag >::CallNonvirtual | ( | JNIEnv & | env,
|  | const Class< TagType > & | clazz,
|  | const Method< TagType, R(ExpectedArgs...)> & | method,
|  | const ActualArgs &... | args ) const->std::enable_if_t<!IsPrimitive< R >::value &&!std::is_void< R >::value &&Conjunction< std::is_convertible< constActualArgs &, constExpectedArgs & >... >::value, Local< R > >

inline

## CallNonvirtual() [2/3]

template<class TheTag = ObjectTag>
template<class R, class... ExpectedArgs, class... ActualArgs>

auto jni::Object< TheTag >::CallNonvirtual | ( | JNIEnv & | env,
|  | const Class< TagType > & | clazz,
|  | const Method< TagType, R(ExpectedArgs...)> & | method,
|  | const ActualArgs &... | args ) const->std::enable_if_t< IsPrimitive< R >::value &&Conjunction< std::is_convertible< constActualArgs &, constExpectedArgs & >... >::value, R >

inline

## CallNonvirtual() [3/3]

template<class TheTag = ObjectTag>
template<class... ExpectedArgs, class... ActualArgs>

auto jni::Object< TheTag >::CallNonvirtual | ( | JNIEnv & | env,
|  | const Class< TagType > & | clazz,
|  | const Method< TagType, void(ExpectedArgs...)> & | method,
|  | const ActualArgs &... | args ) const->std::enable_if_t< Conjunction< std::is_convertible< constActualArgs &, constExpectedArgs & >... >::value >

inline

## Get() [1/2]

template<class TheTag = ObjectTag>
template<class T>

auto jni::Object< TheTag >::Get | ( | JNIEnv & | env,
|  | const Field< TagType, T > & | field ) const->std::enable_if_t<!IsPrimitive< T >::value, Local< T > >

inline

## Get() [2/2]

template<class TheTag = ObjectTag>
template<class T>

auto jni::Object< TheTag >::Get | ( | JNIEnv & | env,
|  | const Field< TagType, T > & | field ) const->std::enable_if_t< IsPrimitive< T >::value, T >

inline

## get()

template<class TheTag = ObjectTag>

UntaggedType * jni::Object< TheTag >::get | ( |  | ) | const

inline

## operator*()

template<class TheTag = ObjectTag>

UntaggedType & jni::Object< TheTag >::operator* | ( |  | ) | const

inline

## operator=()

template<class TheTag = ObjectTag>

Object & jni::Object< TheTag >::operator= | ( | const Object< TheTag > & |  | ) |

protected delete

## Set() [1/2]

template<class TheTag = ObjectTag>
template<class Expected, class Actual>

auto jni::Object< TheTag >::Set | ( | JNIEnv & | env,
|  | const Field< TagType, Expected > & | field,
|  | const Actual & | value ) const->std::enable_if_t<!IsPrimitive< Expected >::value &&std::is_convertible< constActual &, constExpected & >::value >

inline

## Set() [2/2]

template<class TheTag = ObjectTag>
template<class T>

auto jni::Object< TheTag >::Set | ( | JNIEnv & | env,
|  | const Field< TagType, T > & | field,
|  | T | value ) const->std::enable_if_t< IsPrimitive< T >::value >

inline

The documentation for this class was generated from the following file:

- /build/lime-OjNHTX/lime-5.3.105+dfsg/src/jni/object.hpp