user-defined types and basic_string

Anthony Feick afeick@hotmail.com
Thu Aug 29 09:25:00 GMT 2002


Thank you for posting the example for an "unsigned short" basic_string.  I 
didn't get a chance to get back to this until yesterday, but had some 
problems with the final example you posted.

I was unable to implicitly create characters from integers :

basic_string<char_type> theString;
theString.append(0x20);
theString.append('o');

No amount of casting was able to fix this, and constructors in character<T> 
will not work because then it isn't Plain Old Data (POD??).  With a 
constructor it can't be used in a union, among other problems.


I ended up not using templates at all, instead just defining char_traits as:

namespace std
{
  struct char_traits<unsigned short>
  {
    typedef unsigned short 	 char_type;
    .
    .
    .

  };
};

Unless you know of an 'elegant' way to go from an int to a character, this 
will have to do.


Thanks,
Tony



_________________________________________________________________
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx



More information about the Libstdc++ mailing list