/usr/include/root/Shadow.h is in libroot-core-dev 5.34.14-1build1.
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 | /***********************************************************************
* cint (C/C++ interpreter)
************************************************************************
* Header file Shadow.h
************************************************************************
* Description:
* Shadow class generator for dictionaries
************************************************************************
* Copyright(c) 1995~2007 Masaharu Goto
*
* For the licensing terms see the file COPYING
*
************************************************************************/
/*********************************************************************
* Shadow class functions
*********************************************************************/
#ifndef G__SHADOW_H
#define G__SHADOW_H
#include <string>
#include <ostream>
#ifndef G__API
#include "Api.h"
#endif
using std::string;
using std::ostream;
#ifdef _MSC_VER
#pragma warning( push )
#pragma warning( disable: 4251 ) // fNSPrefix needs to have dll-interface
#endif
namespace Cint {
class
#ifndef __CINT__
G__EXPORT
#endif
G__ShadowMaker {
public:
static bool NeedShadowClass(G__ClassInfo& cl);
G__ShadowMaker(std::ostream& out, const char* nsprefix,
bool(*needShadowClass)(G__ClassInfo &cl)=G__ShadowMaker::NeedShadowClass,
bool(*needTypedefShadow)(G__ClassInfo &cl)=0);
void WriteAllShadowClasses();
void WriteShadowClass(G__ClassInfo &cl, int level = 0);
int WriteNamespaceHeader(G__ClassInfo &cl);
char NeedShadowCached(int tagnum);
static bool IsSTLCont(const char *type);
static bool IsStdPair(G__ClassInfo &cl);
static void GetFullyQualifiedName(const char *originalName, std::string &fullyQualifiedName);
static void GetFullyQualifiedName(G__ClassInfo &cl, std::string &fullyQualifiedName);
static void GetFullyQualifiedName(G__TypeInfo &type, std::string &fullyQualifiedName);
static std::string GetNonConstTypeName(G__DataMemberInfo &m, bool fullyQualified = false);
void GetFullShadowName(G__ClassInfo &cl, std::string &fullname);
static void VetoShadow(bool veto=true);
private:
G__ShadowMaker(const G__ShadowMaker&); // intentionally not implemented
G__ShadowMaker& operator =(const G__ShadowMaker&); // intentionally not implemented
void GetFullShadowNameRecurse(G__ClassInfo &cl, std::string &fullname);
void UpdateCachedNeedShadow();
#ifndef __CINT__
std::ostream& fOut; // where to write to
#endif
std::string fNSPrefix; // shadow classes are in this namespace's namespace "Shadow"
char fCacheNeedShadow[G__MAXSTRUCT]; // whether we need a shadow for a tagnum
int fMaxCachedNeedShadow; // Up to where in G__struct did we calculate the value.
bool (*fNeedShadowClass)(G__ClassInfo &cl); // func deciding whether the shadow is a tyepdef
bool (*fNeedTypedefShadow)(G__ClassInfo &cl); // func deciding whether the shadow is a tyepdef
static bool fgVetoShadow; // whether WritaAllShadowClasses should write the shadow
};
} // end namespace Cint
using namespace Cint;
#ifdef _MSC_VER
#pragma warning( pop )
#endif
#endif // G__SHADOW_H
|