clang  6.0.0svn
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"

Collaboration diagram for clang::IdentifierResolver::iterator:
Collaboration graph
[legend]

Public Types

typedef NamedDeclvalue_type
 
typedef NamedDeclreference
 
typedef NamedDeclpointer
 
typedef std::input_iterator_tag iterator_category
 
typedef std::ptrdiff_t difference_type
 
typedef IdDeclInfo::DeclsTy::iterator BaseIter
 

Public Member Functions

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

Public Attributes

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

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 68 of file IdentifierResolver.h.

Member Typedef Documentation

◆ BaseIter

typedef IdDeclInfo::DeclsTy::iterator clang::IdentifierResolver::iterator::BaseIter

Definition at line 81 of file IdentifierResolver.h.

◆ difference_type

Definition at line 74 of file IdentifierResolver.h.

◆ iterator_category

Definition at line 73 of file IdentifierResolver.h.

◆ pointer

Definition at line 72 of file IdentifierResolver.h.

◆ reference

Definition at line 71 of file IdentifierResolver.h.

◆ value_type

Definition at line 70 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 84 of file IdentifierResolver.h.

◆ 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 90 of file IdentifierResolver.h.

◆ iterator() [3/3]

clang::IdentifierResolver::iterator::iterator ( )
inline

Definition at line 105 of file IdentifierResolver.h.

Member Function Documentation

◆ getIterator()

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

Definition at line 96 of file IdentifierResolver.h.

References IteratorComparison::isIterator().

◆ incrementSlowCase()

void IdentifierResolver::iterator::incrementSlowCase ( )

◆ isIterator()

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

Definition at line 94 of file IdentifierResolver.h.

◆ operator!=()

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

Definition at line 117 of file IdentifierResolver.h.

References Ptr.

◆ operator*()

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

Definition at line 107 of file IdentifierResolver.h.

References IteratorComparison::isIterator().

◆ operator++()

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

◆ operator==()

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

Definition at line 114 of file IdentifierResolver.h.

References Ptr.

Friends And Related Function Documentation

◆ IdentifierResolver

friend class IdentifierResolver
friend

Definition at line 101 of file IdentifierResolver.h.

Member Data Documentation

◆ Ptr

uintptr_t clang::IdentifierResolver::iterator::Ptr

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 80 of file IdentifierResolver.h.

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


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