JavaClassHash Class Reference

#include <java_helper.h>

Inheritance diagram for JavaClassHash:

公共成员函数

JavaClassArray GetClassArray ( JNIEnv *env)
-  Public Member Functions inherited from HashMap< JNIEnv *, JavaClassArray >
  HashMap ()
  HashMap (const DefaultAllocator &alloc)
  HashMap ( HashMap &&src)
  ~HashMap ()
  MAXON_OPERATOR_MOVE_ASSIGNMENT ( HashMap )
ResultMem   SetCapacityHint ( Int capacity, COLLECTION_RESIZE_FLAGS resizeFlags= COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY )
ResultMem   ResizeTable ( Int capacity)
void  重置 ()
void  Flush ()
Int   GetCount () const
Int   GetTableSize () const
Int   GetMemorySize () const
Int   GetNonEmptyBucketCount () const
Entry *  GetNonEmptyBucket ( Int i)
const Entry *  GetNonEmptyBucket ( Int i) const
Int   GetOperationCountForSearch () const
SFINAEHelper < Bool , typename MAP::IsHashMap >::type  IsEqualImpl (const MAP &other, COMPARE &&cmp, OverloadRank1 ) const
Entry *  Find (const KEY &key)
const Entry *  Find (const KEY &key) const
JavaClassArray FindValue (const KEY &key)
const JavaClassArray FindValue (const KEY &key) const
Result < Entry * >  InsertCtor ( KEY &&key, C &&constructor, Bool &created= BoolLValue ())
ResultRef < Entry >  InsertEntry (const JNIEnv * &key, Bool &created= BoolLValue ())
ResultRef < Entry >  InsertEntry ( JNIEnv * &&key, Bool &created= BoolLValue ())
ResultRef < Entry >  InsertEntry ( KEY &&key, Bool &created= BoolLValue ())
ResultRef < JavaClassArray InsertKey (const JNIEnv * &key, Bool &created= BoolLValue ())
ResultRef < JavaClassArray InsertKey ( JNIEnv * &&key, Bool &created= BoolLValue ())
ResultRef < JavaClassArray InsertKey ( KEY &&key, Bool &created= BoolLValue ())
Result < Entry * >  InsertLambda ( KEY &&key, LAMBDA &&lambda)
ResultRef < Entry >  Insert ( KEY &&key, const JavaClassArray &value, Bool &created= BoolLValue ())
ResultRef < Entry >  Insert ( KEY &&key, JavaClassArray &&value, Bool &created= BoolLValue ())
ResultRef < Entry >  InsertMultiEntry ( KEY &&key)
ResultMem   InsertMultiEntry (Entry *e, UInt hash)
ResultOk < void >  Erase (const Entry *entry, Bool deleteEntry=true)
ResultOk < void >  Erase (Entry *entry, Bool deleteEntry=true)
ResultOk < void >  Erase (const Entry &entry, Bool deleteEntry=true)
ResultOk < void >  Erase (Entry &entry, Bool deleteEntry=true)
ResultOk < Bool Erase (const KEY &key)
IteratorTemplate< SUPER >  Erase (const IteratorTemplate< SUPER > &it, Bool deleteEntry=true)
void  DeleteEntry (const Entry *e)
Result < void >  IntersectImpl ( SET &&set, OverloadRank0 )
Result < void >  CopyFromImpl (HASHMAP &&other, COLLECTION_RESIZE_FLAGS resizeFlags, OverloadRank1 )
SFINAEHelper < Result < void >, typename std::remove_reference< S >::type::MapType >::type  AppendAllImpl ( S &&src, COLLECTION_RESIZE_FLAGS resizeFlags, Bool overwrite, OverloadRank1 )
MultiEntryIterator< false >  FindAll (const JNIEnv * &key)
MultiEntryIterator< true >  FindAll (const JNIEnv * &key) const
KeyIterator   GetKeys ()
ConstKeyIterator   GetKeys () const
ValueIterator   GetValues ()
ConstValueIterator   GetValues () const
Iterator   Begin ()
ConstIterator   Begin () const
Iterator   End ()
ConstIterator   End () const
Iterator   GetIterator (const Entry *e)
ConstIterator   GetIterator (const Entry *e) const
SFINAEHelper < String , JavaClassArray >::type  ToString (const FormatStatement *formatStatement=nullptr) const
const Entry *  FindEntryImpl ( UInt hash, const KEY &key) const
Entry *  FindEntryImpl ( UInt hash, const KEY &key)
-  Public Member Functions inherited from MapBase< HashMap< JNIEnv *, JavaClassArray, DefaultCompare, HashMapKeyValuePair, DefaultAllocator, HASHMAP_MODE::DEFAULT, 16,(HASHMAP_MODE::DEFAULT==HASHMAP_MODE::SYNCHRONIZED) ? 0 :10 >, JNIEnv *, JavaClassArray, EmptyClass, DefaultCompare >
MAXON_ATTRIBUTE_FORCE_INLINE   MapBase (ARGS &&... args)
MapImpl < HashMap < JNIEnv *, JavaClassArray , DefaultCompare , HashMapKeyValuePair , DefaultAllocator , HASHMAP_MODE::DEFAULT, 16,(HASHMAP_MODE::DEFAULT== HASHMAP_MODE::SYNCHRONIZED ) ? 0 :10 > & >  ToMap ()
MapImpl < const HashMap < JNIEnv *, JavaClassArray , DefaultCompare , HashMapKeyValuePair , DefaultAllocator , HASHMAP_MODE::DEFAULT, 16,(HASHMAP_MODE::DEFAULT== HASHMAP_MODE::SYNCHRONIZED ) ? 0 :10 > & >  ToMap () const
MAXON_ATTRIBUTE_FORCE_INLINE   operator MapImpl< HashMap< JNIEnv *, JavaClassArray, DefaultCompare, HashMapKeyValuePair, DefaultAllocator, HASHMAP_MODE::DEFAULT, 16,(HASHMAP_MODE::DEFAULT==HASHMAP_MODE::SYNCHRONIZED) ? 0 :10 > & > ()
MAXON_ATTRIBUTE_FORCE_INLINE   operator MapImpl< const HashMap< JNIEnv *, JavaClassArray, DefaultCompare, HashMapKeyValuePair, DefaultAllocator, HASHMAP_MODE::DEFAULT, 16,(HASHMAP_MODE::DEFAULT==HASHMAP_MODE::SYNCHRONIZED) ? 0 :10 > & > () const
-  Public Member Functions inherited from MapBase0< HashMap< JNIEnv *, JavaClassArray, DefaultCompare, HashMapKeyValuePair, DefaultAllocator, HASHMAP_MODE::DEFAULT, 16,(HASHMAP_MODE::DEFAULT==HASHMAP_MODE::SYNCHRONIZED) ? 0 :10 >, JNIEnv *, JavaClassArray, EmptyClass, DefaultCompare >
MAXON_ATTRIBUTE_FORCE_INLINE   MapBase0 (ARGS &&... args)
MAXON_ATTRIBUTE_FORCE_INLINE Bool   Contains (typename ByValueParam < JNIEnv * >::type key) const
MAXON_ATTRIBUTE_FORCE_INLINE SFINAEHelper < Bool , typename PAIR::KeyType >::type  Contains (const PAIR &pair) const
ResultRef < JavaClassArray Append (const JNIEnv * &key)
SFINAEHelper < ResultRef < JavaClassArray >, typename PAIR::KeyType >::type  Append (const PAIR &pair)
Result < void >  添加 (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags= COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY )
Result < void >  AppendAll (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags= COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY )
Result < void >  AppendAllInverse (COLLECTION2 &&other)
Bool   ContainsAllImpl (COLLECTION2 &&other, OverloadRank0 ) const
Result < void >  SubtractImpl (COLLECTION2 &&other, OverloadRank0 )
Bool   IsEqualImpl (const COLLECTION2 &other, COMPARE &&cmp, OverloadRank0 ) const
HashInt   GetHashCode () const
-  Public Member Functions inherited from BaseCollection< HashMap< JNIEnv *, JavaClassArray, DefaultCompare, HashMapKeyValuePair, DefaultAllocator, HASHMAP_MODE::DEFAULT, 16,(HASHMAP_MODE::DEFAULT==HASHMAP_MODE::SYNCHRONIZED) ? 0 :10 >, EmptyClass >
MAXON_ATTRIBUTE_FORCE_INLINE   BaseCollection (ARGS &&... args)
MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< maxon::IsCollection< COLLECTION2 >::value, Bool >::type  operator== (const COLLECTION2 &other) const
MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< maxon::IsCollection< COLLECTION2 >::value, Bool >::type  operator!= (const COLLECTION2 &other) const
MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< maxon::IsCollection< COLLECTION2 >::value &&! STD_IS_REPLACEMENT (same, typename std::decay< COMPARE >::type, EQUALITY ), Bool >::type  IsEqual (const COLLECTION2 &other, COMPARE &&cmp=COMPARE()) const
MAXON_ATTRIBUTE_FORCE_INLINE Result < void >  AppendAll (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags= COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY )
MAXON_ATTRIBUTE_FORCE_INLINE Result < void >  CopyFrom (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags= COLLECTION_RESIZE_FLAGS::FIT_TO_SIZE )
MAXON_ATTRIBUTE_FORCE_INLINE Result < void >  Subtract (COLLECTION2 &&other)
MAXON_ATTRIBUTE_FORCE_INLINE Result < void >  Intersect (const COLLECTION2 &other)
Bool   Intersects (const COLLECTION2 &other) const
MAXON_ATTRIBUTE_FORCE_INLINE Result < void >  CopyFromImpl (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags, OverloadRank0 )
Result < void >  AppendAllImpl (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags, Bool overwrite, OverloadRank0 )
Result < void >  IntersectImpl (COLLECTION2 &&other, OverloadRank0 )
MAXON_ATTRIBUTE_FORCE_INLINE Bool   IsEmpty () const
MAXON_ATTRIBUTE_FORCE_INLINE Bool   IsPopulated () const
String   ToString (const FormatStatement *formatStatement=nullptr) const
MAXON_ATTRIBUTE_FORCE_INLINE Bool   ContainsAll (COLLECTION2 &&other) const
Bool   ContainsAllImpl (COLLECTION2 &&other, OverloadRank0 ) const

