clang 20.0.0git
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
clang::IdentifierResolver::iterator Class Reference

iterator - Iterate over the decls of a specified declaration name. More...

#include "clang/Sema/IdentifierResolver.h"

Public Types

using value_type = NamedDecl *
 
using reference = NamedDecl *
 
using pointer = NamedDecl *
 
using iterator_category = std::input_iterator_tag
 
using difference_type = std::ptrdiff_t
 
using BaseIter = IdDeclInfo::DeclsTy::iterator
 

Public Member Functions

 iterator (NamedDecl *D)
 A single NamedDecl. (Ptr & 0x1 == 0)
 
 iterator (BaseIter I)
 A IdDeclInfo::DeclsTy::iterator that walks or not the parent declaration contexts depending on 'LookInParentCtx'.
 
bool isIterator () const
 
BaseIter getIterator () const
 
void incrementSlowCase ()
 
 iterator ()=default
 
NamedDecloperator* () const
 
bool operator== (const iterator &RHS) const
 
bool operator!= (const iterator &RHS) const
 
iteratoroperator++ ()
 

Public Attributes

uintptr_t Ptr = 0
 Ptr - There are 2 forms that 'Ptr' represents: 1) A single NamedDecl.
 

Friends

class IdentifierResolver
 

Detailed Description

iterator - Iterate over the decls of a specified declaration name.

It will walk or not the parent declaration contexts depending on how it was instantiated.

Definition at line 69 of file IdentifierResolver.h.

Member Typedef Documentation

◆ BaseIter

using clang::IdentifierResolver::iterator::BaseIter = IdDeclInfo::DeclsTy::iterator

Definition at line 84 of file IdentifierResolver.h.

◆ difference_type

Definition at line 77 of file IdentifierResolver.h.

◆ iterator_category

Definition at line 76 of file IdentifierResolver.h.

◆ pointer

Definition at line 75 of file IdentifierResolver.h.

◆ reference

Definition at line 74 of file IdentifierResolver.h.

◆ value_type

Definition at line 73 of file IdentifierResolver.h.

Constructor & Destructor Documentation

◆ iterator() [1/3]

clang::IdentifierResolver::iterator::iterator ( NamedDecl D)
inline

A single NamedDecl. (Ptr & 0x1 == 0)

Definition at line 87 of file IdentifierResolver.h.

References D, and Ptr.

◆ iterator() [2/3]

clang::IdentifierResolver::iterator::iterator ( BaseIter  I)
inline

A IdDeclInfo::DeclsTy::iterator that walks or not the parent declaration contexts depending on 'LookInParentCtx'.

Definition at line 94 of file IdentifierResolver.h.

References Ptr.

◆ iterator() [3/3]

clang::IdentifierResolver::iterator::iterator ( )
default

Member Function Documentation

◆ getIterator()

BaseIter clang::IdentifierResolver::iterator::getIterator ( ) const
inline

Definition at line 100 of file IdentifierResolver.h.

References isIterator(), and Ptr.

Referenced by clang::IdentifierResolver::InsertDeclAfter(), and operator*().

◆ incrementSlowCase()

void IdentifierResolver::iterator::incrementSlowCase ( )

Definition at line 429 of file IdentifierResolver.cpp.

References D.

Referenced by operator++().

◆ isIterator()

bool clang::IdentifierResolver::iterator::isIterator ( ) const
inline

Definition at line 98 of file IdentifierResolver.h.

References Ptr.

Referenced by getIterator(), clang::IdentifierResolver::InsertDeclAfter(), operator*(), and operator++().

◆ operator!=()

bool clang::IdentifierResolver::iterator::operator!= ( const iterator RHS) const
inline

Definition at line 120 of file IdentifierResolver.h.

References Ptr.

◆ operator*()

NamedDecl * clang::IdentifierResolver::iterator::operator* ( ) const
inline

Definition at line 110 of file IdentifierResolver.h.

References getIterator(), isIterator(), and Ptr.

◆ operator++()

iterator & clang::IdentifierResolver::iterator::operator++ ( )
inline

Definition at line 125 of file IdentifierResolver.h.

References incrementSlowCase(), isIterator(), and Ptr.

◆ operator==()

bool clang::IdentifierResolver::iterator::operator== ( const iterator RHS) const
inline

Definition at line 117 of file IdentifierResolver.h.

References Ptr.

Friends And Related Function Documentation

◆ IdentifierResolver

friend class IdentifierResolver
friend

Definition at line 71 of file IdentifierResolver.h.

Member Data Documentation

◆ Ptr

uintptr_t clang::IdentifierResolver::iterator::Ptr = 0

Ptr - There are 2 forms that 'Ptr' represents: 1) A single NamedDecl.

(Ptr & 0x1 == 0) 2) A IdDeclInfo::DeclsTy::iterator that traverses only the decls of the same declaration context. (Ptr & 0x1 == 0x1)

Definition at line 83 of file IdentifierResolver.h.

Referenced by getIterator(), isIterator(), iterator(), operator!=(), operator*(), operator++(), and operator==().


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