clang  6.0.0svn
Public Types | Public Member Functions | Friends | List of all members
clang::DeclContext::specific_decl_iterator< SpecificDecl > Class Template Reference

specific_decl_iterator - Iterates over a subrange of declarations stored in a DeclContext, providing only those that are of type SpecificDecl (or a class derived from it). More...

#include "clang/AST/DeclBase.h"

Public Types

typedef SpecificDecl * value_type
 
typedef void reference
 
typedef void pointer
 
typedef std::iterator_traits< DeclContext::decl_iterator >::difference_type difference_type
 
typedef std::forward_iterator_tag iterator_category
 

Public Member Functions

 specific_decl_iterator ()
 
 specific_decl_iterator (DeclContext::decl_iterator C)
 specific_decl_iterator - Construct a new iterator over a subset of the declarations the range [C, end-of-declarations). More...
 
value_type operator* () const
 
value_type operator-> () const
 
specific_decl_iteratoroperator++ ()
 
specific_decl_iterator operator++ (int)
 

Friends

bool operator== (const specific_decl_iterator &x, const specific_decl_iterator &y)
 
bool operator!= (const specific_decl_iterator &x, const specific_decl_iterator &y)
 

Detailed Description

template<typename SpecificDecl>
class clang::DeclContext::specific_decl_iterator< SpecificDecl >

specific_decl_iterator - Iterates over a subrange of declarations stored in a DeclContext, providing only those that are of type SpecificDecl (or a class derived from it).

This iterator is used, for example, to provide iteration over just the fields within a RecordDecl (with SpecificDecl = FieldDecl).

Definition at line 1557 of file DeclBase.h.

Member Typedef Documentation

◆ difference_type

template<typename SpecificDecl >
typedef std::iterator_traits<DeclContext::decl_iterator>::difference_type clang::DeclContext::specific_decl_iterator< SpecificDecl >::difference_type

Definition at line 1578 of file DeclBase.h.

◆ iterator_category

template<typename SpecificDecl >
typedef std::forward_iterator_tag clang::DeclContext::specific_decl_iterator< SpecificDecl >::iterator_category

Definition at line 1579 of file DeclBase.h.

◆ pointer

template<typename SpecificDecl >
typedef void clang::DeclContext::specific_decl_iterator< SpecificDecl >::pointer

Definition at line 1576 of file DeclBase.h.

◆ reference

template<typename SpecificDecl >
typedef void clang::DeclContext::specific_decl_iterator< SpecificDecl >::reference

Definition at line 1575 of file DeclBase.h.

◆ value_type

template<typename SpecificDecl >
typedef SpecificDecl* clang::DeclContext::specific_decl_iterator< SpecificDecl >::value_type

Definition at line 1572 of file DeclBase.h.

Constructor & Destructor Documentation

◆ specific_decl_iterator() [1/2]

template<typename SpecificDecl >
clang::DeclContext::specific_decl_iterator< SpecificDecl >::specific_decl_iterator ( )
inline

Definition at line 1581 of file DeclBase.h.

◆ specific_decl_iterator() [2/2]

template<typename SpecificDecl >
clang::DeclContext::specific_decl_iterator< SpecificDecl >::specific_decl_iterator ( DeclContext::decl_iterator  C)
inlineexplicit

specific_decl_iterator - Construct a new iterator over a subset of the declarations the range [C, end-of-declarations).

If A is non-NULL, it is a pointer to a member function of SpecificDecl that should return true for all of the SpecificDecl instances that will be in the subset of iterators. For example, if you want Objective-C instance methods, SpecificDecl will be ObjCMethodDecl and A will be &ObjCMethodDecl::isInstanceMethod.

Definition at line 1591 of file DeclBase.h.

Member Function Documentation

◆ operator*()

template<typename SpecificDecl >
value_type clang::DeclContext::specific_decl_iterator< SpecificDecl >::operator* ( ) const
inline

Definition at line 1595 of file DeclBase.h.

◆ operator++() [1/2]

template<typename SpecificDecl >
specific_decl_iterator& clang::DeclContext::specific_decl_iterator< SpecificDecl >::operator++ ( )
inline

Definition at line 1599 of file DeclBase.h.

◆ operator++() [2/2]

template<typename SpecificDecl >
specific_decl_iterator clang::DeclContext::specific_decl_iterator< SpecificDecl >::operator++ ( int  )
inline

Definition at line 1605 of file DeclBase.h.

◆ operator->()

template<typename SpecificDecl >
value_type clang::DeclContext::specific_decl_iterator< SpecificDecl >::operator-> ( ) const
inline

Definition at line 1597 of file DeclBase.h.

Friends And Related Function Documentation

◆ operator!=

template<typename SpecificDecl >
bool operator!= ( const specific_decl_iterator< SpecificDecl > &  x,
const specific_decl_iterator< SpecificDecl > &  y 
)
friend

Definition at line 1616 of file DeclBase.h.

◆ operator==

template<typename SpecificDecl >
bool operator== ( const specific_decl_iterator< SpecificDecl > &  x,
const specific_decl_iterator< SpecificDecl > &  y 
)
friend

Definition at line 1611 of file DeclBase.h.


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