LLVM 22.0.0git
llvm::ImutAVLTreeGenericIterator< ImutInfo > Class Template Reference

#include "llvm/ADT/ImmutableSet.h"

Public Types

enum  VisitFlag { VisitedNone =0x0 , VisitedLeft =0x1 , VisitedRight =0x3 , Flags =0x3 }
using iterator_category = std::bidirectional_iterator_tag
using value_type = ImutAVLTree<ImutInfo>
using difference_type = std::ptrdiff_t
using pointer = value_type *
using reference = value_type &
using TreeTy = ImutAVLTree<ImutInfo>

Public Member Functions

 ImutAVLTreeGenericIterator ()=default
 ImutAVLTreeGenericIterator (const TreeTy *Root)
TreeTyoperator* () const
TreeTyoperator-> () const
uintptr_t getVisitState () const
bool atEnd () const
bool atBeginning () const
void skipToParent ()
bool operator== (const ImutAVLTreeGenericIterator &x) const
bool operator!= (const ImutAVLTreeGenericIterator &x) const
ImutAVLTreeGenericIteratoroperator++ ()
ImutAVLTreeGenericIteratoroperator-- ()

Detailed Description

template<typename ImutInfo>
class llvm::ImutAVLTreeGenericIterator< ImutInfo >

Definition at line 645 of file ImmutableSet.h.

Member Typedef Documentation

◆ difference_type

template<typename ImutInfo>
using llvm::ImutAVLTreeGenericIterator< ImutInfo >::difference_type = std::ptrdiff_t

Definition at line 651 of file ImmutableSet.h.

◆ iterator_category

template<typename ImutInfo>
using llvm::ImutAVLTreeGenericIterator< ImutInfo >::iterator_category = std::bidirectional_iterator_tag

Definition at line 649 of file ImmutableSet.h.

◆ pointer

template<typename ImutInfo>
using llvm::ImutAVLTreeGenericIterator< ImutInfo >::pointer = value_type *

Definition at line 652 of file ImmutableSet.h.

◆ reference

template<typename ImutInfo>
using llvm::ImutAVLTreeGenericIterator< ImutInfo >::reference = value_type &

Definition at line 653 of file ImmutableSet.h.

◆ TreeTy

template<typename ImutInfo>
using llvm::ImutAVLTreeGenericIterator< ImutInfo >::TreeTy = ImutAVLTree<ImutInfo>

Definition at line 658 of file ImmutableSet.h.

◆ value_type

template<typename ImutInfo>
using llvm::ImutAVLTreeGenericIterator< ImutInfo >::value_type = ImutAVLTree<ImutInfo>

Definition at line 650 of file ImmutableSet.h.

Member Enumeration Documentation

◆ VisitFlag

template<typename ImutInfo>
enum llvm::ImutAVLTreeGenericIterator::VisitFlag
Enumerator
VisitedNone 
VisitedLeft 
VisitedRight 
Flags 

Definition at line 655 of file ImmutableSet.h.

Constructor & Destructor Documentation

◆ ImutAVLTreeGenericIterator() [1/2]

template<typename ImutInfo>
llvm::ImutAVLTreeGenericIterator< ImutInfo >::ImutAVLTreeGenericIterator ( )
default

◆ ImutAVLTreeGenericIterator() [2/2]

template<typename ImutInfo>
llvm::ImutAVLTreeGenericIterator< ImutInfo >::ImutAVLTreeGenericIterator ( const TreeTy * Root)
inline

Definition at line 661 of file ImmutableSet.h.

Member Function Documentation

◆ atBeginning()

template<typename ImutInfo>
bool llvm::ImutAVLTreeGenericIterator< ImutInfo >::atBeginning ( ) const
inline

Definition at line 678 of file ImmutableSet.h.

References getVisitState(), and VisitedNone.

◆ atEnd()

template<typename ImutInfo>
bool llvm::ImutAVLTreeGenericIterator< ImutInfo >::atEnd ( ) const
inline

Definition at line 676 of file ImmutableSet.h.

◆ getVisitState()

template<typename ImutInfo>
uintptr_t llvm::ImutAVLTreeGenericIterator< ImutInfo >::getVisitState ( ) const
inline

Definition at line 671 of file ImmutableSet.h.

References assert(), and Flags.

Referenced by atBeginning(), operator++(), operator--(), and skipToParent().

◆ operator!=()

template<typename ImutInfo>
bool llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator!= ( const ImutAVLTreeGenericIterator< ImutInfo > & x) const
inline

Definition at line 703 of file ImmutableSet.h.

References ImutAVLTreeGenericIterator().

◆ operator*()

template<typename ImutInfo>
TreeTy & llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator* ( ) const
inline

Definition at line 665 of file ImmutableSet.h.

References assert(), and Flags.

◆ operator++()

◆ operator--()

◆ operator->()

template<typename ImutInfo>
TreeTy * llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator-> ( ) const
inline

Definition at line 669 of file ImmutableSet.h.

◆ operator==()

template<typename ImutInfo>
bool llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator== ( const ImutAVLTreeGenericIterator< ImutInfo > & x) const
inline

Definition at line 699 of file ImmutableSet.h.

References ImutAVLTreeGenericIterator().

◆ skipToParent()

template<typename ImutInfo>
void llvm::ImutAVLTreeGenericIterator< ImutInfo >::skipToParent ( )
inline

Definition at line 682 of file ImmutableSet.h.

References assert(), getVisitState(), llvm_unreachable, VisitedLeft, VisitedNone, and VisitedRight.

Referenced by operator++().


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