From 3a4838bed13b767132cbdf06364b2658da6cc356 Mon Sep 17 00:00:00 2001 From: chatty Date: Tue, 15 Dec 1992 10:55:33 +0000 Subject: Initial revision --- utils/String.h | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 utils/String.h (limited to 'utils/String.h') diff --git a/utils/String.h b/utils/String.h new file mode 100644 index 0000000..4aa83ca --- /dev/null +++ b/utils/String.h @@ -0,0 +1,61 @@ +/* + * CENA C++ Utilities + * + * by Stephane Chatty + * + * Copyright 1991, 1992 + * Laboratoire de Recherche en Informatique (LRI) + * Centre d'Etudes de la Navigation Aerienne (CENA) + * + * CcuString allocation and copying + * + * $Id$ + * $CurLog$ + */ + +#ifndef String_H_ +#define String_H_ + +#include "cplus_bugs.h" + +/*? class StringMemory ?*/ +extern char* NewString (const char*); +extern char* NewString (const char*, int); +extern char* NewString (int); +extern void FreeString (char*); +/*? end ?*/ + +class CcuShadowString; + +class CcuString { +private: + char* Str; +public: +inline CcuString () { Str = 0; } + CcuString (const char*); + CcuString (int); + CcuString (const CcuString&); + CcuString (const CcuShadowString&); + ~CcuString (); + CcuString& operator = (const CcuString&); + CcuString& operator = (const char*); + CcuString& operator = (const CcuShadowString&); +inline operator const char* () const { return Str; } + int Length () const; +}; + +class CcuShadowString { +private: + const char* Str; +public: +inline CcuShadowString () { Str = 0; } + CcuShadowString (const char*); + CcuShadowString (const CcuString&); +inline CcuShadowString& operator = (const CcuString& s) { Str = (const char*) s; return *this; } +inline CcuShadowString& operator = (const char* s) { Str = s; return *this; } +inline operator const char* () const { return Str; } + int Length () const; +}; + +#endif /* String_H_ */ + -- cgit v1.1