[lexical_cast] Why isn't boost::lexical_cast bijective?
Why this works: boost::lexical_cast<std::string>((void *) 42UL) and this throws: boost::lexical_cast<void*>(boost::lexical_cast<std::string>((void*) 42UL)) while converting void* to std::string and vice versa works perfectly using std:: streams?
On 2/18/2014 11:17 AM, Egor Tensin wrote:
Why this works:
boost::lexical_cast<std::string>((void *) 42UL)
and this throws:
boost::lexical_cast<void*>(boost::lexical_cast<std::string>((void*) 42UL))
while converting void* to std::string and vice versa works perfectly using std:: streams?
What is converting a std::string object to a void* supposed to mean?
Perhaps using the integer value as address? On Tue, Feb 18, 2014 at 7:28 PM, John M. Dlugosz <ngnr63q02@sneakemail.com> wrote:
On 2/18/2014 11:17 AM, Egor Tensin wrote:
Why this works:
boost::lexical_cast<std::string>((void *) 42UL)
and this throws:
boost::lexical_cast<void*>(boost::lexical_cast<std::string>((void*) 42UL))
while converting void* to std::string and vice versa works perfectly using std:: streams?
What is converting a std::string object to a void* supposed to mean?
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
I think we use something like that in that case: long(boost::addressof(obj))? 2014-02-18 23:24 GMT+02:00 Paolo Bolzoni <paolo.bolzoni.brown@gmail.com>:
Perhaps using the integer value as address?
On Tue, Feb 18, 2014 at 7:28 PM, John M. Dlugosz <ngnr63q02@sneakemail.com> wrote:
On 2/18/2014 11:17 AM, Egor Tensin wrote:
Why this works:
boost::lexical_cast<std::string>((void *) 42UL)
and this throws:
boost::lexical_cast<void*>(boost::lexical_cast<std::string>((void*)
42UL))
while converting void* to std::string and vice versa works perfectly using std:: streams?
What is converting a std::string object to a void* supposed to mean?
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
2 John: I wanted to convert a hexadecimal address string (like "FFFFF880AABBCCDD") to void*. It works vice versa so why doesn't this work this way? 2 Paolo: I don't know how to specify that the integer is in hexadecimal form then. Thank you all for your replies. On Wed, Feb 19, 2014 at 1:55 AM, Виталя Астапович <gooddocteur@gmail.com> wrote:
I think we use something like that in that case: long(boost::addressof(obj))?
2014-02-18 23:24 GMT+02:00 Paolo Bolzoni <paolo.bolzoni.brown@gmail.com>:
Perhaps using the integer value as address?
On Tue, Feb 18, 2014 at 7:28 PM, John M. Dlugosz <ngnr63q02@sneakemail.com> wrote:
On 2/18/2014 11:17 AM, Egor Tensin wrote:
Why this works:
boost::lexical_cast<std::string>((void *) 42UL)
and this throws:
boost::lexical_cast<void*>(boost::lexical_cast<std::string>((void*) 42UL))
while converting void* to std::string and vice versa works perfectly using std:: streams?
What is converting a std::string object to a void* supposed to mean?
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (4)
-
Egor Tensin
-
John M. Dlugosz
-
Paolo Bolzoni
-
Виталя Астапович