52 lines
861 B
C
52 lines
861 B
C
|
// tstring.h
|
||
|
//
|
||
|
// string<> no longer has compare operators like it supposed to.
|
||
|
//
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
//
|
||
|
// Use the heap allocator if it's been included
|
||
|
//
|
||
|
#ifdef __ALLOC_H
|
||
|
typedef basic_string<wchar_t, char_traits<wchar_t>,
|
||
|
::heap_allocator<wchar_t> > whstring;
|
||
|
|
||
|
typedef basic_string<char, char_traits<char>,
|
||
|
::heap_allocator<char> > hstring;
|
||
|
#else
|
||
|
#define whstring wstring
|
||
|
#define hstring string
|
||
|
#endif
|
||
|
|
||
|
class tstring : public
|
||
|
#ifdef UNICODE
|
||
|
whstring
|
||
|
#else
|
||
|
hstring
|
||
|
#endif
|
||
|
{
|
||
|
public:
|
||
|
tstring(){};
|
||
|
tstring(LPCTSTR sz) :
|
||
|
#ifdef UNICODE
|
||
|
whstring(sz)
|
||
|
#else
|
||
|
hstring(sz)
|
||
|
#endif
|
||
|
{};
|
||
|
|
||
|
operator LPCTSTR()
|
||
|
{ return c_str(); }
|
||
|
|
||
|
bool operator<(const tstring& rhs) const
|
||
|
{ return (compare(rhs)<0); }
|
||
|
|
||
|
bool operator==(const tstring& rhs)
|
||
|
{ return (0 == compare(rhs)); }
|
||
|
|
||
|
TCHAR operator[] (int index)
|
||
|
{ return c_str()[index]; }
|
||
|
|
||
|
};
|