-
- inline wxUString &assign( wxChar32 ch )
- {
- std::basic_string<wxChar32> *base = this;
- return (wxUString &) base->assign( (size_type) 1, ch );
- }
-
- inline wxUString &assign( size_type n, wxChar32 ch )
- {
- std::basic_string<wxChar32> *base = this;
- return (wxUString &) base->assign( n, ch );
- }
-
- wxUString &assign( const wxU32CharBuffer &buf )
+
+ // FIXME-VC6: VC 6.0 stl does not support all types of assign functions
+ #ifdef __VISUALC6__
+ wxUString &assign( wxChar32 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 )
+ {
+ wxU32CharBuffer buffer(n);
+ 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 )