Blender  V3.3
Public Member Functions | List of all members
blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::BaseIteratorRange< SubIterator > Class Template Reference

#include <BLI_map.hh>

Inheritance diagram for blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::BaseIteratorRange< SubIterator >:
blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::BaseIterator

Public Member Functions

 BaseIteratorRange (const Slot *slots, int64_t total_slots, int64_t current_slot)
 
SubIterator begin () const
 
SubIterator end () const
 
- Public Member Functions inherited from blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::BaseIterator
 BaseIterator (const Slot *slots, const int64_t total_slots, const int64_t current_slot)
 
BaseIteratoroperator++ ()
 
BaseIterator operator++ (int) const
 

Additional Inherited Members

- Public Types inherited from blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::BaseIterator
using iterator_category = std::forward_iterator_tag
 
using difference_type = std::ptrdiff_t
 
- Protected Member Functions inherited from blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::BaseIterator
Slot & current_slot () const
 
- Protected Attributes inherited from blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::BaseIterator
Slot * slots_
 
int64_t total_slots_
 
int64_t current_slot_
 
friend Map
 

Detailed Description

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename SubIterator>
class blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::BaseIteratorRange< SubIterator >

A utility iterator that reduces the amount of code when implementing the actual iterators. This uses the "curiously recurring template pattern" (CRTP).

Definition at line 702 of file BLI_map.hh.

Constructor & Destructor Documentation

◆ BaseIteratorRange()

template<typename Key , typename Value , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename SubIterator >
blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::BaseIteratorRange< SubIterator >::BaseIteratorRange ( const Slot *  slots,
int64_t  total_slots,
int64_t  current_slot 
)
inline

Definition at line 704 of file BLI_map.hh.

Member Function Documentation

◆ begin()

template<typename Key , typename Value , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename SubIterator >
SubIterator blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::BaseIteratorRange< SubIterator >::begin ( ) const
inline

◆ end()

template<typename Key , typename Value , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename SubIterator >
SubIterator blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::BaseIteratorRange< SubIterator >::end ( ) const
inline

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