lime
Lime is a C++ library implementing Open Whisper System Signal protocol
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
jni::Array< E, std::enable_if_t< IsPrimitive< E >::value > > Class Template Reference
Inheritance diagram for jni::Array< E, std::enable_if_t< IsPrimitive< E >::value > >:
jni::Object< ArrayTag< E > > jni::Object< TheTag >

Public Types

using SuperType = Object< ArrayTag< E > >
 
using UntaggedType = typename SuperType::UntaggedType
 
using ElementType = E
 
- Public Types inherited from jni::Object< ArrayTag< E > >
using TagType = ArrayTag< E >
 
using SuperType = typename TagTraits< ArrayTag< E > >::SuperType
 
using UntaggedType = typename TagTraits< ArrayTag< E > >::UntaggedType
 
- Public Types inherited from jni::Object< TheTag >
using TagType = TheTag
 
using SuperType = typename TagTraits< TheTag >::SuperType
 
using UntaggedType = typename TagTraits< TheTag >::UntaggedType
 

Public Member Functions

jsize Length (JNIEnv &env) const
 
ElementType Get (JNIEnv &env, jsize index) const
 
void Set (JNIEnv &env, jsize index, const ElementType &value)
 
template<class Array >
void GetRegion (JNIEnv &env, jsize start, Array &buf) const
 
template<class Array >
void SetRegion (JNIEnv &env, jsize start, const Array &buf)
 
- Public Member Functions inherited from jni::Object< ArrayTag< E > >
UntaggedTypeget () const
 
UntaggedTypeoperator* () const
 
auto Get (JNIEnv &env, const Field< TagType, T > &field) const -> std::enable_if_t< IsPrimitive< T >::value, T >
 
auto Get (JNIEnv &env, const Field< TagType, T > &field) const -> std::enable_if_t< !IsPrimitive< T >::value, Local< T > >
 
auto Set (JNIEnv &env, const Field< TagType, T > &field, T value) const -> std::enable_if_t< IsPrimitive< T >::value >
 
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 >
 
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 >
 
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 > >
 
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 >
 
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 >
 
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 > >
 
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 >
 
- Public Member Functions inherited from jni::Object< TheTag >
UntaggedTypeget () const
 
UntaggedTypeoperator* () 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 >
 

Static Public Member Functions

static Local< Array< E > > New (JNIEnv &env, jsize length)
 

Protected Member Functions

 Array (std::nullptr_t=nullptr)
 
 Array (UntaggedType *p)
 
 Array (const Array &)=delete
 
Arrayoperator= (const Array &)=delete
 
- Protected Member Functions inherited from jni::Object< ArrayTag< E > >
 Object (std::nullptr_t=nullptr)
 
 Object (UntaggedType *p)
 
 Object (const Object &)=delete
 
Objectoperator= (const Object &)=delete
 
- Protected Member Functions inherited from jni::Object< TheTag >
 Object (std::nullptr_t=nullptr)
 
 Object (UntaggedType *p)
 
 Object (const Object &)=delete
 
Objectoperator= (const Object &)=delete
 

Member Typedef Documentation

template<class E >
using jni::Array< E, std::enable_if_t< IsPrimitive< E >::value > >::ElementType = E
template<class E >
using jni::Array< E, std::enable_if_t< IsPrimitive< E >::value > >::SuperType = Object< ArrayTag<E> >
template<class E >
using jni::Array< E, std::enable_if_t< IsPrimitive< E >::value > >::UntaggedType = typename SuperType::UntaggedType

Constructor & Destructor Documentation

template<class E >
jni::Array< E, std::enable_if_t< IsPrimitive< E >::value > >::Array ( std::nullptr_t  = nullptr)
inlineexplicitprotected
template<class E >
jni::Array< E, std::enable_if_t< IsPrimitive< E >::value > >::Array ( UntaggedType p)
inlineexplicitprotected
template<class E >
jni::Array< E, std::enable_if_t< IsPrimitive< E >::value > >::Array ( const Array< E, std::enable_if_t< IsPrimitive< E >::value > > &  )
protecteddelete

Member Function Documentation

template<class E >
ElementType jni::Array< E, std::enable_if_t< IsPrimitive< E >::value > >::Get ( JNIEnv &  env,
jsize  index 
) const
inline
template<class E >
template<class Array >
void jni::Array< E, std::enable_if_t< IsPrimitive< E >::value > >::GetRegion ( JNIEnv &  env,
jsize  start,
Array< E, std::enable_if_t< IsPrimitive< E >::value > > &  buf 
) const
inline
template<class E >
jsize jni::Array< E, std::enable_if_t< IsPrimitive< E >::value > >::Length ( JNIEnv &  env) const
inline
template<class E >
static Local<Array<E> > jni::Array< E, std::enable_if_t< IsPrimitive< E >::value > >::New ( JNIEnv &  env,
jsize  length 
)
inlinestatic
template<class E >
Array& jni::Array< E, std::enable_if_t< IsPrimitive< E >::value > >::operator= ( const Array< E, std::enable_if_t< IsPrimitive< E >::value > > &  )
protecteddelete
template<class E >
void jni::Array< E, std::enable_if_t< IsPrimitive< E >::value > >::Set ( JNIEnv &  env,
jsize  index,
const ElementType value 
)
inline
template<class E >
template<class Array >
void jni::Array< E, std::enable_if_t< IsPrimitive< E >::value > >::SetRegion ( JNIEnv &  env,
jsize  start,
const Array< E, std::enable_if_t< IsPrimitive< E >::value > > &  buf 
)
inline

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