ROOT  6.06/08
Reference Guide
Public Types | Public Member Functions | Static Protected Member Functions | Private Attributes | List of all members
BaseSelectionRule Class Referenceabstract

Definition at line 41 of file BaseSelectionRule.h.

Public Types

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

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

Static Protected Member Functions

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

Private Attributes

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

#include </builddir/build/BUILD/root-6.06.08/core/metautils/src/BaseSelectionRule.h>

+ Inheritance diagram for BaseSelectionRule:
+ Collaboration diagram for BaseSelectionRule:

Member Typedef Documentation

§ AttributesMap_t

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

Definition at line 44 of file BaseSelectionRule.h.

Member Enumeration Documentation

§ EMatchType

Enumerator
kName 
kPattern 
kFile 
kNoMatch 

Definition at line 51 of file BaseSelectionRule.h.

§ ESelect

Enumerator
kYes 
kNo 
kDontCare 

Definition at line 46 of file BaseSelectionRule.h.

Constructor & Destructor Documentation

§ BaseSelectionRule() [1/3]

BaseSelectionRule::BaseSelectionRule ( ESelect  sel)
inline

Definition at line 90 of file BaseSelectionRule.h.

§ BaseSelectionRule() [2/3]

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

Definition at line 92 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 108 of file BaseSelectionRule.cxx.

Member Function Documentation

§ BeginsWithStar()

bool BaseSelectionRule::BeginsWithStar ( const std::string &  pattern)
staticprotected

Definition at line 471 of file BaseSelectionRule.cxx.

Referenced by CheckPattern().

§ CheckPattern()

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

Definition at line 483 of file BaseSelectionRule.cxx.

Referenced by Match().

§ DebugPrint()

void BaseSelectionRule::DebugPrint ( ) const
virtual

Definition at line 171 of file BaseSelectionRule.cxx.

§ EndsWithStar()

bool BaseSelectionRule::EndsWithStar ( const std::string &  pattern)
staticprotected

Definition at line 475 of file BaseSelectionRule.cxx.

Referenced by CheckPattern().

§ FillCache()

void BaseSelectionRule::FillCache ( )

Definition at line 577 of file BaseSelectionRule.cxx.

§ GetAttributeFileName()

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

Definition at line 123 of file BaseSelectionRule.h.

§ GetAttributeFilePattern()

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

Definition at line 126 of file BaseSelectionRule.h.

§ GetAttributeName()

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

Definition at line 111 of file BaseSelectionRule.h.

Referenced by Implies(), and RScanner::TreatRecordDeclOrTypedefNameDecl().

§ GetAttributeNArgsToKeep()

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

Definition at line 132 of file BaseSelectionRule.h.

§ GetAttributePattern()

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

§ GetAttributeProtoName()

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

Definition at line 114 of file BaseSelectionRule.h.

§ GetAttributeProtoPattern()

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

Definition at line 120 of file BaseSelectionRule.h.

§ GetAttributes()

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

Definition at line 166 of file BaseSelectionRule.cxx.

Referenced by Implies().

§ GetAttributeValue()

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

Definition at line 132 of file BaseSelectionRule.cxx.

Referenced by FillCache(), and XMLReader::Parse().

§ GetCXXRecordDecl()

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

Definition at line 152 of file BaseSelectionRule.h.

§ GetIndex()

long BaseSelectionRule::GetIndex ( ) const
inline

§ GetLineNumber()

long BaseSelectionRule::GetLineNumber ( ) const
inline

§ GetMatchFound()

bool BaseSelectionRule::GetMatchFound ( ) const

Definition at line 561 of file BaseSelectionRule.cxx.

§ GetRequestedType()

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

Definition at line 566 of file BaseSelectionRule.cxx.

Referenced by RScanner::TreatRecordDeclOrTypedefNameDecl().

§ GetSelected()

BaseSelectionRule::ESelect BaseSelectionRule::GetSelected ( ) const

§ GetSelFileName()

const char* BaseSelectionRule::GetSelFileName ( ) const
inline

Definition at line 103 of file BaseSelectionRule.h.

Referenced by RScanner::TreatRecordDeclOrTypedefNameDecl().

§ HasAttributeFileName()

bool BaseSelectionRule::HasAttributeFileName ( ) const
inline

Definition at line 124 of file BaseSelectionRule.h.

Referenced by Match(), and RScanner::TreatRecordDeclOrTypedefNameDecl().

§ HasAttributeFilePattern()

bool BaseSelectionRule::HasAttributeFilePattern ( ) const
inline

Definition at line 127 of file BaseSelectionRule.h.

Referenced by Match(), and RScanner::TreatRecordDeclOrTypedefNameDecl().

§ HasAttributeFromTypedef()

bool BaseSelectionRule::HasAttributeFromTypedef ( ) const
inline

Definition at line 130 of file BaseSelectionRule.h.

§ HasAttributeName()

bool BaseSelectionRule::HasAttributeName ( ) const
inline

Definition at line 112 of file BaseSelectionRule.h.

Referenced by RScanner::TreatRecordDeclOrTypedefNameDecl().

§ HasAttributePattern()

bool BaseSelectionRule::HasAttributePattern ( ) const
inline

Definition at line 118 of file BaseSelectionRule.h.

Referenced by RScanner::TreatRecordDeclOrTypedefNameDecl().

§ HasAttributeProtoName()

bool BaseSelectionRule::HasAttributeProtoName ( ) const
inline

Definition at line 115 of file BaseSelectionRule.h.

§ HasAttributeProtoPattern()

bool BaseSelectionRule::HasAttributeProtoPattern ( ) const
inline

Definition at line 121 of file BaseSelectionRule.h.

§ HasAttributeWithName()

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

