9 #ifndef MummyUtilities_h
10 #define MummyUtilities_h
15 #pragma warning(disable:4127)
20 #include "cableContext.h"
21 #include "cxxFundamentalType.h"
23 #include "gxsys/ios/iosfwd"
24 #include "gxsys/stl/string"
34 void Trace(
const char *s);
35 void Emit(gxsys_ios::ostream &os,
const char *s);
36 void EmitInt(gxsys_ios::ostream &os,
const int i);
37 void EmitUint(gxsys_ios::ostream &os,
const unsigned int i);
38 void EmitIndent(gxsys_ios::ostream &os,
const unsigned int n = 1);
39 void EmitFile(gxsys_ios::ostream &os,
const char *filename);
40 void WriteToFile(
const char *filename,
const char *s);
41 bool IsChar(
const cable::Type *t);
42 bool IsFundamental(
const cable::Type *t, cxx::FundamentalType::Id tid);
44 bool IsVoid(
const cable::Type *t);
57 bool ClassIsA(
const cable::Class *c,
const gxsys_stl::string& parent);
65 bool HasAttribute(
const cable::SourceObject *o,
const char *attr);
67 gxsys_stl::string
ExtractAttribute(
const gxsys_stl::string& atts,
const gxsys_stl::string& attBase);
68 gxsys_stl::string
ExtractAttribute(
const cable::SourceObject *o,
const gxsys_stl::string& attBase);
78 void LogMsg(
const gxsys_stl::string& file,
const unsigned long line,
const gxsys_stl::string& label,
const int n);
86 bool BlockContains(
const gxsys_stl::vector<gxsys_stl::string>& block,
const char *value);
89 void EmitDocumentationBlock(gxsys_ios::ostream &os,
const gxsys_stl::vector<gxsys_stl::string>& block,
const unsigned int indent,
bool isClassDoc =
false);
90 gxsys_stl::string
ExtractDerivedName(
const char *s,
const cable::Named *n,
bool verbose);