Logo ROOT  
Reference Guide
ROOT::TMetaUtils::TNormalizedCtxtImpl Class Reference

Definition at line 84 of file TClingUtils.cxx.

Public Member Functions

 TNormalizedCtxtImpl (const cling::LookupHelper &lh)
 Initialize the list of typedef to keep (i.e. More...
 
void AddTemplAndNargsToKeep (const clang::ClassTemplateDecl *templ, unsigned int i)
 Add to the internal map the pointer of a template as key and the number of template arguments to keep as value. More...
 
const Config_tGetConfig () const
 
int GetNargsToKeep (const clang::ClassTemplateDecl *templ) const
 Get from the map the number of arguments to keep. More...
 
const TemplPtrIntMap_t GetTemplNargsToKeepMap () const
 
const TypesCont_tGetTypeWithAlternative () const
 
void keepTypedef (const cling::LookupHelper &lh, const char *name, bool replace=false)
 Insert the type with name into the collection of typedefs to keep. More...
 

Private Types

using Config_t = TNormalizedCtxt::Config_t
 
using DeclsCont_t = TNormalizedCtxt::Config_t::SkipCollection
 
using TemplPtrIntMap_t = TNormalizedCtxt::TemplPtrIntMap_t
 
using TypesCont_t = TNormalizedCtxt::TypesCont_t
 

Private Attributes

Config_t fConfig
 
TypesCont_t fTypeWithAlternative
 

Static Private Attributes

static TemplPtrIntMap_t fTemplatePtrArgsToKeepMap =TNCtxtFullQual::TemplPtrIntMap_t{}
 

Member Typedef Documentation

◆ Config_t

◆ DeclsCont_t

using ROOT::TMetaUtils::TNormalizedCtxtImpl::DeclsCont_t = TNormalizedCtxt::Config_t::SkipCollection
private

Definition at line 85 of file TClingUtils.cxx.

◆ TemplPtrIntMap_t

◆ TypesCont_t

Constructor & Destructor Documentation

◆ TNormalizedCtxtImpl()

ROOT::TMetaUtils::TNormalizedCtxtImpl::TNormalizedCtxtImpl ( const cling::LookupHelper &  lh)

Initialize the list of typedef to keep (i.e.

make them opaque for normalization) and the list of typedef whose semantic is different from their underlying type (Double32_t and Float16_t). This might be specific to an interpreter.

Definition at line 733 of file TClingUtils.cxx.

Member Function Documentation

◆ AddTemplAndNargsToKeep()

void ROOT::TMetaUtils::TNormalizedCtxtImpl::AddTemplAndNargsToKeep ( const clang::ClassTemplateDecl *  templ,
unsigned int  i 
)

Add to the internal map the pointer of a template as key and the number of template arguments to keep as value.

Definition at line 295 of file TClingUtils.cxx.

◆ GetConfig()

const Config_t & ROOT::TMetaUtils::TNormalizedCtxtImpl::GetConfig ( ) const
inline

Definition at line 96 of file TClingUtils.cxx.

◆ GetNargsToKeep()

int ROOT::TMetaUtils::TNormalizedCtxtImpl::GetNargsToKeep ( const clang::ClassTemplateDecl *  templ) const

Get from the map the number of arguments to keep.

It uses the canonical decl of the template as key. If not present, returns -1.

Definition at line 324 of file TClingUtils.cxx.

◆ GetTemplNargsToKeepMap()

const TemplPtrIntMap_t ROOT::TMetaUtils::TNormalizedCtxtImpl::GetTemplNargsToKeepMap ( ) const
inline

Definition at line 100 of file TClingUtils.cxx.

◆ GetTypeWithAlternative()

const TypesCont_t & ROOT::TMetaUtils::TNormalizedCtxtImpl::GetTypeWithAlternative ( ) const
inline

Definition at line 97 of file TClingUtils.cxx.

◆ keepTypedef()

void ROOT::TMetaUtils::TNormalizedCtxtImpl::keepTypedef ( const cling::LookupHelper &  lh,
const char *  name,
bool  replace = false 
)

Insert the type with name into the collection of typedefs to keep.

if replace, replace occurrences of the canonical type by name.

Definition at line 709 of file TClingUtils.cxx.

Member Data Documentation

◆ fConfig

Config_t ROOT::TMetaUtils::TNormalizedCtxtImpl::fConfig
private

Definition at line 90 of file TClingUtils.cxx.

◆ fTemplatePtrArgsToKeepMap

TNCtxtFullQual::TemplPtrIntMap_t TNCtxtFullQual::fTemplatePtrArgsToKeepMap =TNCtxtFullQual::TemplPtrIntMap_t{}
staticprivate

Definition at line 92 of file TClingUtils.cxx.

◆ fTypeWithAlternative

TypesCont_t ROOT::TMetaUtils::TNormalizedCtxtImpl::fTypeWithAlternative
private

Definition at line 91 of file TClingUtils.cxx.


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