Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
BaseSelectionRule Class Referenceabstract

Definition at line 38 of file BaseSelectionRule.h.

Public Types

typedef std::unordered_map< std::string, std::string > AttributesMap_t
 
enum  EMatchType { kName , kPattern , kFile , kNoMatch }
 
enum  ESelect { kYes , kNo , kDontCare }
 

Public Member Functions

 BaseSelectionRule (ESelect sel)
 
 BaseSelectionRule (long index, cling::Interpreter &interp, const char *selFileName="", long lineno=-1)
 
 BaseSelectionRule (long index, ESelect sel, const std::string &attributeName, const std::string &attributeValue, cling::Interpreter &interp, const char *selFileName="", long lineno=-1)
 
virtual ~BaseSelectionRule ()=default
 
virtual void DebugPrint () const
 
void FillCache ()
 
const std::string & GetAttributeFileName () const
 
const std::string & GetAttributeFilePattern () const
 
const std::string & GetAttributeName () const
 
const std::string & GetAttributeNArgsToKeep () const
 
const std::string & GetAttributePattern () const
 
const std::string & GetAttributeProtoName () const
 
const std::string & GetAttributeProtoPattern () const
 
const AttributesMap_tGetAttributes () const
 
bool GetAttributeValue (const std::string &attributeName, std::string &returnValue) const
 
const clang::CXXRecordDecl * GetCXXRecordDecl () const
 
long GetIndex () const
 
long GetLineNumber () const
 
bool GetMatchFound () const
 
const clang::Type * GetRequestedType () const
 
ESelect GetSelected () const
 
const char * GetSelFileName () const
 
bool HasAttributeFileName () const
 
bool HasAttributeFilePattern () const
 
bool HasAttributeFromTypedef () const
 
bool HasAttributeName () const
 
bool HasAttributePattern () const
 
bool HasAttributeProtoName () const
 
bool HasAttributeProtoPattern () const
 
bool HasAttributeWithName (const std::string &attributeName) const
 
bool HasInterpreter () const
 
bool IsFromTypedef () const
 
EMatchType Match (const clang::NamedDecl *decl, const std::string &name, const std::string &prototype, bool isLinkdef) const
 
virtual void Print (std::ostream &out) const =0
 
void PrintAttributes (int level) const
 
void PrintAttributes (std::ostream &out, int level) const
 
void SetAttributeValue (const std::string &attributeName, const std::string &attributeValue)
 
void SetCXXRecordDecl (const clang::CXXRecordDecl *decl, const clang::Type *typeptr)
 
void SetIndex (long index)
 
void SetInterpreter (cling::Interpreter &interp)
 
void SetMatchFound (bool match)
 
void SetSelected (ESelect sel)
 

Protected Member Functions

bool CheckPattern (const std::string &test, const std::string &pattern, const std::list< std::string > &patterns_list, bool isLinkdef) const
 
void ProcessPattern (const std::string &pattern, std::list< std::string > &out) const
 

Private Attributes

AttributesMap_t fAttributes
 
const clang::CXXRecordDecl * fCXXRecordDecl
 
std::string fFileName = ""
 
std::string fFilePattern = ""
 
std::list< std::string > fFileSubPatterns
 
bool fHasFileNameAttribute = false
 
bool fHasFilePatternAttribute = false
 
bool fHasFromTypedefAttribute = false
 
bool fHasNameAttribute = false
 
bool fHasPatternAttribute = false
 
bool fHasProtoNameAttribute = false
 
bool fHasProtoPatternAttribute = false
 
long fIndex
 
cling::Interpreter * fInterp
 
bool fIsFromTypedef = false
 
ESelect fIsSelected
 
long fLineNumber =-1
 
bool fMatchFound
 
std::string fName = ""
 
std::string fNArgsToKeep = ""
 
std::string fPattern = ""
 
std::string fProtoName = ""
 
std::string fProtoPattern = ""
 
const clang::Type * fRequestedType
 
std::string fSelFileName =""
 
std::list< std::string > fSubPatterns
 

#include </home/sftnight/build/workspace/root-makedoc-v624/rootspi/rdoc/src/v6-24-00-patches/core/dictgen/res/BaseSelectionRule.h>

Inheritance diagram for BaseSelectionRule:
[legend]

Member Typedef Documentation

◆ AttributesMap_t

