home *** CD-ROM | disk | FTP | other *** search
- /*
- CString.h
-
- History:
- 1/2/95 AJR Created.
-
- */
-
- #pragma once
- #ifndef __CString__
- #define __CString__
-
- #include <string>
-
- class CString : public string
- {
- public:
- CString()
- : string() {}
- CString(size_t _N, capacity _C)
- : string(_N, _C) {}
- CString(const string& _X, size_t _P = 0, size_t _N = NPOS)
- : string(_X, _P, _N) {}
- CString(const CString& _X, size_t _P = 0, size_t _N = NPOS)
- : string(_X, _P, _N) {}
- CString(const char *_S, size_t _N = NPOS)
- : string(_S, _N) {}
- CString(const unsigned char * _S)
- : string((const char *)(_S + 1), _S[0]) {}
- CString(char _C, size_t _N = 1)
- : string(_C, _N) {}
- CString(unsigned char _C, size_t _N = 1)
- : string(_C, _N) {}
- #if _HAS_SIGNED_CHAR
- CString(signed char _C, size_t _N = 1)
- : string(_C, _N) {}
- #endif
-
- ~CString() { this->string::~string(); }
-
- const StringPtr ToPString() const;
- operator const StringPtr () const { return ToPString(); }
-
- CString & ExtractFromAEDesc(const AEDesc & inDesc);
-
- private:
- enum {
- kTempStringCount = 4
- };
-
- static Str255 sTempString[kTempStringCount];
- static unsigned short sNextString;
- };
-
- extern CString sEmptyString;
-
- #endif
-