proxygen
folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn > Struct Template Reference

#include <AtomicHashArray-inl.h>

Inheritance diagram for folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >:

Public Member Functions

 aha_iterator ()
 
template<class OtherContT , class OtherVal >
 aha_iterator (const aha_iterator< OtherContT, OtherVal > &o, typename std::enable_if< std::is_convertible< OtherVal *, IterVal * >::value >::type *=nullptr)
 
 aha_iterator (ContT *array, size_t offset)
 
uint32_t getIndex () const
 
void advancePastEmpty ()
 

Private Member Functions

void increment ()
 
bool equal (const aha_iterator &o) const
 
IterVal & dereference () const
 
bool isValid () const
 

Private Attributes

ContT * aha_
 
size_t offset_
 

Friends

class AtomicHashArray
 

Detailed Description

template<class KeyT, class ValueT, class HashFcn = std::hash<KeyT>, class EqualFcn = std::equal_to<KeyT>, class Allocator = std::allocator<char>, class ProbeFcn = AtomicHashArrayLinearProbeFcn, class KeyConvertFcn = Identity>
template<class KeyT, class ValueT, class HashFcn, class EqualFcn, class Allocator, class ProbeFcn, class KeyConvertFcn>
struct folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >

Definition at line 475 of file AtomicHashArray-inl.h.

Constructor & Destructor Documentation

template<class KeyT , class ValueT , class HashFcn = std::hash<KeyT>, class EqualFcn = std::equal_to<KeyT>, class Allocator = std::allocator<char>, class ProbeFcn = AtomicHashArrayLinearProbeFcn, class KeyConvertFcn = Identity>
template<class KeyT, class ValueT, class HashFcn, class EqualFcn, class Allocator, class ProbeFcn, class KeyConvertFcn>
folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator ( )
inlineexplicit

Definition at line 487 of file AtomicHashArray-inl.h.

template<class KeyT , class ValueT , class HashFcn = std::hash<KeyT>, class EqualFcn = std::equal_to<KeyT>, class Allocator = std::allocator<char>, class ProbeFcn = AtomicHashArrayLinearProbeFcn, class KeyConvertFcn = Identity>
template<class KeyT, class ValueT, class HashFcn, class EqualFcn, class Allocator, class ProbeFcn, class KeyConvertFcn>
template<class OtherContT , class OtherVal >
folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator ( const aha_iterator< OtherContT, OtherVal > &  o,
typename std::enable_if< std::is_convertible< OtherVal *, IterVal * >::value >::type = nullptr 
)
inline

Definition at line 493 of file AtomicHashArray-inl.h.

template<class KeyT , class ValueT , class HashFcn = std::hash<KeyT>, class EqualFcn = std::equal_to<KeyT>, class Allocator = std::allocator<char>, class ProbeFcn = AtomicHashArrayLinearProbeFcn, class KeyConvertFcn = Identity>
template<class KeyT, class ValueT, class HashFcn, class EqualFcn, class Allocator, class ProbeFcn, class KeyConvertFcn>
folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator ( ContT *  array,
size_t  offset 
)
inlineexplicit

Member Function Documentation

template<class KeyT , class ValueT , class HashFcn = std::hash<KeyT>, class EqualFcn = std::equal_to<KeyT>, class Allocator = std::allocator<char>, class ProbeFcn = AtomicHashArrayLinearProbeFcn, class KeyConvertFcn = Identity>
template<class KeyT, class ValueT, class HashFcn, class EqualFcn, class Allocator, class ProbeFcn, class KeyConvertFcn>
void folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::advancePastEmpty ( )
inline
template<class KeyT , class ValueT , class HashFcn = std::hash<KeyT>, class EqualFcn = std::equal_to<KeyT>, class Allocator = std::allocator<char>, class ProbeFcn = AtomicHashArrayLinearProbeFcn, class KeyConvertFcn = Identity>
template<class KeyT, class ValueT, class HashFcn, class EqualFcn, class Allocator, class ProbeFcn, class KeyConvertFcn>
IterVal& folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::dereference ( ) const
inlineprivate