typedef std::unordered_map<std::string, std::string> BaseSelectionRule::AttributesMap_t

Definition at line 41 of file BaseSelectionRule.h.

Member Enumeration Documentation

◆ EMatchType

Enumerator
kName 
kPattern 
kFile 
kNoMatch 

Definition at line 48 of file BaseSelectionRule.h.

◆ ESelect

Enumerator
kYes 
kNo 
kDontCare 

Definition at line 43 of file BaseSelectionRule.h.

Constructor & Destructor Documentation

◆ BaseSelectionRule() [1/3]

BaseSelectionRule::BaseSelectionRule ( ESelect  sel)
inline

Definition at line 87 of file BaseSelectionRule.h.

◆ BaseSelectionRule() [2/3]

BaseSelectionRule::BaseSelectionRule ( long  index,
cling::Interpreter &  interp,
const char *  selFileName = "",
long  lineno = -1 
)
inline

Definition at line 89 of file BaseSelectionRule.h.

◆ BaseSelectionRule() [3/3]

BaseSelectionRule::BaseSelectionRule ( long  index,
BaseSelectionRule::ESelect  sel,
const std::string &  attributeName,
const std::string &  attributeValue,
cling::Interpreter &  interp,
const char *  selFileName = "",
long  lineno = -1 
)

Definition at line 92 of file BaseSelectionRule.cxx.

◆ ~BaseSelectionRule()

virtual BaseSelectionRule::~BaseSelectionRule ( )
virtualdefault

Member Function Documentation

◆ CheckPattern()

bool BaseSelectionRule::CheckPattern ( const std::string &  test,
const std::string &  pattern,
const std::list< std::string > &  patterns_list,
bool  isLinkdef 
) const
inlineprotected

Definition at line 444 of file BaseSelectionRule.cxx.

◆ DebugPrint()

void BaseSelectionRule::DebugPrint ( ) const
virtual

Definition at line 155 of file BaseSelectionRule.cxx.

◆ FillCache()

void BaseSelectionRule::FillCache ( )

Definition at line 538 of file BaseSelectionRule.cxx.

◆ GetAttributeFileName()

const std::string & BaseSelectionRule::GetAttributeFileName ( ) const
inline

Definition at line 122 of file BaseSelectionRule.h.

◆ GetAttributeFilePattern()

const std::string & BaseSelectionRule::GetAttributeFilePattern ( ) const
inline

Definition at line 125 of file BaseSelectionRule.h.

◆ GetAttributeName()

const std::string & BaseSelectionRule::GetAttributeName ( ) const
inline

Definition at line 110 of file BaseSelectionRule.h.

◆ GetAttributeNArgsToKeep()

const std::string & BaseSelectionRule::GetAttributeNArgsToKeep ( ) const
inline

Definition at line 131 of file BaseSelectionRule.h.

◆ GetAttributePattern()

const std::string & BaseSelectionRule::GetAttributePattern ( ) const
inline

Definition at line 116 of file BaseSelectionRule.h.

◆ GetAttributeProtoName()

const std::string & BaseSelectionRule::GetAttributeProtoName ( ) const
inline

Definition at line 113 of file BaseSelectionRule.h.

◆ GetAttributeProtoPattern()

const std::string & BaseSelectionRule::GetAttributeProtoPattern ( ) const
inline

Definition at line 119 of file BaseSelectionRule.h.

◆ GetAttributes()

const BaseSelectionRule::AttributesMap_t & BaseSelectionRule::GetAttributes ( ) const

Definition at line 150 of file BaseSelectionRule.cxx.

◆ GetAttributeValue()

bool BaseSelectionRule::GetAttributeValue ( const std::string &  attributeName,
std::string &  returnValue 
) const

Definition at line 116 of file BaseSelectionRule.cxx.

◆ GetCXXRecordDecl()

const clang::CXXRecordDecl * BaseSelectionRule::GetCXXRecordDecl ( ) const
inline

Definition at line 151 of file BaseSelectionRule.h.

◆ GetIndex()

long BaseSelectionRule::GetIndex ( ) const
inline

Definition at line 98 of file BaseSelectionRule.h.

◆ GetLineNumber()

long BaseSelectionRule::GetLineNumber ( ) const
inline

Definition at line 101 of file BaseSelectionRule.h.

