#include <ROOT/RConfig.hxx>#include "RConfigure.h"#include <cstdlib>#include <stdexcept>#include <cxxabi.h>#include <string>#include <vector>#include <array>#include <typeinfo>#include "ESTLType.h"#include <string_view>Classes | |
| class | TClassEdit::AtomicTypeNameHandlerRAII |
| A RAII helper to remove and readd enclosing _Atomic() It expects no spaces at the beginning or end of the string. More... | |
| struct | TClassEdit::FunctionSplitInfo |
| Result of splitting a function declaration into fReturnType fScopeName::fFunctionName<fFunctionTemplateArguments>(fFunctionParameters) More... | |
| class | TClassEdit::TInterpreterLookupHelper |
| struct | TClassEdit::TSplitType |
Namespaces | |
| namespace | ROOT |
| namespace | ROOT::TMetaUtils |
| namespace | TClassEdit |
Enumerations | |
| enum class | TClassEdit::EComplexType : short { TClassEdit::kNone , TClassEdit::kDouble , TClassEdit::kFloat , TClassEdit::kInt , TClassEdit::kLong } |
| enum | TClassEdit::EModType { TClassEdit::kNone = 0 , TClassEdit::kDropTrailStar = 1<<0 , TClassEdit::kDropDefaultAlloc = 1<<1 , TClassEdit::kDropAlloc = 1<<2 , TClassEdit::kInnerClass = 1<<3 , TClassEdit::kInnedMostClass = 1<<4 , TClassEdit::kDropStlDefault = 1<<5 , TClassEdit::kDropComparator = 1<<6 , TClassEdit::kDropAllDefault = 1<<7 , TClassEdit::kLong64 = 1<<8 , TClassEdit::kDropStd = 1<<9 , TClassEdit::kKeepOuterConst = 1<<10 , TClassEdit::kResolveTypedef = 1<<11 , TClassEdit::kDropPredicate = 1<<12 , TClassEdit::kDropHash = 1<<13 } |
Functions | |
| enum | TClassEdit::_R__DEPRECATED_ ("will be removed in ROOT v" "6" "." "44" ": " "Please use ROOT::ESTLType instead.") ESTLType |
| std::string | TClassEdit::CleanType (const char *typeDesc, int mode=0, const char **tail=nullptr) |
| Cleanup type description, redundant blanks removed and redundant tail ignored return *tail = pointer to last used character if (mode==0) keep keywords if (mode==1) remove keywords outside the template params if (mode>=2) remove the keywords everywhere. | |
| char * | TClassEdit::DemangleName (const char *mangled_name, int &errorCode) |
| char * | TClassEdit::DemangleTypeIdName (const std::type_info &ti, int &errorCode) |
| Demangle in a portable way the type id name. | |
| EComplexType | TClassEdit::GetComplexType (const char *) |
| std::string | TClassEdit::GetLong64_Name (const char *original) |
| Replace 'long long' and 'unsigned long long' by 'Long64_t' and 'ULong64_t'. | |
| std::string | TClassEdit::GetLong64_Name (const std::string &original) |
| Replace 'long long' and 'unsigned long long' by 'Long64_t' and 'ULong64_t'. | |
| std::string | TClassEdit::GetNameForIO (const std::string &templateInstanceName, TClassEdit::EModType mode=TClassEdit::kNone, bool *hasChanged=nullptr) |
| void | TClassEdit::GetNormalizedName (std::string &norm_name, std::string_view name) |
| Return the normalized name. | |
| int | TClassEdit::GetSplit (const char *type, std::vector< std::string > &output, int &nestedLoc, EModType mode=TClassEdit::kNone) |
| Stores in output (after emptying it) the split type. | |
| bool | TClassEdit::GetStdArrayProperties (const char *typeName, std::string &typeNameBuf, std::array< int, 5 > &maxIndices, int &ndim) |
| std::string | TClassEdit::GetUniquePtrType (std::string_view name) |
| const char * | TClassEdit::GetUnqualifiedName (const char *name) |
| Return the start of the unqualified name include in 'original'. | |
| void | TClassEdit::Init (TClassEdit::TInterpreterLookupHelper *helper) |
| std::string | TClassEdit::InsertStd (const char *tname) |
| bool | TClassEdit::IsArtificial (std::string_view name) |
| bool | TClassEdit::IsDefAlloc (const char *alloc, const char *classname) |
| return whether or not 'allocname' is the STL default allocator for type 'classname' | |
| bool | TClassEdit::IsDefAlloc (const char *alloc, const char *keyclassname, const char *valueclassname) |
| return whether or not 'allocname' is the STL default allocator for a key of type 'keyclassname' and a value of type 'valueclassname' | |
| bool | TClassEdit::IsDefComp (const char *comp, const char *classname) |
| return whether or not 'compare' is the STL default comparator for type 'classname' | |
| bool | TClassEdit::IsDefHash (const char *hashname, const char *classname) |
| return whether or not 'hashname' is the STL default hash for type 'classname' | |
| bool | TClassEdit::IsDefPred (const char *predname, const char *classname) |
| return whether or not 'predname' is the STL default predicate for type 'classname' | |
| bool | TClassEdit::IsInterpreterDetail (const char *type) |
| Return true if the type is one the interpreter details which are only forward declared (ClassInfo_t etc..) | |
| bool | TClassEdit::IsStdArray (std::string_view name) |
| bool | TClassEdit::IsStdClass (const char *type) |
| return true if the class belongs to the std namespace | |
| bool | TClassEdit::IsStdPair (std::string_view name) |
| bool | TClassEdit::IsStdPairBase (std::string_view name) |
| bool | TClassEdit::IsSTLBitset (const char *type) |
| Return true is the name is std::bitset<number> or bitset<number> | |
| int | TClassEdit::IsSTLCont (const char *type, int testAlloc) |
| type : type name: vector<list<classA,allocator>,allocator> testAlloc: if true, we test allocator, if it is not default result is negative result: 0 : not stl container abs(result): code of container 1=vector,2=list,3=deque,4=map 5=multimap,6=set,7=multiset positive val: we have a vector or list with default allocator to any depth like vector<list<vector<int>>> negative val: STL container other than vector or list, or non default allocator For example: vector<deque<int>> has answer -1 | |
| ROOT::ESTLType | TClassEdit::IsSTLCont (std::string_view type) |
| type : type name: vector<list<classA,allocator>,allocator> result: 0 : not stl container code of container 1=vector,2=list,3=deque,4=map 5=multimap,6=set,7=multiset | |
| bool | TClassEdit::IsUniquePtr (std::string_view name) |
| bool | TClassEdit::IsVectorBool (const char *name) |
| std::string | TClassEdit::ResolveTypedef (const char *tname, bool resolveAll=false) |
| std::string | TClassEdit::ShortType (const char *typeDesc, int mode) |
| Return the absolute type of typeDesc. | |
| bool | TClassEdit::SplitFunction (std::string_view decl, FunctionSplitInfo &result) |
| Split a function declaration into its different parts. | |
| int | TClassEdit::STLArgs (int kind) |
| Return number of arguments for STL container before allocator. | |
| ROOT::ESTLType | TClassEdit::STLKind (std::string_view type) |
| Converts STL container name to number. | |
| ROOT::ESTLType | TClassEdit::UnderlyingIsSTLCont (std::string_view type) |
| Return the type of STL collection, if any, that is the underlying type of the given type. | |