/usr/include/root/TDictionary.h is in libroot-core-dev 5.34.19+dfsg-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | // @(#)root/meta:$Id$
// Author: Fons Rademakers 20/06/96
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TDictionary
#define ROOT_TDictionary
//////////////////////////////////////////////////////////////////////////
// //
// TDictionary //
// //
// This class defines an abstract interface that must be implemented //
// by all classes that contain dictionary information. //
// //
// The dictionary is defined by the followling classes: //
// TDataType (typedef definitions) //
// TGlobal (global variables) //
// TFunction (global functions) //
// TClass (classes) //
// TBaseClass (base classes) //
// TDataMember (class datamembers) //
// TMethod (class methods) //
// TMethodArg (method arguments) //
// //
// All the above classes implement the TDictionary abstract interface //
// (note: the indentation shows aggregation not inheritance). //
// The ROOT dictionary system provides a very extensive RTTI //
// environment that facilitates a.o. object inspectors, object I/O, //
// ROOT Trees, etc. Most of the type information is provided by the //
// CINT C++ interpreter. //
// //
// TMethodCall (method call environment) //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
#include "Property.h"
class TDictAttributeMap;
typedef void CallFunc_t;
typedef void ClassInfo_t;
typedef void BaseClassInfo_t;
typedef void DataMemberInfo_t;
typedef void MethodInfo_t;
typedef void MethodArgInfo_t;
typedef void MethodArgInfo_t;
typedef void TypeInfo_t;
typedef void TypedefInfo_t;
#ifndef ROOT_ESTLType
#include "ESTLType.h"
#endif
enum EProperty {
kIsClass = G__BIT_ISCLASS,
kIsStruct = G__BIT_ISSTRUCT,
kIsUnion = G__BIT_ISUNION,
kIsEnum = G__BIT_ISENUM,
kIsNamespace = G__BIT_ISNAMESPACE,
kIsTypedef = G__BIT_ISTYPEDEF,
kIsFundamental = G__BIT_ISFUNDAMENTAL,
kIsAbstract = G__BIT_ISABSTRACT,
kIsVirtual = G__BIT_ISVIRTUAL,
kIsPureVirtual = G__BIT_ISPUREVIRTUAL,
kIsPublic = G__BIT_ISPUBLIC,
kIsProtected = G__BIT_ISPROTECTED,
kIsPrivate = G__BIT_ISPRIVATE,
kIsPointer = G__BIT_ISPOINTER,
kIsArray = G__BIT_ISARRAY,
kIsStatic = G__BIT_ISSTATIC,
kIsUsingVariable= G__BIT_ISUSINGVARIABLE,
kIsDefault = G__BIT_ISDEFAULT,
kIsReference = G__BIT_ISREFERENCE,
kIsConstant = G__BIT_ISCONSTANT,
kIsConstPointer = G__BIT_ISPCONSTANT,
kIsMethConst = G__BIT_ISMETHCONSTANT
};
class TDictionary : public TNamed {
private:
TDictAttributeMap *fAttributeMap; //pointer to a dictionary attribute map
public:
TDictionary(): fAttributeMap(0) { }
TDictionary(const char* name): TNamed(name, ""), fAttributeMap(0) { }
TDictionary(const TDictionary& dict);
virtual ~TDictionary();
void CreateAttributeMap();
TDictAttributeMap *GetAttributeMap() const
{
//Get the TDictAttributeMap pointer to be able to add attribute
//pairs key-value to the TClass.
return fAttributeMap;
}
virtual Long_t Property() const = 0;
static TDictionary* GetDictionary(const char* name);
static TDictionary* GetDictionary(const type_info &typeinfo);
// Type of STL container (returned by IsSTLContainer).
enum ESTLType {
kNone = ROOT::kNotSTL,
kVector = ROOT::kSTLvector,
kList = ROOT::kSTLlist,
kDeque = ROOT::kSTLdeque,
kMap = ROOT::kSTLmap,
kMultimap = ROOT::kSTLmultimap,
kSet = ROOT::kSTLset,
kMultiset = ROOT::kSTLmultiset,
kBitset = ROOT::kSTLbitset
};
ClassDef(TDictionary,0) //ABC defining interface to dictionary
};
#endif
|