Private Attributes

Spinlock   _lock

Additional Inherited Members

-  Public Types inherited from HashMap< JNIEnv *, JavaClassArray >
using  Super = MapBase < HashMap , JNIEnv *, JavaClassArray , EmptyClass , DefaultCompare >
using  HashType = DefaultCompare
using  IsHashMap = std::true_type
using  Iterator = IteratorTemplate< EntryIteratorBase >
using  ConstIterator = ConstIteratorTemplate< EntryIteratorBase >
using  KeyIterator = IteratorTemplate< KeyIteratorBase >
using  ConstKeyIterator = ConstIteratorTemplate< KeyIteratorBase >
using  ValueIterator = IteratorTemplate< ValueIteratorBase >
using  ConstValueIterator = ConstIteratorTemplate< ValueIteratorBase >
-  Public Types inherited from MapBase0< HashMap< JNIEnv *, JavaClassArray, DefaultCompare, HashMapKeyValuePair, DefaultAllocator, HASHMAP_MODE::DEFAULT, 16,(HASHMAP_MODE::DEFAULT==HASHMAP_MODE::SYNCHRONIZED) ? 0 :10 >, JNIEnv *, JavaClassArray, EmptyClass, DefaultCompare >
using  MapType = HashMap < JNIEnv *, JavaClassArray , DefaultCompare , HashMapKeyValuePair , DefaultAllocator , HASHMAP_MODE::DEFAULT, 16,(HASHMAP_MODE::DEFAULT== HASHMAP_MODE::SYNCHRONIZED ) ? 0 :10 >
using  Super = BaseCollection < HashMap < JNIEnv *, JavaClassArray , DefaultCompare , HashMapKeyValuePair , DefaultAllocator , HASHMAP_MODE::DEFAULT, 16,(HASHMAP_MODE::DEFAULT== HASHMAP_MODE::SYNCHRONIZED ) ? 0 :10 >, EmptyClass >
using  KeyType = JNIEnv *
using  ValueType = JavaClassArray
-  Public Types inherited from BaseCollection< HashMap< JNIEnv *, JavaClassArray, DefaultCompare, HashMapKeyValuePair, DefaultAllocator, HASHMAP_MODE::DEFAULT, 16,(HASHMAP_MODE::DEFAULT==HASHMAP_MODE::SYNCHRONIZED) ? 0 :10 >, EmptyClass >
using  IsCollection = std::true_type
-  Static Public Member Functions inherited from HashMap< JNIEnv *, JavaClassArray >
static const Entry *  GetEntry (const JavaClassArray *value)
static Entry *  GetEntry (typename std::remove_const< JavaClassArray >::type *value)
-  Static Public Member Functions inherited from MapBase0< HashMap< JNIEnv *, JavaClassArray, DefaultCompare, HashMapKeyValuePair, DefaultAllocator, HASHMAP_MODE::DEFAULT, 16,(HASHMAP_MODE::DEFAULT==HASHMAP_MODE::SYNCHRONIZED) ? 0 :10 >, JNIEnv *, JavaClassArray, EmptyClass, DefaultCompare >
static const JNIEnv * &  GetMapKey (const JNIEnv * &key)
static const JNIEnv * &  GetMapKey (const PAIR &pair)
-  Static Public Attributes inherited from MapBase0< HashMap< JNIEnv *, JavaClassArray, DefaultCompare, HashMapKeyValuePair, DefaultAllocator, HASHMAP_MODE::DEFAULT, 16,(HASHMAP_MODE::DEFAULT==HASHMAP_MODE::SYNCHRONIZED) ? 0 :10 >, JNIEnv *, JavaClassArray, EmptyClass, DefaultCompare >
static const COLLECTION_KIND   KIND
-  Protected Types inherited from HashMap< JNIEnv *, JavaClassArray >
using  Bucket = typename std::conditional< HASHMAP_MODE::DEFAULT==HASHMAP_MODE::DEFAULT, DefaultBucket, SimpleBucket >::type
-  Protected Member Functions inherited from HashMap< JNIEnv *, JavaClassArray >
Bool   ResizeTableImpl ( Int length)
Entry *  AddEntryImpl (Entry *e, Entry *prev, Bool &created, Bool multi, void *)
Entry *  AddEntryImpl (Entry *e, Entry *prev, Bool &created, Bool multi, Char *)
  MAXON_DISALLOW_COPY_AND_ASSIGN ( HashMap )
