proxygen
folly::AtomicUnorderedInsertMap< Key, Value, Hash, KeyEqual, SkipKeyValueDeletion, Atom, IndexType, Allocator >::ConstIterator Struct Reference

#include <AtomicUnorderedMap.h>

Public Member Functions

 ConstIterator (const AtomicUnorderedInsertMap &owner, IndexType slot)
 
 ConstIterator (const ConstIterator &)=default
 
ConstIteratoroperator= (const ConstIterator &)=default
 
const value_typeoperator* () const
 
const value_typeoperator-> () const
 
const ConstIteratoroperator++ ()
 
ConstIterator operator++ (int)
 
bool operator== (const ConstIterator &rhs) const
 
bool operator!= (const ConstIterator &rhs) const
 

Private Attributes

const AtomicUnorderedInsertMapowner_
 
IndexType slot_
 

Detailed Description

template<typename Key, typename Value, typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>, bool SkipKeyValueDeletion = (boost::has_trivial_destructor<Key>::value && boost::has_trivial_destructor<Value>::value), template< typename > class Atom = std::atomic, typename IndexType = uint32_t, typename Allocator = folly::detail::MMapAlloc>
struct folly::AtomicUnorderedInsertMap< Key, Value, Hash, KeyEqual, SkipKeyValueDeletion, Atom, IndexType, Allocator >::ConstIterator

Definition at line 154 of file AtomicUnorderedMap.h.

Constructor & Destructor Documentation

template<typename Key, typename Value, typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>, bool SkipKeyValueDeletion = (boost::has_trivial_destructor<Key>::value && boost::has_trivial_destructor<Value>::value), template< typename > class Atom = std::atomic, typename IndexType = uint32_t, typename Allocator = folly::detail::MMapAlloc>
folly::AtomicUnorderedInsertMap< Key, Value, Hash, KeyEqual, SkipKeyValueDeletion, Atom, IndexType, Allocator >::ConstIterator::ConstIterator ( const AtomicUnorderedInsertMap owner,
IndexType  slot 
)
inline

Definition at line 155 of file AtomicUnorderedMap.h.

template<typename Key, typename Value, typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>, bool SkipKeyValueDeletion = (boost::has_trivial_destructor<Key>::value && boost::has_trivial_destructor<Value>::value), template< typename > class Atom = std::atomic, typename IndexType = uint32_t, typename Allocator = folly::detail::MMapAlloc>
folly::AtomicUnorderedInsertMap< Key, Value, Hash, KeyEqual, SkipKeyValueDeletion, Atom, IndexType, Allocator >::ConstIterator::ConstIterator ( const ConstIterator )
default

Member Function Documentation

template<typename Key, typename Value, typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>, bool SkipKeyValueDeletion = (boost::has_trivial_destructor<Key>::value && boost::has_trivial_destructor<Value>::value), template< typename > class Atom = std::atomic, typename IndexType = uint32_t, typename Allocator = folly::detail::MMapAlloc>
bool folly::AtomicUnorderedInsertMap< Key, Value, Hash, KeyEqual, SkipKeyValueDeletion, Atom, IndexType, Allocator >::ConstIterator::operator!= ( const ConstIterator rhs) const
inline

Definition at line 190 of file AtomicUnorderedMap.h.

References folly::detail::rhs.

190  {
191  return !(*this == rhs);
192  }
FOLLY_PUSH_WARNING RHS rhs
Definition: Traits.h:649
template<typename Key, typename Value, typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>, bool SkipKeyValueDeletion = (boost::has_trivial_destructor<Key>::value && boost::has_trivial_destructor<Value>::value), template< typename > class Atom = std::atomic, typename IndexType = uint32_t, typename Allocator = folly::detail::MMapAlloc>
const value_type& folly::AtomicUnorderedInsertMap< Key, Value, Hash, KeyEqual, SkipKeyValueDeletion, Atom, IndexType, Allocator >::ConstIterator::operator* ( ) const
inline
template<typename Key, typename Value, typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>, bool SkipKeyValueDeletion = (boost::has_trivial_destructor<Key>::value && boost::has_trivial_destructor<Value>::value), template< typename > class Atom = std::atomic, typename IndexType = uint32_t, typename Allocator = folly::detail::MMapAlloc>
const ConstIterator& folly::AtomicUnorderedInsertMap< Key, Value, Hash, KeyEqual, SkipKeyValueDeletion, Atom, IndexType, Allocator >::ConstIterator::operator++ ( )
inline

