Logo ROOT  
Reference Guide
ClingMemberIterInternal::DCIter Class Reference

Iteration over collected DeclContexts.

Definition at line 43 of file TClingMemberIter.h.

Public Member Functions

 DCIter ()=default
 
 DCIter (clang::DeclContext *DC, cling::Interpreter *interp)
 
bool IsValid () const
 
bool Next ()
 
clang::Decl * operator* () const
 
clang::Decl * operator-> () const
 

Private Member Functions

bool AdvanceToFirstValidDecl ()
 Do not return inline namespaces etc. More...
 
bool HandleInlineDeclContext ()
 Return true if fDeclIter has triggered an inline or anonymous namespace / ... to be appended to fContexts. More...
 
bool IterNext ()
 Increment the iterator, possibly moving to the next context. More...
 

Private Attributes

llvm::SmallVector< clang::DeclContext *, 2 > fContexts
 
size_t fDCIdx = 0
 
clang::DeclContext::decl_iterator fDeclIter
 
cling::Interpreter * fInterp = nullptr
 

#include </home/sftnight/build/workspace/root-makedoc-v622/rootspi/rdoc/src/v6-22-00-patches/core/metacling/src/TClingMemberIter.h>

Constructor & Destructor Documentation

◆ DCIter() [1/2]

ClingMemberIterInternal::DCIter::DCIter ( )
default

◆ DCIter() [2/2]

ClingMemberIterInternal::DCIter::DCIter ( clang::DeclContext *  DC,
cling::Interpreter *  interp 
)

Definition at line 19 of file TClingMemberIter.cxx.

Member Function Documentation

◆ AdvanceToFirstValidDecl()

bool ClingMemberIterInternal::DCIter::AdvanceToFirstValidDecl ( )
private

Do not return inline namespaces etc.

Definition at line 60 of file TClingMemberIter.cxx.

◆ HandleInlineDeclContext()

bool ClingMemberIterInternal::DCIter::HandleInlineDeclContext ( )
private

Return true if fDeclIter has triggered an inline or anonymous namespace / ... to be appended to fContexts.

Definition at line 35 of file TClingMemberIter.cxx.

◆ IsValid()

bool ClingMemberIterInternal::DCIter::IsValid ( ) const
inline

Definition at line 68 of file TClingMemberIter.h.

◆ IterNext()

bool ClingMemberIterInternal::DCIter::IterNext ( )
private

Increment the iterator, possibly moving to the next context.

Definition at line 72 of file TClingMemberIter.cxx.

◆ Next()

bool ClingMemberIterInternal::DCIter::Next ( )

Definition at line 85 of file TClingMemberIter.cxx.

◆ operator*()

clang::Decl * ClingMemberIterInternal::DCIter::operator* ( ) const
inline

Definition at line 66 of file TClingMemberIter.h.

◆ operator->()

clang::Decl * ClingMemberIterInternal::DCIter::operator-> ( ) const
inline

Definition at line 65 of file TClingMemberIter.h.

Member Data Documentation

◆ fContexts

llvm::SmallVector<clang::DeclContext *, 2> ClingMemberIterInternal::DCIter::fContexts
private

Definition at line 45 of file TClingMemberIter.h.

◆ fDCIdx

size_t ClingMemberIterInternal::DCIter::fDCIdx = 0
private

Definition at line 46 of file TClingMemberIter.h.

◆ fDeclIter

clang::DeclContext::decl_iterator ClingMemberIterInternal::DCIter::fDeclIter
private

Definition at line 47 of file TClingMemberIter.h.

◆ fInterp

cling::Interpreter* ClingMemberIterInternal::DCIter::fInterp = nullptr
private

Definition at line 44 of file TClingMemberIter.h.


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