◆ GetMatchFound()

bool BaseSelectionRule::GetMatchFound ( ) const

Definition at line 522 of file BaseSelectionRule.cxx.

◆ GetRequestedType()

const clang::Type * BaseSelectionRule::GetRequestedType ( ) const

Definition at line 527 of file BaseSelectionRule.cxx.

◆ GetSelected()

BaseSelectionRule::ESelect BaseSelectionRule::GetSelected ( ) const

Definition at line 103 of file BaseSelectionRule.cxx.

◆ GetSelFileName()

const char * BaseSelectionRule::GetSelFileName ( ) const
inline

Definition at line 102 of file BaseSelectionRule.h.

◆ HasAttributeFileName()

bool BaseSelectionRule::HasAttributeFileName ( ) const
inline

Definition at line 123 of file BaseSelectionRule.h.

◆ HasAttributeFilePattern()

bool BaseSelectionRule::HasAttributeFilePattern ( ) const
inline

Definition at line 126 of file BaseSelectionRule.h.

◆ HasAttributeFromTypedef()

bool BaseSelectionRule::HasAttributeFromTypedef ( ) const
inline

Definition at line 129 of file BaseSelectionRule.h.

◆ HasAttributeName()

bool BaseSelectionRule::HasAttributeName ( ) const
inline

Definition at line 111 of file BaseSelectionRule.h.

◆ HasAttributePattern()

bool BaseSelectionRule::HasAttributePattern ( ) const
inline

Definition at line 117 of file BaseSelectionRule.h.

◆ HasAttributeProtoName()

bool BaseSelectionRule::HasAttributeProtoName ( ) const
inline

Definition at line 114 of file BaseSelectionRule.h.

◆ HasAttributeProtoPattern()

bool BaseSelectionRule::HasAttributeProtoPattern ( ) const
inline

Definition at line 120 of file BaseSelectionRule.h.

◆ HasAttributeWithName()

bool BaseSelectionRule::HasAttributeWithName ( const std::string &  attributeName) const

Definition at line 108 of file BaseSelectionRule.cxx.

◆ HasInterpreter()

bool BaseSelectionRule::HasInterpreter ( ) const
inline

Definition at line 138 of file BaseSelectionRule.h.

◆ IsFromTypedef()

bool BaseSelectionRule::IsFromTypedef ( ) const
inline

Definition at line 128 of file BaseSelectionRule.h.

◆ Match()

BaseSelectionRule::EMatchType BaseSelectionRule::Match ( const clang::NamedDecl *  decl,
const std::string &  name,
const std::string &  prototype,
bool  isLinkdef 
) const

Definition at line 185 of file BaseSelectionRule.cxx.

◆ Print()

virtual void BaseSelectionRule::Print ( std::ostream &  out) const
pure virtual

◆ PrintAttributes() [1/2]

void BaseSelectionRule::PrintAttributes ( int  level) const

Definition at line 178 of file BaseSelectionRule.cxx.

◆ PrintAttributes() [2/2]

void BaseSelectionRule::PrintAttributes ( std::ostream &  out,
int  level 
) const

Definition at line 160 of file BaseSelectionRule.cxx.

◆ ProcessPattern()

void BaseSelectionRule::ProcessPattern ( const std::string &  pattern,
std::list< std::string > &  out 
) const
inlineprotected

Definition at line 372 of file BaseSelectionRule.cxx.

◆ SetAttributeValue()

void BaseSelectionRule::SetAttributeValue ( const std::string &  attributeName,
const std::string &  attributeValue 
)

Definition at line 125 of file BaseSelectionRule.cxx.

◆ SetCXXRecordDecl()

void BaseSelectionRule::SetCXXRecordDecl ( const clang::CXXRecordDecl *  decl,
const clang::Type *  typeptr 
)

Definition at line 532 of file BaseSelectionRule.cxx.

◆ SetIndex()

void BaseSelectionRule::SetIndex ( long  index)
inline

Definition at line 99 of file BaseSelectionRule.h.

◆ SetInterpreter()

void BaseSelectionRule::SetInterpreter ( cling::Interpreter &  interp)
inline

Definition at line 139 of file BaseSelectionRule.h.

◆ SetMatchFound()

void BaseSelectionRule::SetMatchFound ( bool  match)

Definition at line 517 of file BaseSelectionRule.cxx.

