clang 22.0.0git
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

using value_type = SpecificDecl *
using reference = void
using pointer = void
using difference_type
using iterator_category = std::forward_iterator_tag

Public Member Functions

 specific_decl_iterator ()=default
 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).
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 2393 of file DeclBase.h.

Member Typedef Documentation

◆ difference_type

template<typename SpecificDecl>
using clang::DeclContext::specific_decl_iterator< SpecificDecl >::difference_type
Initial value:
std::iterator_traits<DeclContext::decl_iterator>::difference_type

Definition at line 2413 of file DeclBase.h.

◆ iterator_category

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

Definition at line 2415 of file DeclBase.h.

◆ pointer

template<typename SpecificDecl>
using clang::DeclContext::specific_decl_iterator< SpecificDecl >::pointer = void

Definition at line 2412 of file DeclBase.h.

◆ reference

template<typename SpecificDecl>
using clang::DeclContext::specific_decl_iterator< SpecificDecl >::reference = void

Definition at line 2411 of file DeclBase.h.

◆ value_type

template<typename SpecificDecl>
using clang::DeclContext::specific_decl_iterator< SpecificDecl >::value_type = SpecificDecl *

Definition at line 2408 of file DeclBase.h.

Constructor & Destructor Documentation

◆ specific_decl_iterator() [1/2]

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

◆ 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 2427 of file DeclBase.h.

References clang::C.

Member Function Documentation

◆ operator*()

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

Definition at line 2431 of file DeclBase.h.

References clang::cast().

◆ operator++() [1/2]

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

Definition at line 2436 of file DeclBase.h.

References specific_decl_iterator().

◆ operator++() [2/2]

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

Definition at line 2442 of file DeclBase.h.

References specific_decl_iterator().

◆ operator->()

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

Definition at line 2434 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 2453 of file DeclBase.h.

References specific_decl_iterator().

◆ operator==

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

Definition at line 2448 of file DeclBase.h.

References specific_decl_iterator().


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