Definition at line 528 of file AtomicHashArray-inl.h.

References offset_.

template<class KeyT , class ValueT , class HashFcn = std::hash<KeyT>, class EqualFcn = std::equal_to<KeyT>, class Allocator = std::allocator<char>, class ProbeFcn = AtomicHashArrayLinearProbeFcn, class KeyConvertFcn = Identity>
template<class KeyT, class ValueT, class HashFcn, class EqualFcn, class Allocator, class ProbeFcn, class KeyConvertFcn>
bool folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::equal ( const aha_iterator< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn > &  o) const
inlineprivate
template<class KeyT , class ValueT , class HashFcn = std::hash<KeyT>, class EqualFcn = std::equal_to<KeyT>, class Allocator = std::allocator<char>, class ProbeFcn = AtomicHashArrayLinearProbeFcn, class KeyConvertFcn = Identity>
template<class KeyT, class ValueT, class HashFcn, class EqualFcn, class Allocator, class ProbeFcn, class KeyConvertFcn>
uint32_t folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::getIndex ( ) const
inline

Definition at line 505 of file AtomicHashArray-inl.h.

References offset_.

505  {
506  return offset_;
507  }
template<class KeyT , class ValueT , class HashFcn = std::hash<KeyT>, class EqualFcn = std::equal_to<KeyT>, class Allocator = std::allocator<char>, class ProbeFcn = AtomicHashArrayLinearProbeFcn, class KeyConvertFcn = Identity>
template<class KeyT, class ValueT, class HashFcn, class EqualFcn, class Allocator, class ProbeFcn, class KeyConvertFcn>
void folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::increment ( )
inlineprivate

Definition at line 519 of file AtomicHashArray-inl.h.

References offset_.

template<class KeyT , class ValueT , class HashFcn = std::hash<KeyT>, class EqualFcn = std::equal_to<KeyT>, class Allocator = std::allocator<char>, class ProbeFcn = AtomicHashArrayLinearProbeFcn, class KeyConvertFcn = Identity>
template<class KeyT, class ValueT, class HashFcn, class EqualFcn, class Allocator, class ProbeFcn, class KeyConvertFcn>
bool folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::isValid ( ) const
inlineprivate

Definition at line 532 of file AtomicHashArray-inl.h.

References folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::acquireLoadKey(), and offset_.

532  {
533  KeyT key = acquireLoadKey(aha_->cells_[offset_]);
534  return key != aha_->kEmptyKey_ && key != aha_->kLockedKey_ &&
535  key != aha_->kErasedKey_;
536  }
int32_t KeyT
static KeyT acquireLoadKey(const value_type &r)

Friends And Related Function Documentation

template<class KeyT , class ValueT , class HashFcn = std::hash<KeyT>, class EqualFcn = std::equal_to<KeyT>, class Allocator = std::allocator<char>, class ProbeFcn = AtomicHashArrayLinearProbeFcn, class KeyConvertFcn = Identity>
template<class KeyT, class ValueT, class HashFcn, class EqualFcn, class Allocator, class ProbeFcn, class KeyConvertFcn>
friend class AtomicHashArray
friend

Definition at line 516 of file AtomicHashArray-inl.h.

Member Data Documentation

template<class KeyT , class ValueT , class HashFcn = std::hash<KeyT>, class EqualFcn = std::equal_to<KeyT>, class Allocator = std::allocator<char>, class ProbeFcn = AtomicHashArrayLinearProbeFcn, class KeyConvertFcn = Identity>
template<class KeyT, class ValueT, class HashFcn, class EqualFcn, class Allocator, class ProbeFcn, class KeyConvertFcn>
ContT* folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_
private
template<class KeyT , class ValueT , class HashFcn = std::hash<KeyT>, class EqualFcn = std::equal_to<KeyT>, class Allocator = std::allocator<char>, class ProbeFcn = AtomicHashArrayLinearProbeFcn, class KeyConvertFcn = Identity>
template<class KeyT, class ValueT, class HashFcn, class EqualFcn, class Allocator, class ProbeFcn, class KeyConvertFcn>
size_t folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::aha_iterator< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::offset_
private

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