◆ SetSelected()

void BaseSelectionRule::SetSelected ( BaseSelectionRule::ESelect  sel)

Definition at line 98 of file BaseSelectionRule.cxx.

Member Data Documentation

◆ fAttributes

AttributesMap_t BaseSelectionRule::fAttributes
private

Definition at line 59 of file BaseSelectionRule.h.

◆ fCXXRecordDecl

const clang::CXXRecordDecl* BaseSelectionRule::fCXXRecordDecl
private

Definition at line 64 of file BaseSelectionRule.h.

◆ fFileName

std::string BaseSelectionRule::fFileName = ""
private

Definition at line 73 of file BaseSelectionRule.h.

◆ fFilePattern

std::string BaseSelectionRule::fFilePattern = ""
private

Definition at line 74 of file BaseSelectionRule.h.

◆ fFileSubPatterns

std::list<std::string> BaseSelectionRule::fFileSubPatterns
private

Definition at line 62 of file BaseSelectionRule.h.

◆ fHasFileNameAttribute

bool BaseSelectionRule::fHasFileNameAttribute = false
private

Definition at line 80 of file BaseSelectionRule.h.

◆ fHasFilePatternAttribute

bool BaseSelectionRule::fHasFilePatternAttribute = false
private

Definition at line 81 of file BaseSelectionRule.h.

◆ fHasFromTypedefAttribute

bool BaseSelectionRule::fHasFromTypedefAttribute = false
private

Definition at line 82 of file BaseSelectionRule.h.

◆ fHasNameAttribute

bool BaseSelectionRule::fHasNameAttribute = false
private

Definition at line 76 of file BaseSelectionRule.h.

◆ fHasPatternAttribute

bool BaseSelectionRule::fHasPatternAttribute = false
private

Definition at line 78 of file BaseSelectionRule.h.

◆ fHasProtoNameAttribute

bool BaseSelectionRule::fHasProtoNameAttribute = false
private

Definition at line 77 of file BaseSelectionRule.h.

◆ fHasProtoPatternAttribute

bool BaseSelectionRule::fHasProtoPatternAttribute = false
private

Definition at line 79 of file BaseSelectionRule.h.

◆ fIndex

long BaseSelectionRule::fIndex
private

Definition at line 56 of file BaseSelectionRule.h.

◆ fInterp

cling::Interpreter* BaseSelectionRule::fInterp
private

Definition at line 66 of file BaseSelectionRule.h.

◆ fIsFromTypedef

bool BaseSelectionRule::fIsFromTypedef = false
private

Definition at line 83 of file BaseSelectionRule.h.

◆ fIsSelected

ESelect BaseSelectionRule::fIsSelected
private

Definition at line 60 of file BaseSelectionRule.h.

◆ fLineNumber

long BaseSelectionRule::fLineNumber =-1
private

Definition at line 57 of file BaseSelectionRule.h.

◆ fMatchFound

bool BaseSelectionRule::fMatchFound
private

Definition at line 63 of file BaseSelectionRule.h.

◆ fName

std::string BaseSelectionRule::fName = ""
private

Definition at line 69 of file BaseSelectionRule.h.

◆ fNArgsToKeep

std::string BaseSelectionRule::fNArgsToKeep = ""
private

Definition at line 75 of file BaseSelectionRule.h.

◆ fPattern

std::string BaseSelectionRule::fPattern = ""
private

Definition at line 70 of file BaseSelectionRule.h.

◆ fProtoName

std::string BaseSelectionRule::fProtoName = ""
private

Definition at line 71 of file BaseSelectionRule.h.

◆ fProtoPattern

std::string BaseSelectionRule::fProtoPattern = ""
private

Definition at line 72 of file BaseSelectionRule.h.

◆ fRequestedType

const clang::Type* BaseSelectionRule::fRequestedType
private

Definition at line 65 of file BaseSelectionRule.h.

◆ fSelFileName

std::string BaseSelectionRule::fSelFileName =""
private

Definition at line 58 of file BaseSelectionRule.h.

◆ fSubPatterns

std::list<std::string> BaseSelectionRule::fSubPatterns
private

Definition at line 61 of file BaseSelectionRule.h.

  • core/dictgen/res/BaseSelectionRule.h
  • core/dictgen/src/BaseSelectionRule.cxx