charmxi sdag: factor out method generation code
[charm.git] / src / xlat-i / xi-util.h
index d89301b84175489bf15f262f6bd578a04def792b..b525df0d0ad605cec3a4593b0470d87782f88345 100644 (file)
@@ -47,11 +47,11 @@ class XStr {
     XStr(const char *_s);
     XStr(const XStr &_s); //Copy constructor
     ~XStr() { delete[] s; }
-    char *get_string(void) { return s; }
+    char *get_string(void) const { return s; }
     const char *get_string_const(void) const { return s; }
     // this is to allow XStr to be substituted for CString in
     // structured dagger translator without a lot of changes
-    char *charstar(void) { return get_string(); }
+    char *charstar(void) const { return get_string(); }
     //This operator allows us to use XStr's interchangably with char *'s:
     operator char *() {return get_string();}
     //Comparison operators
@@ -67,6 +67,7 @@ class XStr {
     XStr& operator << (char c) { append(c); return *this;}
     XStr& operator << (int i) ;
     XStr& operator << (const XStr& x) { append(x.get_string_const()); return *this; }
+    XStr& operator << (const XStr* x) { append(x->get_string_const()); return *this; }
     void spew(const char*b, const char *a1 = 0, const char *a2 = 0, 
               const char *a3 = 0, const char *a4 = 0, const char *a5 = 0);
 };