clang API Documentation

Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Friends
clang::IdentifierResolver::iterator Class Reference

#include <IdentifierResolver.h>

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

List of all members.

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)
 iterator (BaseIter I)
bool isIterator () const
BaseIter getIterator () const
void incrementSlowCase ()
 iterator ()
NamedDecloperator* () const
bool operator== (const iterator &RHS) const
bool operator!= (const iterator &RHS) const
iteratoroperator++ ()
uintptr_t getAsOpaqueValue () const

Static Public Member Functions

static iterator getFromOpaqueValue (uintptr_t P)

Public Attributes

uintptr_t Ptr

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

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

Definition at line 83 of file IdentifierResolver.h.

Definition at line 74 of file IdentifierResolver.h.

Definition at line 73 of file IdentifierResolver.h.

Definition at line 72 of file IdentifierResolver.h.

Definition at line 71 of file IdentifierResolver.h.

Definition at line 70 of file IdentifierResolver.h.


Constructor & Destructor Documentation

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

Definition at line 86 of file IdentifierResolver.h.

References Ptr.

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

Definition at line 92 of file IdentifierResolver.h.

References Ptr.

Definition at line 107 of file IdentifierResolver.h.


Member Function Documentation

Definition at line 132 of file IdentifierResolver.h.

References Ptr.

static iterator clang::IdentifierResolver::iterator::getFromOpaqueValue ( uintptr_t  P) [inline, static]

Definition at line 134 of file IdentifierResolver.h.

References P, and Ptr.

Definition at line 98 of file IdentifierResolver.h.

References isIterator(), and Ptr.

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

Definition at line 96 of file IdentifierResolver.h.

References Ptr.

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

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

Definition at line 119 of file IdentifierResolver.h.

References Ptr.

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

Definition at line 109 of file IdentifierResolver.h.

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

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

Definition at line 124 of file IdentifierResolver.h.

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

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

Definition at line 116 of file IdentifierResolver.h.

References Ptr.


Friends And Related Function Documentation

friend class IdentifierResolver [friend]

Definition at line 103 of file IdentifierResolver.h.


Member Data Documentation

Ptr - There are 3 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 & 0x3 == 0x1) 3) A IdDeclInfo::DeclsTy::iterator that traverses the decls of parent declaration contexts too. (Ptr & 0x3 == 0x3)

Definition at line 82 of file IdentifierResolver.h.

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


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