ROOT  6.06/09
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 </mnt/vdb/lsf/workspace/root-makedoc-v606/rootspi/rdoc/src/v6-06-00-patches/core/metautils/src/BaseSelectionRule.h>

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

Member Typedef Documentation

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

Definition at line 44 of file BaseSelectionRule.h.

Member Enumeration Documentation

Enumerator
kName 
kPattern 
kFile 
kNoMatch 

Definition at line 51 of file BaseSelectionRule.h.

Enumerator
kYes 
kNo 
kDontCare 

Definition at line 46 of file BaseSelectionRule.h.

Constructor & Destructor Documentation

BaseSelectionRule::BaseSelectionRule ( ESelect  sel)
inline

Definition at line 90 of file BaseSelectionRule.h.

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

Definition at line 92 of file BaseSelectionRule.h.

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

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

Definition at line 471 of file BaseSelectionRule.cxx.

Referenced by 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().

void BaseSelectionRule::DebugPrint ( ) const
virtual

Definition at line 171 of file BaseSelectionRule.cxx.

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

Definition at line 475 of file BaseSelectionRule.cxx.

Referenced by CheckPattern().

void BaseSelectionRule::FillCache ( )

Definition at line 577 of file BaseSelectionRule.cxx.

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

Definition at line 123 of file BaseSelectionRule.h.

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

Definition at line 126 of file BaseSelectionRule.h.

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

Definition at line 111 of file BaseSelectionRule.h.

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

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

Definition at line 132 of file BaseSelectionRule.h.

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

Definition at line 114 of file BaseSelectionRule.h.

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

Definition at line 120 of file BaseSelectionRule.h.

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

Definition at line 166 of file BaseSelectionRule.cxx.

Referenced by Implies().

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().

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

Definition at line 152 of file BaseSelectionRule.h.

long BaseSelectionRule::GetIndex ( ) const
inline
long BaseSelectionRule::GetLineNumber ( ) const
inline
bool BaseSelectionRule::GetMatchFound ( ) const

Definition at line 561 of file BaseSelectionRule.cxx.

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

Definition at line 566 of file BaseSelectionRule.cxx.

Referenced by RScanner::TreatRecordDeclOrTypedefNameDecl().

BaseSelectionRule::ESelect BaseSelectionRule::GetSelected ( ) const
const char* BaseSelectionRule::GetSelFileName ( ) const
inline

Definition at line 103 of file BaseSelectionRule.h.

Referenced by RScanner::TreatRecordDeclOrTypedefNameDecl().

bool BaseSelectionRule::HasAttributeFileName ( ) const
inline

Definition at line 124 of file BaseSelectionRule.h.

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

bool BaseSelectionRule::HasAttributeFilePattern ( ) const
inline

Definition at line 127 of file BaseSelectionRule.h.

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

bool BaseSelectionRule::HasAttributeFromTypedef ( ) const
inline

Definition at line 130 of file BaseSelectionRule.h.

bool BaseSelectionRule::HasAttributeName ( ) const
inline

Definition at line 112 of file BaseSelectionRule.h.

Referenced by RScanner::TreatRecordDeclOrTypedefNameDecl().

bool BaseSelectionRule::HasAttributePattern ( ) const
inline

Definition at line 118 of file BaseSelectionRule.h.

Referenced by RScanner::TreatRecordDeclOrTypedefNameDecl().

bool BaseSelectionRule::HasAttributeProtoName ( ) const
inline

Definition at line 115 of file BaseSelectionRule.h.

bool BaseSelectionRule::HasAttributeProtoPattern ( ) const
inline

Definition at line 121 of file BaseSelectionRule.h.

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

Definition at line 124 of file BaseSelectionRule.cxx.

Referenced by XMLReader::Parse().

bool BaseSelectionRule::HasInterpreter ( ) const
inline
bool BaseSelectionRule::IsFromTypedef ( ) const
inline

Definition at line 129 of file BaseSelectionRule.h.

Referenced by RScanner::TreatRecordDeclOrTypedefNameDecl().

BaseSelectionRule::EMatchType BaseSelectionRule::Match ( const clang::NamedDecl *  decl,
const std::string &  name,
const std::string &  prototype,
bool  isLinkdef 
) const
virtual void BaseSelectionRule::Print ( std::ostream &  out) const
pure virtual

