公共成员函数
|
JavaClassArray
*
|
GetClassArray
(
JNIEnv
*env)
|
|
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)
|
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
|
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
|
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
|
Additional Inherited Members
|
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 >
|
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
|
using
|
IsCollection
= std::true_type
|
static const Entry *
|
GetEntry
(const
JavaClassArray
*value)
|
static Entry *
|
GetEntry
(typename std::remove_const<
JavaClassArray
>::type *value)
|
static const
JNIEnv
* &
|
GetMapKey
(const
JNIEnv
* &key)
|
static const
JNIEnv
* &
|
GetMapKey
(const PAIR &pair)
|
static const
COLLECTION_KIND
|
KIND
|
using
|
Bucket
= typename std::conditional< HASHMAP_MODE::DEFAULT==HASHMAP_MODE::DEFAULT, DefaultBucket, SimpleBucket >::type
|
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 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)
|
DefaultAllocator
|
_allocator
|
Bucket
*
|
_table
|
Int
|
_tableLengthM1
|
Bucket
**
|
_nonemptyBuckets
|
Int
|
_nonemptyBucketCount
|
Int
|
_size
|
Int
|
_resizeThreshold
|
const
Float
|
_obsoleteLoadFactor
|