const Char GetSignature (void *) const
const Char GetSignature ( Char *) const
-  Static Protected Member Functions inherited from HashMap< JNIEnv *, JavaClassArray >
static Entry *  LoadRelaxed ( AtomicPtr < Entry > &e)
static Entry *  LoadRelaxed (Entry *e)
static Entry *  LoadAcquire ( AtomicPtr < Entry > &e)
static Entry *  LoadAcquire (Entry *e)
static void  StoreRelaxed ( AtomicPtr < Entry > &e, Entry *newValue)
static void  StoreRelaxed (Entry *&e, Entry *newValue)
static Bool   TryCompareAndSwap ( AtomicPtr < Entry > &e, Entry *newValue, Entry *compare)
static Bool   TryCompareAndSwap (Entry *&e, Entry *newValue, Entry *compare)
-  Protected Attributes inherited from HashMap< JNIEnv *, JavaClassArray >
DefaultAllocator   _allocator
Bucket _table
Int   _tableLengthM1
Bucket **  _nonemptyBuckets
Int   _nonemptyBucketCount
Int   _size
Int   _resizeThreshold
const Float   _obsoleteLoadFactor

成员函数文档编制

◆  GetClassArray()

JavaClassArray * GetClassArray ( JNIEnv env )

Member Data Documentation

◆  _lock

Spinlock _lock
private