
On Wed, 19 Jan 2011 08:55:38 -0500, Chad Nelson wrote:
On Wed, 19 Jan 2011 12:10:35 +0000 Alexander Lamaison <awl03@doc.ic.ac.uk> wrote:
On Tue, 18 Jan 2011 20:37:44 -0500, Chad Nelson wrote:
My utf8_t class lets you get the std::string with operator*, so it's easy to use with such encoding-agnostic functions as well.
I meant to mention this: please, no ;) Can we make it .raw() or .str() or something, anything but an operator overload?
operator* has a long history of providing the contents of a variable, even in C, and is a lot less typing to boot. But if you have any technical arguments against it, I'm listening.
operator* in not about providing the contents of a variable, it is about dereferencing something that points to an address, be that a real pointer, a C++ iterator, etc. utf8_t is just a class holding it's internal data as a std::string. In a similar way to std::stringstream which gives access to its internal string via .str() or std::string which serves up a raw char* string via .c_str(). While we're questioning cosmetic details, I'm wondering about the choice of utf8_t vs utf8 or utf8_string. What does the _t signify? I was under the impression that _t meant typedef; for example wchar_t started life as a typedef rather than a primitive data type. Alex -- Easy SFTP for Windows Explorer (http://www.swish-sftp.org)