
Jeff Garland wrote:
Thorsten Ottosen wrote:
Hi Jeff,
If simplicity is really the goal, then may I suggest the following:
1. remove the last template parameter (simply derive the types from boost::detail::super_string).
I suppose, but that might scare someone off from doing:
template<class char_type> really_super_string : public super_string<char_type>
which is a perfectly valid way to add in a few more pet algorithms in a consistent fashion.
You can expose boost::basic_string too if you want. But if you really want simplicity and good error messages, you should get rid of the template parameter.
2. rename the type boost::string and boost::wstring (an adjective like super don't sound very good IMO)
That scares me a little. Someone that happens to do a using namespace std; and using namespace boost would wind up with errors. I'm willing to entertain other names, but I'd like to avoid the conflict here.
People should learn to use qualified calls. Anyway, the error would be purely a compile-time error, so what's the problem? -Thorsten