
On Wed, May 12, 2010 at 6:05 AM, Thorsten Ottosen
Emil Dotchevski skrev:
On Tue, May 11, 2010 at 6:00 AM, Andy Tompkins
wrote: Hmm, I haven't really given it much thought. Since it doesn't need to be a member function, I would lean toward a standalone function. Do any other libraries have a similar function? I would likely create:
template
std::basic_string to_basic_string(boost::uuids::uuid const& u); as well as,
std::string to_string(boost::uuids::uuid const& u); std::wstring to_wstring(boost::uuids::uuid conts& u);
+1, unqualified call to to_string is how Boost Exception converts to string arbitrary objects stored in exception objects. If you use this form and someone adds a UUID to a boost::exception, it'll appear correctly in the output from boost::diagnostic_information.
-1
a to_string() member is IMO much preferred for simplicity and the encapsulation perspective.
A member function is incompatible with built-in types, so the question is how would you convert an int to string?
There seem to be no standard in Boost for this :-(, e.g. filesystem uses ::string(), format uses ::str().
This is another example why a member function is not practical, you can't have all 3rd-party types in the world agree on the name of a member function. However, you can provide a namespace-scope function overload for any type. Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode