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.
90 lines
2.2 KiB
90 lines
2.2 KiB
//-----------------------------------------------------------------------------
|
|
//
|
|
// File: clstring.h
|
|
// Copyright (C) 1994-1997 Microsoft Corporation
|
|
// All rights reserved.
|
|
//
|
|
//
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#ifndef CLSTRING_H
|
|
#define CLSTRING_H
|
|
|
|
|
|
#pragma warning(disable : 4275)
|
|
|
|
class LTAPIENTRY CLString : public CString
|
|
{
|
|
public:
|
|
CLString();
|
|
CLString(const CLString& stringSrc);
|
|
CLString(TCHAR ch, int nRepeat = 1);
|
|
CLString(LPCSTR lpsz);
|
|
CLString(LPCTSTR lpch, int nLength);
|
|
CLString(const unsigned char* psz);
|
|
CLString(HINSTANCE, UINT);
|
|
|
|
BOOL ReplaceAll(LPCTSTR lpszFind, LPCTSTR lpszReplace, BOOL bMatchCase);
|
|
|
|
// overloaded assignment
|
|
NOTHROW const CLString& operator=(const CString& stringSrc);
|
|
|
|
NOTHROW const CLString& operator=(TCHAR ch);
|
|
#ifdef _UNICODE
|
|
NOTHROW const CLString& operator=(char ch);
|
|
#endif
|
|
NOTHROW const CLString& operator=(LPCSTR lpsz);
|
|
NOTHROW const CLString& operator=(const unsigned char* psz);
|
|
|
|
// string concatenation
|
|
NOTHROW const CLString& operator+=(const CString &);
|
|
NOTHROW const CLString& operator+=(TCHAR ch);
|
|
#ifdef _UNICODE
|
|
NOTHROW const CLString& operator+=(char ch);
|
|
#endif
|
|
NOTHROW const CLString& operator+=(LPCTSTR lpsz);
|
|
|
|
CLString operator+(const CString &) const;
|
|
CLString operator+(LPCTSTR sz) const;
|
|
|
|
NOTHROW BOOL LoadString(HMODULE, UINT nId);
|
|
|
|
//
|
|
// The following were copied from CString so we can
|
|
// 'overload' them.
|
|
|
|
NOTHROW void Format(LPCTSTR lpszFormat, ...);
|
|
NOTHROW void Format(HMODULE, UINT nFormatID, ...);
|
|
|
|
enum ECRLF
|
|
{
|
|
eNone = 0,
|
|
eCR = 0x0001, // '\r'
|
|
eLF = 0x0002, // '\n'
|
|
eAll = eCR | eLF
|
|
};
|
|
void FixCRLF(UINT nCRLF, LPCTSTR pszIndent = NULL);
|
|
|
|
DEBUGONLY(~CLString());
|
|
protected:
|
|
|
|
private:
|
|
DEBUGONLY(static CCounter m_UsageCounter);
|
|
|
|
//
|
|
// Evil! Implicit Unicode conversions!
|
|
CLString(LPCWSTR lpsz);
|
|
NOTHROW const CLString& operator=(LPCWSTR lpsz);
|
|
BSTR AllocSysString() const;
|
|
BSTR SetSysString(BSTR* pbstr) const;
|
|
|
|
};
|
|
|
|
#pragma warning(default : 4275)
|
|
|
|
#if !defined(_DEBUG) || defined(IMPLEMENT)
|
|
#include "clstring.inl"
|
|
#endif
|
|
|
|
#endif
|