Logo ROOT  
Reference Guide
TClingMemberIter Class Referenceabstract

Iterate over all DeclT-s (or UsingShadowDecl-s pointing to DeclT-s) of a decl context, skipping those for which DerivedT::ShouldSkip(const Decl*) returns true when invoked with the Decl.

Definition at line 111 of file TClingMemberIter.h.

Public Member Functions

 TClingMemberIter ()=default
 
 TClingMemberIter (cling::Interpreter *interp, clang::DeclContext *DC)
 
virtual const clang::Decl * Get () const
 
cling::Interpreter * GetInterpreter () const
 
void Init ()
 
virtual bool IsValid () const
 
bool Next ()
 Advance to next non-skipped; return false if no next decl exists. More...
 
const clang::Decl * operator* () const
 
const clang::Decl * operator-> () const
 

Protected Member Functions

virtual clang::Decl * AdvanceUnfiltered ()
 
virtual const clang::Decl * InstantiateTemplateWithDefaults (const clang::RedeclarableTemplateDecl *TD) const
 
virtual bool ShouldSkip (const clang::Decl *D) const =0
 
virtual bool ShouldSkip (const clang::UsingShadowDecl *USD) const
 

Private Member Functions

bool Advance ()
 
const clang::Decl * GetDeclSlow () const
 

Private Attributes

ClingMemberIterInternal::DCIter fDCIter
 
cling::Interpreter * fInterp = nullptr
 
const clang::Decl * fTemplateSpec
 
ClingMemberIterInternal::UsingDeclIter fUsingDeclIter
 

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

Inheritance diagram for TClingMemberIter:
[legend]

Constructor & Destructor Documentation

◆ TClingMemberIter() [1/2]

TClingMemberIter::TClingMemberIter ( )
default

◆ TClingMemberIter() [2/2]

TClingMemberIter::TClingMemberIter ( cling::Interpreter *  interp,
clang::DeclContext *  DC 
)
inline

Definition at line 145 of file TClingMemberIter.h.

Member Function Documentation

◆ Advance()

bool TClingMemberIter::Advance ( )
private

Definition at line 123 of file TClingMemberIter.cxx.

◆ AdvanceUnfiltered()

virtual clang::Decl * TClingMemberIter::AdvanceUnfiltered ( )
inlineprotectedvirtual

Reimplemented in TClingCXXRecMethIter.

Definition at line 124 of file TClingMemberIter.h.

◆ Get()

virtual const clang::Decl * TClingMemberIter::Get ( ) const
inlinevirtual

Reimplemented in TClingCXXRecMethIter.

Definition at line 163 of file TClingMemberIter.h.

◆ GetDeclSlow()

const clang::Decl * TClingMemberIter::GetDeclSlow ( ) const
private

◆ GetInterpreter()

cling::Interpreter * TClingMemberIter::GetInterpreter ( ) const
inline

Definition at line 180 of file TClingMemberIter.h.

◆ Init()

void TClingMemberIter::Init ( )
inline

Definition at line 147 of file TClingMemberIter.h.

◆ InstantiateTemplateWithDefaults()

virtual const clang::Decl * TClingMemberIter::InstantiateTemplateWithDefaults ( const clang::RedeclarableTemplateDecl *  TD) const
inlineprotectedvirtual

Reimplemented in TClingCXXRecMethIter.

Definition at line 133 of file TClingMemberIter.h.

◆ IsValid()

virtual bool TClingMemberIter::IsValid ( ) const
inlinevirtual

Reimplemented in TClingCXXRecMethIter.

Definition at line 178 of file TClingMemberIter.h.

◆ Next()

bool TClingMemberIter::Next ( )
inline

Advance to next non-skipped; return false if no next decl exists.

Definition at line 156 of file TClingMemberIter.h.

◆ operator*()

const clang::Decl * TClingMemberIter::operator* ( ) const
inline

Definition at line 176 of file TClingMemberIter.h.

◆ operator->()

const clang::Decl * TClingMemberIter::operator-> ( ) const
inline

Definition at line 174 of file TClingMemberIter.h.

◆ ShouldSkip() [1/2]

virtual bool TClingMemberIter::ShouldSkip ( const clang::Decl *  D) const
protectedpure virtual

◆ ShouldSkip() [2/2]

virtual bool TClingMemberIter::ShouldSkip ( const clang::UsingShadowDecl *  USD) const
inlineprotectedvirtual

Reimplemented in TClingDataMemberIter, and TClingCXXRecMethIter.

Definition at line 140 of file TClingMemberIter.h.

Member Data Documentation

◆ fDCIter

ClingMemberIterInternal::DCIter TClingMemberIter::fDCIter
private

Definition at line 116 of file TClingMemberIter.h.

◆ fInterp

cling::Interpreter* TClingMemberIter::fInterp = nullptr
private

Definition at line 113 of file TClingMemberIter.h.

◆ fTemplateSpec

const clang::Decl* TClingMemberIter::fTemplateSpec
private
Initial value:
=
nullptr

Definition at line 114 of file TClingMemberIter.h.

◆ fUsingDeclIter

ClingMemberIterInternal::UsingDeclIter TClingMemberIter::fUsingDeclIter
private

Definition at line 117 of file TClingMemberIter.h.


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