Definition at line 124 of file BaseSelectionRule.cxx.

Referenced by XMLReader::Parse().

§ HasInterpreter()

bool BaseSelectionRule::HasInterpreter ( ) const
inline

§ IsFromTypedef()

bool BaseSelectionRule::IsFromTypedef ( ) const
inline

Definition at line 129 of file BaseSelectionRule.h.

Referenced by RScanner::TreatRecordDeclOrTypedefNameDecl().

§ Match()

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

§ Print()

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

Implemented in ClassSelectionRule, and VariableSelectionRule.

Referenced by DebugPrint(), and operator<<().

§ PrintAttributes() [1/2]

void BaseSelectionRule::PrintAttributes ( int  level) const

§ PrintAttributes() [2/2]

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

Definition at line 176 of file BaseSelectionRule.cxx.

§ ProcessPattern()

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

Definition at line 403 of file BaseSelectionRule.cxx.

Referenced by SetAttributeValue().

§ SetAttributeValue()

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

§ SetCXXRecordDecl()

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

Definition at line 571 of file BaseSelectionRule.cxx.

§ SetIndex()

void BaseSelectionRule::SetIndex ( long  index)
inline

Definition at line 100 of file BaseSelectionRule.h.

§ SetInterpreter()

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

Definition at line 140 of file BaseSelectionRule.h.

§ SetMatchFound()

void BaseSelectionRule::SetMatchFound ( bool  match)

Definition at line 556 of file BaseSelectionRule.cxx.

Referenced by Match().

§ SetSelected()

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

Member Data Documentation

§ fAttributes

AttributesMap_t BaseSelectionRule::fAttributes
private

§ fCXXRecordDecl

const clang::CXXRecordDecl* BaseSelectionRule::fCXXRecordDecl
private

Definition at line 67 of file BaseSelectionRule.h.

Referenced by Match(), and SetCXXRecordDecl().

§ fFileName

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

Definition at line 76 of file BaseSelectionRule.h.

Referenced by FillCache(), and Match().

§ fFilePattern

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

Definition at line 77 of file BaseSelectionRule.h.

Referenced by FillCache(), and Match().

§ fFileSubPatterns

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

Definition at line 65 of file BaseSelectionRule.h.

Referenced by Match(), and SetAttributeValue().

§ fHasFileNameAttribute

bool BaseSelectionRule::fHasFileNameAttribute = false
private

Definition at line 83 of file BaseSelectionRule.h.

Referenced by FillCache(), and Match().

§ fHasFilePatternAttribute

bool BaseSelectionRule::fHasFilePatternAttribute = false
private

Definition at line 84 of file BaseSelectionRule.h.

Referenced by FillCache(), and Match().

§ fHasFromTypedefAttribute

bool BaseSelectionRule::fHasFromTypedefAttribute = false
private

Definition at line 85 of file BaseSelectionRule.h.

Referenced by FillCache(), and Match().

§ fHasNameAttribute

bool BaseSelectionRule::fHasNameAttribute = false
private

Definition at line 79 of file BaseSelectionRule.h.

Referenced by FillCache(), and Match().

§ fHasPatternAttribute

bool BaseSelectionRule::fHasPatternAttribute = false
private

Definition at line 81 of file BaseSelectionRule.h.

Referenced by FillCache(), and Match().

§ fHasProtoNameAttribute

bool BaseSelectionRule::fHasProtoNameAttribute = false
private

Definition at line 80 of file BaseSelectionRule.h.

Referenced by FillCache(), and Match().

§ fHasProtoPatternAttribute

bool BaseSelectionRule::fHasProtoPatternAttribute = false
private

Definition at line 82 of file BaseSelectionRule.h.

Referenced by FillCache(), and Match().

§ fIndex

long BaseSelectionRule::fIndex
private

Definition at line 59 of file BaseSelectionRule.h.

§ fInterp

cling::Interpreter* BaseSelectionRule::fInterp
private

Definition at line 69 of file BaseSelectionRule.h.

Referenced by Match().

§ fIsFromTypedef

bool BaseSelectionRule::fIsFromTypedef = false
private

Definition at line 86 of file BaseSelectionRule.h.

Referenced by FillCache().

§ fIsSelected

ESelect BaseSelectionRule::fIsSelected
private

Definition at line 63 of file BaseSelectionRule.h.

Referenced by GetSelected(), and SetSelected().

§ fLineNumber

long BaseSelectionRule::fLineNumber =-1
private

Definition at line 60 of file BaseSelectionRule.h.

§ fMatchFound

bool BaseSelectionRule::fMatchFound
private

Definition at line 66 of file BaseSelectionRule.h.

Referenced by GetMatchFound(), and SetMatchFound().

§ fName

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

Definition at line 72 of file BaseSelectionRule.h.

Referenced by FillCache(), and Match().

§ fNArgsToKeep

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

Definition at line 78 of file BaseSelectionRule.h.

Referenced by FillCache().

§ fPattern

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

Definition at line 73 of file BaseSelectionRule.h.

Referenced by FillCache(), and Match().

§ fProtoName

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

Definition at line 74 of file BaseSelectionRule.h.

Referenced by FillCache(), and Match().

§ fProtoPattern

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

Definition at line 75 of file BaseSelectionRule.h.

Referenced by FillCache(), and Match().

§ fRequestedType

const clang::Type* BaseSelectionRule::fRequestedType
private

Definition at line 68 of file BaseSelectionRule.h.

Referenced by GetRequestedType(), and SetCXXRecordDecl().

§ fSelFileName

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

Definition at line 61 of file BaseSelectionRule.h.

§ fSubPatterns

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

Definition at line 64 of file BaseSelectionRule.h.

Referenced by FillCache(), Match(), and SetAttributeValue().


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