Make wxUString compilable with VC6.
Provide replacements for std::basic_string functionality missing from this compiler standard library. Closes #12357. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65917 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -200,17 +200,43 @@ public:
|
|||||||
return (wxUString &) base->assign( str, pos, n );
|
return (wxUString &) base->assign( str, pos, n );
|
||||||
}
|
}
|
||||||
|
|
||||||
wxUString &assign( wxChar32 ch )
|
// FIXME-VC6: VC 6.0 stl does not support all types of assign functions
|
||||||
{
|
#ifdef __VISUALC6__
|
||||||
std::basic_string<wxChar32> *base = this;
|
wxUString &assign( wxChar32 ch )
|
||||||
return (wxUString &) base->assign( (size_type) 1, ch );
|
{
|
||||||
}
|
wxChar32 chh[1];
|
||||||
|
chh[0] = ch;
|
||||||
|
std::basic_string<wxChar32> *base = this;
|
||||||
|
return (wxUString &)base->assign(chh);
|
||||||
|
}
|
||||||
|
|
||||||
wxUString &assign( size_type n, wxChar32 ch )
|
wxUString &assign( size_type n, wxChar32 ch )
|
||||||
{
|
{
|
||||||
std::basic_string<wxChar32> *base = this;
|
wxU32CharBuffer buffer(n);
|
||||||
return (wxUString &) base->assign( n, ch );
|
wxChar32 *p = buffer.data();
|
||||||
}
|
size_type i;
|
||||||
|
for (i = 0; i < n; i++)
|
||||||
|
{
|
||||||
|
*p = ch;
|
||||||
|
p++;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::basic_string<wxChar32> *base = this;
|
||||||
|
return (wxUString &)base->assign(buffer.data());
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
wxUString &assign( wxChar32 ch )
|
||||||
|
{
|
||||||
|
std::basic_string<wxChar32> *base = this;
|
||||||
|
return (wxUString &) base->assign( (size_type) 1, ch );
|
||||||
|
}
|
||||||
|
|
||||||
|
wxUString &assign( size_type n, wxChar32 ch )
|
||||||
|
{
|
||||||
|
std::basic_string<wxChar32> *base = this;
|
||||||
|
return (wxUString &) base->assign( n, ch );
|
||||||
|
}
|
||||||
|
#endif // __VISUALC6__
|
||||||
|
|
||||||
wxUString &assign( const wxScopedU32CharBuffer &buf )
|
wxUString &assign( const wxScopedU32CharBuffer &buf )
|
||||||
{
|
{
|
||||||
@@ -357,11 +383,29 @@ public:
|
|||||||
return (wxUString &) base->append( s, n );
|
return (wxUString &) base->append( s, n );
|
||||||
}
|
}
|
||||||
|
|
||||||
wxUString &append( size_type n, wxChar32 c )
|
// FIXME-VC6: VC 6.0 stl does not support all types of append functions
|
||||||
{
|
#ifdef __VISUALC6__
|
||||||
std::basic_string<wxChar32> *base = this;
|
wxUString &append( size_type n, wxChar32 c )
|
||||||
return (wxUString &) base->append( n, c );
|
{
|
||||||
}
|
wxU32CharBuffer buffer(n);
|
||||||
|
wxChar32 *p = buffer.data();
|
||||||
|
size_type i;
|
||||||
|
for (i = 0; i < n; i++)
|
||||||
|
{
|
||||||
|
*p = c;
|
||||||
|
p++;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::basic_string<wxChar32> *base = this;
|
||||||
|
return (wxUString &) base->append(buffer.data());
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
wxUString &append( size_type n, wxChar32 c )
|
||||||
|
{
|
||||||
|
std::basic_string<wxChar32> *base = this;
|
||||||
|
return (wxUString &) base->append( n, c );
|
||||||
|
}
|
||||||
|
#endif // __VISUALC6__
|
||||||
|
|
||||||
wxUString &append( wxChar32 c )
|
wxUString &append( wxChar32 c )
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user