windows-nt/Source/XPSP1/NT/net/diagnostics/wmi/dgnet/tstring.h
2020-09-26 16:20:57 +08:00

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]; }
};