LLVM 22.0.0git
llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy > Class Template Reference

Our iterators are iterators over the collection of objects that share a key. More...

#include "llvm/ADT/SparseMultiSet.h"

Inheritance diagram for llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >:
[legend]

Public Types

using iterator_category = std::bidirectional_iterator_tag
using value_type = ValueT
using difference_type = std::ptrdiff_t
using pointer = value_type *
using reference = value_type &

Public Member Functions

reference operator* () const
pointer operator-> () const
bool operator== (const iterator_base &RHS) const
 Comparison operators.
bool operator!= (const iterator_base &RHS) const
iterator_baseoperator-- ()
 Increment and decrement operators.
iterator_baseoperator++ ()
iterator_base operator-- (int)
iterator_base operator++ (int)

Friends

class SparseMultiSet

Detailed Description

template<typename ValueT, typename KeyFunctorT = identity<unsigned>, typename SparseT = uint8_t>
template<typename SMSPtrTy>
class llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >

Our iterators are iterators over the collection of objects that share a key.

Definition at line 214 of file SparseMultiSet.h.

Member Typedef Documentation

◆ difference_type

template<typename ValueT, typename KeyFunctorT = identity<unsigned>, typename SparseT = uint8_t>
template<typename SMSPtrTy>
using llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::difference_type = std::ptrdiff_t

Definition at line 220 of file SparseMultiSet.h.

◆ iterator_category

template<typename ValueT, typename KeyFunctorT = identity<unsigned>, typename SparseT = uint8_t>
template<typename SMSPtrTy>
using llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::iterator_category = std::bidirectional_iterator_tag

Definition at line 218 of file SparseMultiSet.h.

◆ pointer

template<typename ValueT, typename KeyFunctorT = identity<unsigned>, typename SparseT = uint8_t>
template<typename SMSPtrTy>
using llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::pointer = value_type *

Definition at line 221 of file SparseMultiSet.h.

◆ reference

template<typename ValueT, typename KeyFunctorT = identity<unsigned>, typename SparseT = uint8_t>
template<typename SMSPtrTy>
using llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::reference = value_type &

Definition at line 222 of file SparseMultiSet.h.

◆ value_type

template<typename ValueT, typename KeyFunctorT = identity<unsigned>, typename SparseT = uint8_t>
template<typename SMSPtrTy>
using llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::value_type = ValueT

Definition at line 219 of file SparseMultiSet.h.

Member Function Documentation

◆ operator!=()

template<typename ValueT, typename KeyFunctorT = identity<unsigned>, typename SparseT = uint8_t>
template<typename SMSPtrTy>
bool llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::operator!= ( const iterator_base< SMSPtrTy > & RHS) const
inline

Definition at line 271 of file SparseMultiSet.h.

◆ operator*()

template<typename ValueT, typename KeyFunctorT = identity<unsigned>, typename SparseT = uint8_t>
template<typename SMSPtrTy>
reference llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::operator* ( ) const
inline

◆ operator++() [1/2]

template<typename ValueT, typename KeyFunctorT = identity<unsigned>, typename SparseT = uint8_t>
template<typename SMSPtrTy>
iterator_base & llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::operator++ ( )
inline

Definition at line 287 of file SparseMultiSet.h.

◆ operator++() [2/2]

template<typename ValueT, typename KeyFunctorT = identity<unsigned>, typename SparseT = uint8_t>
template<typename SMSPtrTy>
iterator_base llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::operator++ ( int )
inline

Definition at line 297 of file SparseMultiSet.h.

◆ operator--() [1/2]

template<typename ValueT, typename KeyFunctorT = identity<unsigned>, typename SparseT = uint8_t>
template<typename SMSPtrTy>
iterator_base & llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::operator-- ( )
inline

Increment and decrement operators.

Definition at line 274 of file SparseMultiSet.h.

◆ operator--() [2/2]

template<typename ValueT, typename KeyFunctorT = identity<unsigned>, typename SparseT = uint8_t>
template<typename SMSPtrTy>
iterator_base llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::operator-- ( int )
inline

Definition at line 292 of file SparseMultiSet.h.

◆ operator->()

template<typename ValueT, typename KeyFunctorT = identity<unsigned>, typename SparseT = uint8_t>
template<typename SMSPtrTy>
pointer llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::operator-> ( ) const
inline

Definition at line 257 of file SparseMultiSet.h.

◆ operator==()

template<typename ValueT, typename KeyFunctorT = identity<unsigned>, typename SparseT = uint8_t>
template<typename SMSPtrTy>
bool llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::operator== ( const iterator_base< SMSPtrTy > & RHS) const
inline

◆ SparseMultiSet

template<typename ValueT, typename KeyFunctorT = identity<unsigned>, typename SparseT = uint8_t>
template<typename SMSPtrTy>
friend class SparseMultiSet
friend

Definition at line 215 of file SparseMultiSet.h.


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