Blender V4.3
blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Iterator Class Reference

#include <BLI_set.hh>

Public Types

using iterator_category = std::forward_iterator_tag
 
using value_type = Key
 
using pointer = const Key *
 
using reference = const Key &
 
using difference_type = std::ptrdiff_t
 

Public Member Functions

 Iterator (const Slot *slots, int64_t total_slots, int64_t current_slot)
 
Iteratoroperator++ ()
 
Iterator operator++ (int)
 
const Keyoperator* () const
 
const Keyoperator-> () const
 

Protected Member Functions

const Slot & current_slot () const
 

Friends

bool operator!= (const Iterator &a, const Iterator &b)
 
bool operator== (const Iterator &a, const Iterator &b)
 

Detailed Description

template<typename Key, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultSetSlot<Key>::type, typename Allocator = GuardedAllocator>
class blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Iterator

An iterator that can iterate over all keys in the set. The iterator is invalidated when the set is moved or when it is grown.

Keys returned by this iterator are always const. They should not change, because this might also change their hash.

Definition at line 394 of file BLI_set.hh.

Member Typedef Documentation

◆ difference_type

template<typename Key , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultSetSlot<Key>::type, typename Allocator = GuardedAllocator>
using blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Iterator::difference_type = std::ptrdiff_t

Definition at line 400 of file BLI_set.hh.

◆ iterator_category

template<typename Key , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultSetSlot<Key>::type, typename Allocator = GuardedAllocator>
using blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Iterator::iterator_category = std::forward_iterator_tag

Definition at line 396 of file BLI_set.hh.

◆ pointer

template<typename Key , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultSetSlot<Key>::type, typename Allocator = GuardedAllocator>
using blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Iterator::pointer = const Key *

Definition at line 398 of file BLI_set.hh.

◆ reference

template<typename Key , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultSetSlot<Key>::type, typename Allocator = GuardedAllocator>
using blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Iterator::reference = const Key &

Definition at line 399 of file BLI_set.hh.

◆ value_type

template<typename Key , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultSetSlot<Key>::type, typename Allocator = GuardedAllocator>
using blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Iterator::value_type = Key

Definition at line 397 of file BLI_set.hh.

Constructor & Destructor Documentation

◆ Iterator()

template<typename Key , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultSetSlot<Key>::type, typename Allocator = GuardedAllocator>
blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Iterator::Iterator ( const Slot * slots,
int64_t total_slots,
int64_t current_slot )
inline

Definition at line 410 of file BLI_set.hh.

Member Function Documentation

◆ current_slot()

template<typename Key , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultSetSlot<Key>::type, typename Allocator = GuardedAllocator>
const Slot & blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Iterator::current_slot ( ) const
inlineprotected

Definition at line 455 of file BLI_set.hh.

◆ operator*()

template<typename Key , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultSetSlot<Key>::type, typename Allocator = GuardedAllocator>
const Key & blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Iterator::operator* ( ) const
inline

Definition at line 432 of file BLI_set.hh.

◆ operator++() [1/2]

template<typename Key , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultSetSlot<Key>::type, typename Allocator = GuardedAllocator>
Iterator & blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Iterator::operator++ ( )
inline

Definition at line 415 of file BLI_set.hh.

◆ operator++() [2/2]

template<typename Key , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultSetSlot<Key>::type, typename Allocator = GuardedAllocator>
Iterator blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Iterator::operator++ ( int )
inline

Definition at line 425 of file BLI_set.hh.

◆ operator->()

template<typename Key , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultSetSlot<Key>::type, typename Allocator = GuardedAllocator>
const Key * blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Iterator::operator-> ( ) const
inline

Definition at line 437 of file BLI_set.hh.

Friends And Related Symbol Documentation

◆ operator!=

template<typename Key , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultSetSlot<Key>::type, typename Allocator = GuardedAllocator>
bool operator!= ( const Iterator & a,
const Iterator & b )
friend

Definition at line 442 of file BLI_set.hh.

◆ operator==

template<typename Key , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultSetSlot<Key>::type, typename Allocator = GuardedAllocator>
bool operator== ( const Iterator & a,
const Iterator & b )
friend

Definition at line 449 of file BLI_set.hh.


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