To turn back to my problem =) , Here's my method:
string GeneratorUtils::getRandomID(){
random_generator gen;
uuid u = gen();
//string str = boost::lexical_cast<string>(u);
string str = boost::lexical_cast<char*>(u);
return str;
}
And here's my test code:
int main(){
cout << "SAYGIN" << endl;
GeneratorUtils gen;
cout << gen.getRandomID() << endl;
return 0;
}
And here's the output:
$ ~/DAIM_MPI_Correlation/utils$ g++ -c GeneratorUtils.cpp
$ g++ -o test GeneratorUtils.cpp
$ ./test
SAYGIN
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::bad_lexical_cast> >'
what(): bad lexical cast: source type value could not be interpreted as target
Aborted
Do you have any idea?
Emil Dotchevski skrev:-1
On Tue, May 11, 2010 at 6:00 AM, Andy Tompkins <atompkins@fastmail.fm> 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 <typename C, typename T, typename A>
std::basic_string<C, T, A> 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.
a to_string() member is IMO much preferred for simplicity and the encapsulation perspective. Just like std::bitset<N>::to_string().
There seem to be no standard in Boost for this :-(, e.g. filesystem uses
::string(), format uses ::str().
-Thorsten
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users