From fbbfb740d9f2728797910753224793a2ed00f2fe Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Thu, 31 Oct 2002 08:35:12 +0000 Subject: [PATCH] yet more large, unneeded blocks of code to remove --- stepmania/src/StdString.h | 298 -------------------------------------- 1 file changed, 298 deletions(-) diff --git a/stepmania/src/StdString.h b/stepmania/src/StdString.h index 29d3d71920..1e5df9ac17 100644 --- a/stepmania/src/StdString.h +++ b/stepmania/src/StdString.h @@ -326,8 +326,6 @@ inline const Type& SSMAX(const Type& arg1, const Type& arg2) #else typedef char TCHAR; #endif - typedef wchar_t OLECHAR; - #else #include @@ -418,16 +416,6 @@ inline const Type& SSMAX(const Type& arg1, const Type& arg2) #define PCTSTR_DEFINED #endif -#if !defined(PCOLESTR) && !defined(PCOLESTR_DEFINED) - typedef const OLECHAR* PCOLESTR; - #define PCOLESTR_DEFINED -#endif - -#if !defined(POLESTR) && !defined(POLESTR_DEFINED) - typedef OLECHAR* POLESTR; - #define POLESTR_DEFINED -#endif - #if !defined(PCUSTR) && !defined(PCUSTR_DEFINED) typedef const unsigned char* PCUSTR; typedef unsigned char* PUSTR; @@ -1145,119 +1133,6 @@ inline void ssadd(std::wstring& sDst, PCWSTR pW) #endif -// ----------------------------------------------------------------------------- -// sscoll/ssicoll: Collation wrappers -// Note -- with MSVC I have reversed the arguments order here because the -// functions appear to return the opposite of what they should -// ----------------------------------------------------------------------------- -#ifdef SS_ANSI - #ifdef SS_NOLOCALE - inline int sscoll(PCSTR sz1, int /*nLen1*/, PCSTR sz2, int /*nLen2*/) - { - return strcoll(sz2, sz1); - } - inline int sscoll(PCWSTR sz1, int /*nLen1*/, PCWSTR sz2, int /*nLen2*/) - { - return wcscoll(sz2, sz1); - } - template - inline int ssicoll(const CT* sz1, int nLen1, const CT* sz2, int nLen2) - { - std::basic_string str1(sz1, nLen1); - std::basic_string str2(sz2, nLen2); - - // JMO: Note this is a complete hack. But so is SS_NOLOCALE - - sslwr((CT*)str1.data(), nLen1); - sslwr((CT*)str2.data(), nLen2); - - return sscoll(str2.c_str(), str2.size(), str1.c_str(), str1.size()); - } - #else - template - inline int sscoll(const CT* sz1, int nLen1, const CT* sz2, int nLen2) - { - const std::collate& coll = - SS_USE_FACET(std::locale(), std::collate); - - return coll.compare(sz2, sz2+nLen2, sz1, sz1+nLen1); - } - template - inline int ssicoll(const CT* sz1, int nLen1, const CT* sz2, int nLen2) - { - const std::locale loc; - const std::collate& coll = SS_USE_FACET(loc, std::collate); - - // Some implementations seem to have trouble using the collate<> - // facet typedefs so we'll just default to basic_string and hope - // that's what the collate facet uses (which it generally should) - -// std::collate::string_type s1(sz1); -// std::collate::string_type s2(sz2); - std::basic_string s1(sz1); - std::basic_string s2(sz2); - - sslwr(const_cast(s1.c_str()), nLen1); - sslwr(const_cast(s2.c_str()), nLen2); - return coll.compare(s2.c_str(), s2.c_str()+nLen2, - s1.c_str(), s1.c_str()+nLen1); - } - #endif -#else - #ifdef _MBCS - inline int sscoll(PCSTR sz1, int /*nLen1*/, PCSTR sz2, int /*nLen2*/) - { - return _mbscoll((PCUSTR)sz1, (PCUSTR)sz2); - } - inline int ssicoll(PCSTR sz1, int /*nLen1*/, PCSTR sz2, int /*nLen2*/) - { - return _mbsicoll((PCUSTR)sz1, (PCUSTR)sz2); - } - #else - inline int sscoll(PCSTR sz1, int /*nLen1*/, PCSTR sz2, int /*nLen2*/) - { - return strcoll(sz1, sz2); - } - inline int ssicoll(PCSTR sz1, int /*nLen1*/, PCSTR sz2, int /*nLen2*/) - { - return _stricoll(sz1, sz2); - } - #endif - inline int sscoll(PCWSTR sz1, int /*nLen1*/, PCWSTR sz2, int /*nLen2*/) - { - return wcscoll(sz1, sz2); - } - inline int ssicoll(PCWSTR sz1, int /*nLen1*/, PCWSTR sz2, int /*nLen2*/) - { - return _wcsicoll(sz1, sz2); - } -#endif - - -// ----------------------------------------------------------------------------- -// ssfmtmsg: FormatMessage equivalents. Needed because I added a CString facade -// Again -- no equivalent of these on non-Win32 builds but their might one day -// be one if the message facet gets implemented -// ----------------------------------------------------------------------------- -#ifdef SS_ANSI -#else - inline DWORD ssfmtmsg(DWORD dwFlags, LPCVOID pSrc, DWORD dwMsgId, - DWORD dwLangId, PSTR pBuf, DWORD nSize, - va_list* vlArgs) - { - return FormatMessageA(dwFlags, pSrc, dwMsgId, dwLangId, - pBuf, nSize,vlArgs); - } - inline DWORD ssfmtmsg(DWORD dwFlags, LPCVOID pSrc, DWORD dwMsgId, - DWORD dwLangId, PWSTR pBuf, DWORD nSize, - va_list* vlArgs) - { - return FormatMessageW(dwFlags, pSrc, dwMsgId, dwLangId, - pBuf, nSize,vlArgs); - } -#endif - - // FUNCTION: sscpy. Copies up to 'nMax' characters from pSrc to pDst. // ----------------------------------------------------------------------------- @@ -1751,15 +1626,6 @@ public: this->resize(static_cast(nNewLen > -1 ? nNewLen : sslen(this->c_str()))); } - void BufferRel() { RelBuf(); } // backwards compatability - CT* Buffer() { return GetBuf(); } // backwards compatability - CT* BufferSet(int nLen) { return SetBuf(nLen);}// backwards compatability - - bool Equals(const CT* pT, bool bUseCase=false) const - { // get copy, THEN compare (thread safe) - return bUseCase ? this->compare(pT) == 0 : ssicmp(MYTYPE(*this).c_str(), pT) == 0; - } - // ------------------------------------------------------------------------- // FUNCTION: CStdStr::Format // void _cdecl Formst(CStdStringA& PCSTR szFormat, ...) @@ -1892,21 +1758,6 @@ public: } #endif - int Collate(PCMYSTR szThat) const - { - return sscoll(this->c_str(), this->length(), szThat, sslen(szThat)); - } - - int CollateNoCase(PCMYSTR szThat) const - { - return ssicoll(this->c_str(), this->length(), szThat, sslen(szThat)); - } - - int Compare(PCMYSTR szThat) const - { - return this->compare(szThat); - } - int CompareNoCase(PCMYSTR szThat) const { return ssicmp(this->c_str(), szThat); @@ -1966,44 +1817,6 @@ public: return static_cast(MYBASE::npos == nIdx ? -1 : nIdx); } -#ifndef SS_ANSI - void FormatMessage(PCMYSTR szFormat, ...) throw(std::exception) - { - va_list argList; - va_start(argList, szFormat); - PMYSTR szTemp; - if ( ssfmtmsg(FORMAT_MESSAGE_FROM_STRING|FORMAT_MESSAGE_ALLOCATE_BUFFER, - szFormat, 0, 0, - reinterpret_cast(&szTemp), 0, &argList) == 0 || - szTemp == 0 ) - { - throw std::runtime_error("out of memory"); - } - *this = szTemp; - LocalFree(szTemp); - va_end(argList); - } - - void FormatMessage(UINT nFormatId, ...) throw(std::exception) - { - MYTYPE sFormat; - VERIFY(sFormat.LoadString(nFormatId) != 0); - va_list argList; - va_start(argList, nFormatId); - PMYSTR szTemp; - if ( ssfmtmsg(FORMAT_MESSAGE_FROM_STRING|FORMAT_MESSAGE_ALLOCATE_BUFFER, - sFormat, 0, 0, - reinterpret_cast(&szTemp), 0, &argList) == 0 || - szTemp == 0) - { - throw std::runtime_error("out of memory"); - } - *this = szTemp; - LocalFree(szTemp); - va_end(argList); - } -#endif - // ------------------------------------------------------------------------- // GetXXXX -- Direct access to character buffer @@ -2018,11 +1831,6 @@ public: return GetBuf(nMinLen); } - CT* GetBufferSetLength(int nLen) - { - return BufferSet(nLen); - } - // GetLength() -- MFC docs say this is the # of BYTES but // in truth it is the number of CHARACTERs (chars or wchar_ts) int GetLength() const @@ -2164,13 +1972,6 @@ public: return static_cast(MYBASE::npos == nIdx ? -1 : nIdx); } - // ReverseFind overload that's not in CString but might be useful - int ReverseFind(PCMYSTR szFind, MYSIZE pos=MYBASE::npos) const - { - MYSIZE nIdx = this->rfind(0 == szFind ? MYTYPE() : szFind, pos); - return static_cast(MYBASE::npos == nIdx ? -1 : nIdx); - } - MYTYPE Right(int nCount) const { // Range check the count. @@ -2185,73 +1986,6 @@ public: this->at(static_cast(nIndex)) = ch; } - #ifndef SS_ANSI - BSTR SetSysString(BSTR* pbstr) const - { - ostring os; - ssasn(os, *this); - if ( !::SysReAllocStringLen(pbstr, os.c_str(), os.length()) ) - throw std::runtime_error("out of memory"); - - ASSERT(*pbstr != 0); - return *pbstr; - } - #endif - - MYTYPE SpanExcluding(PCMYSTR szCharSet) const - { - return Left(this->find_first_of(szCharSet)); - } - - MYTYPE SpanIncluding(PCMYSTR szCharSet) const - { - return Left(this->find_first_not_of(szCharSet)); - } - - #if !defined(UNICODE) && !defined(SS_ANSI) - - // CString's OemToAnsi and AnsiToOem functions are available only in - // Unicode builds. However since we're a template we also need a - // runtime check of CT and a reinterpret_cast to account for the fact - // that CStdStringW gets instantiated even in non-Unicode builds. - - void AnsiToOem() - { - if ( sizeof(CT) == sizeof(char) && !empty() ) - { - ::CharToOem(reinterpret_cast(this->c_str()), - reinterpret_cast(GetBuf())); - } - else - { - ASSERT(false); - } - } - - void OemToAnsi() - { - if ( sizeof(CT) == sizeof(char) && !empty() ) - { - ::OemToChar(reinterpret_cast(this->c_str()), - reinterpret_cast(GetBuf())); - } - else - { - ASSERT(false); - } - } - - #endif - - - void FreeExtra() - { - MYTYPE mt; - this->swap(mt); - if ( !mt.empty() ) - this->assign(mt.c_str(), mt.size()); - } - // I have intentionally not implemented the following CString // functions. You cannot make them work without taking advantage // of implementation specific behavior. However if you absolutely @@ -2289,37 +2023,6 @@ public: return this->c_str(); } #endif - -#ifndef SS_ANSI - - // SetResourceHandle/GetResourceHandle. In MFC builds, these map directly - // to AfxSetResourceHandle and AfxGetResourceHandle. In non-MFC builds they - // point to a single static HINST so that those who call the member - // functions that take resource IDs can provide an alternate HINST of a DLL - // to search. This is not exactly the list of HMODULES that MFC provides - // but it's better than nothing. - - #ifdef _MFC_VER - static void SetResourceHandle(HMODULE hNew) - { - AfxSetResourceHandle(hNew); - } - static HMODULE GetResourceHandle() - { - return AfxGetResourceHandle(); - } - #else - static void SetResourceHandle(HMODULE hNew) - { - SSResourceHandle() = hNew; - } - static HMODULE GetResourceHandle() - { - return SSResourceHandle(); - } - #endif - -#endif }; @@ -2499,7 +2202,6 @@ CStdStr operator+(PCWSTR pW, const CStdStr& str) typedef CStdStr CStdStringA; // a better std::string typedef CStdStr CStdStringW; // a better std::wstring -typedef CStdStr CStdStringO; // almost always CStdStringW #ifndef SS_ANSI