Definition at line 170 of file AtomicUnorderedMap.h.

170  {
171  while (slot_ > 0) {
172  --slot_;
173  if (owner_.slots_[slot_].state() == LINKED) {
174  break;
175  }
176  }
177  return *this;
178  }
template<typename Key, typename Value, typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>, bool SkipKeyValueDeletion = (boost::has_trivial_destructor<Key>::value && boost::has_trivial_destructor<Value>::value), template< typename > class Atom = std::atomic, typename IndexType = uint32_t, typename Allocator = folly::detail::MMapAlloc>
ConstIterator folly::AtomicUnorderedInsertMap< Key, Value, Hash, KeyEqual, SkipKeyValueDeletion, Atom, IndexType, Allocator >::ConstIterator::operator++ ( int  )
inline

Definition at line 181 of file AtomicUnorderedMap.h.

181  {
182  auto prev = *this;
183  ++*this;
184  return prev;
185  }
template<typename Key, typename Value, typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>, bool SkipKeyValueDeletion = (boost::has_trivial_destructor<Key>::value && boost::has_trivial_destructor<Value>::value), template< typename > class Atom = std::atomic, typename IndexType = uint32_t, typename Allocator = folly::detail::MMapAlloc>
const value_type* folly::AtomicUnorderedInsertMap< Key, Value, Hash, KeyEqual, SkipKeyValueDeletion, Atom, IndexType, Allocator >::ConstIterator::operator-> ( ) const
inline
template<typename Key, typename Value, typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>, bool SkipKeyValueDeletion = (boost::has_trivial_destructor<Key>::value && boost::has_trivial_destructor<Value>::value), template< typename > class Atom = std::atomic, typename IndexType = uint32_t, typename Allocator = folly::detail::MMapAlloc>
ConstIterator& folly::AtomicUnorderedInsertMap< Key, Value, Hash, KeyEqual, SkipKeyValueDeletion, Atom, IndexType, Allocator >::ConstIterator::operator= ( const ConstIterator )
default
template<typename Key, typename Value, typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>, bool SkipKeyValueDeletion = (boost::has_trivial_destructor<Key>::value && boost::has_trivial_destructor<Value>::value), template< typename > class Atom = std::atomic, typename IndexType = uint32_t, typename Allocator = folly::detail::MMapAlloc>
bool folly::AtomicUnorderedInsertMap< Key, Value, Hash, KeyEqual, SkipKeyValueDeletion, Atom, IndexType, Allocator >::ConstIterator::operator== ( const ConstIterator rhs) const
inline

Member Data Documentation

template<typename Key, typename Value, typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>, bool SkipKeyValueDeletion = (boost::has_trivial_destructor<Key>::value && boost::has_trivial_destructor<Value>::value), template< typename > class Atom = std::atomic, typename IndexType = uint32_t, typename Allocator = folly::detail::MMapAlloc>
const AtomicUnorderedInsertMap& folly::AtomicUnorderedInsertMap< Key, Value, Hash, KeyEqual, SkipKeyValueDeletion, Atom, IndexType, Allocator >::ConstIterator::owner_
private

Definition at line 195 of file AtomicUnorderedMap.h.

template<typename Key, typename Value, typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>, bool SkipKeyValueDeletion = (boost::has_trivial_destructor<Key>::value && boost::has_trivial_destructor<Value>::value), template< typename > class Atom = std::atomic, typename IndexType = uint32_t, typename Allocator = folly::detail::MMapAlloc>
IndexType folly::AtomicUnorderedInsertMap< Key, Value, Hash, KeyEqual, SkipKeyValueDeletion, Atom, IndexType, Allocator >::ConstIterator::slot_
private

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