Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef _CUSTRING_H_
#define _CUSTRING_H_
// Simple universal string class, where string can be converted
// back and forth between Ansi and Unicode string and buffers
// allocated are destroyed in string class destructor.
class CUSTRING { public: CUSTRING(PCWSTR wszText = NULL); CUSTRING(PCSTR szText); ~CUSTRING(); operator PWSTR(); operator PSTR(); inline void GiveString(PCWSTR wszText); inline void GiveString(PCSTR szText); inline void AssignString(PCWSTR wszText); inline void AssignString(PCSTR szText); protected: PWSTR wszData; PSTR szData; BOOL bUnicodeNew; BOOL bAnsiNew; };
inline void CUSTRING::GiveString(PCWSTR wszText) { ASSERT(!wszData); wszData = (PWSTR)wszText; bUnicodeNew = TRUE; }
inline void CUSTRING::GiveString(PCSTR szText) { ASSERT(!szData); szData = (PSTR)szText; bAnsiNew = TRUE; }
inline void CUSTRING::AssignString(PCWSTR wszText) { ASSERT(!wszData); wszData = (PWSTR)wszText; }
inline void CUSTRING::AssignString(PCSTR szText) { ASSERT(!szData); szData = (PSTR)szText; }
#endif // ndef CUSTRING_H
|