Implemented in ClassSelectionRule, and VariableSelectionRule.

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

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

Definition at line 176 of file BaseSelectionRule.cxx.

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

Definition at line 403 of file BaseSelectionRule.cxx.

Referenced by SetAttributeValue().

void BaseSelectionRule::SetAttributeValue ( const std::string &  attributeName,
const std::string &  attributeValue 
)
void BaseSelectionRule::SetCXXRecordDecl ( const clang::CXXRecordDecl *  decl,
const clang::Type *  typeptr 
)

Definition at line 571 of file BaseSelectionRule.cxx.

void BaseSelectionRule::SetIndex ( long  index)
inline

Definition at line 100 of file BaseSelectionRule.h.

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

Definition at line 140 of file BaseSelectionRule.h.

void BaseSelectionRule::SetMatchFound ( bool  match)

Definition at line 556 of file BaseSelectionRule.cxx.

Referenced by Match().

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

Member Data Documentation

AttributesMap_t BaseSelectionRule::fAttributes
private
const clang::CXXRecordDecl* BaseSelectionRule::fCXXRecordDecl
private

Definition at line 67 of file BaseSelectionRule.h.

Referenced by GetCXXRecordDecl(), Match(), and SetCXXRecordDecl().

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

Definition at line 76 of file BaseSelectionRule.h.

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

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

Definition at line 77 of file BaseSelectionRule.h.

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

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

Definition at line 65 of file BaseSelectionRule.h.

Referenced by Match(), and SetAttributeValue().

bool BaseSelectionRule::fHasFileNameAttribute = false
private

Definition at line 83 of file BaseSelectionRule.h.

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

bool BaseSelectionRule::fHasFilePatternAttribute = false
private

Definition at line 84 of file BaseSelectionRule.h.

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

bool BaseSelectionRule::fHasFromTypedefAttribute = false
private

Definition at line 85 of file BaseSelectionRule.h.

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

bool BaseSelectionRule::fHasNameAttribute = false
private

Definition at line 79 of file BaseSelectionRule.h.

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

bool BaseSelectionRule::fHasPatternAttribute = false
private

Definition at line 81 of file BaseSelectionRule.h.

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

bool BaseSelectionRule::fHasProtoNameAttribute = false
private

Definition at line 80 of file BaseSelectionRule.h.

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

bool BaseSelectionRule::fHasProtoPatternAttribute = false
private

Definition at line 82 of file BaseSelectionRule.h.

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

long BaseSelectionRule::fIndex
private

Definition at line 59 of file BaseSelectionRule.h.

Referenced by GetIndex().

cling::Interpreter* BaseSelectionRule::fInterp
private

Definition at line 69 of file BaseSelectionRule.h.

Referenced by Match().

bool BaseSelectionRule::fIsFromTypedef = false
private

Definition at line 86 of file BaseSelectionRule.h.

Referenced by FillCache(), and IsFromTypedef().

ESelect BaseSelectionRule::fIsSelected
private

Definition at line 63 of file BaseSelectionRule.h.

Referenced by GetSelected(), and SetSelected().

long BaseSelectionRule::fLineNumber =-1
private

Definition at line 60 of file BaseSelectionRule.h.

Referenced by GetLineNumber().

bool BaseSelectionRule::fMatchFound
private

Definition at line 66 of file BaseSelectionRule.h.

Referenced by GetMatchFound(), and SetMatchFound().

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

Definition at line 72 of file BaseSelectionRule.h.

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

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

Definition at line 78 of file BaseSelectionRule.h.

Referenced by FillCache(), and GetAttributeNArgsToKeep().

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

Definition at line 73 of file BaseSelectionRule.h.

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

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

Definition at line 74 of file BaseSelectionRule.h.

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

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

Definition at line 75 of file BaseSelectionRule.h.

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

const clang::Type* BaseSelectionRule::fRequestedType
private

Definition at line 68 of file BaseSelectionRule.h.

Referenced by GetRequestedType(), and SetCXXRecordDecl().

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

Definition at line 61 of file BaseSelectionRule.h.

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: