LLVM 24.0.0git
llvm::GenericCycleInfo< ContextT >::const_child_iterator Struct Reference

Iteration over child cycles, yielding handles. More...

#include "llvm/ADT/GenericCycleInfo.h"

Inheritance diagram for llvm::GenericCycleInfo< ContextT >::const_child_iterator:
[legend]

Public Member Functions

 const_child_iterator ()=default
 const_child_iterator (const GenericCycleInfo &CI, unsigned Index)
CycleRef operator* () const
const_child_iteratoroperator++ ()
bool operator== (const const_child_iterator &Other) const
Public Member Functions inherited from llvm::iterator_facade_base< const_child_iterator, std::forward_iterator_tag, CycleRef, std::ptrdiff_t, CycleRef, CycleRef >
const_child_iterator operator+ (std::ptrdiff_t n) const
const_child_iterator operator- (std::ptrdiff_t n) const
const_child_iterator & operator++ ()
const_child_iterator & operator-- ()
bool operator!= (const const_child_iterator &RHS) const
bool operator> (const const_child_iterator &RHS) const
bool operator<= (const const_child_iterator &RHS) const
bool operator>= (const const_child_iterator &RHS) const
PointerProxy operator-> () const
ReferenceProxy operator[] (std::ptrdiff_t n) const

Public Attributes

const GenericCycleInfoCI = nullptr
unsigned Index = 0

Additional Inherited Members

Public Types inherited from llvm::iterator_facade_base< const_child_iterator, std::forward_iterator_tag, CycleRef, std::ptrdiff_t, CycleRef, CycleRef >
enum  
using iterator_category
using value_type
using difference_type
using pointer
using reference

Detailed Description

template<typename ContextT>
struct llvm::GenericCycleInfo< ContextT >::const_child_iterator

Iteration over child cycles, yielding handles.

The first child (if any) immediately follows this cycle in the preorder array, and each next sibling follows the previous child's subtree.

Definition at line 167 of file GenericCycleInfo.h.

Constructor & Destructor Documentation

◆ const_child_iterator() [1/2]

template<typename ContextT>
llvm::GenericCycleInfo< ContextT >::const_child_iterator::const_child_iterator ( )
default

Referenced by operator++(), and operator==().

◆ const_child_iterator() [2/2]

template<typename ContextT>
llvm::GenericCycleInfo< ContextT >::const_child_iterator::const_child_iterator ( const GenericCycleInfo & CI,
unsigned Index )
inline

Member Function Documentation

◆ operator*()

template<typename ContextT>
CycleRef llvm::GenericCycleInfo< ContextT >::const_child_iterator::operator* ( ) const
inline

Definition at line 177 of file GenericCycleInfo.h.

References Index.

◆ operator++()

template<typename ContextT>
const_child_iterator & llvm::GenericCycleInfo< ContextT >::const_child_iterator::operator++ ( )
inline

Definition at line 178 of file GenericCycleInfo.h.

References CI, const_child_iterator(), and Index.

◆ operator==()

template<typename ContextT>
bool llvm::GenericCycleInfo< ContextT >::const_child_iterator::operator== ( const const_child_iterator & Other) const
inline

Definition at line 182 of file GenericCycleInfo.h.

References const_child_iterator(), Index, and llvm::Other.

Member Data Documentation

◆ CI

template<typename ContextT>
const GenericCycleInfo* llvm::GenericCycleInfo< ContextT >::const_child_iterator::CI = nullptr

Definition at line 170 of file GenericCycleInfo.h.

Referenced by const_child_iterator(), and operator++().

◆ Index

template<typename ContextT>
unsigned llvm::GenericCycleInfo< ContextT >::const_child_iterator::Index = 0

Definition at line 171 of file GenericCycleInfo.h.

Referenced by const_child_iterator(), operator*(), operator++(), and operator==().


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