Boost logo

Boost :

Subject: Re: [boost] Boost.Conversion - pre review request
From: Vicente Botet (vicente.botet_at_[hidden])
Date: 2011-07-09 10:09:41


Gordon Woodhull wrote:
>
> On Jul 9, 2011, at 2:52 AM, Jeroen Habraken wrote:
>> On 9 July 2011 04:10, Gordon Woodhull <gordon_at_[hidden]> wrote:
>>> (Jeroen, if you're reading this, can you convert to/from e.g.
>>> hexadecimal with Coerce?)
>>
>> It isn't possible at the moment but it is to be re-added during the
>> Google Summer of Code. The syntax will probably look something like
>> coerce::as<int>("0x17", tag::hex());
>
> Aha, that's why I asked. Not currently compatible with Boost.Conversion:
> just as there's no way to supply iostream manipulators for Convert-style
> formatting, there's no way to supply tags for Coerce-style.
>
> Vicente, do you have any thoughts on whether extra parameters could be
> added generically?
>
>

Hi,

I don't think that these kind of specific conversions could be added to
simple type-to-type conversions. As I signaled during the Boost.Convert
review I will use instead an auxiliary string stream and output and input
the types we want to convert using as many manipulators as the user wants.

I have added an example here
http://svn.boost.org/svn/boost/sandbox/conversion/libs/conversion_ext/example/formatted.cpp
that shows how I will apply these kind of conversions. As you can see this
example doesn't make use of the Boost.Conversion generic functions when
manipulators are needed. Instead it uses either a template io stream
(extractor_stream) that is able to extract the type given as parameter when
the extract manipulator is used or a io stream ( via_stream) that is able to
extract any type given as parameter of the manipulator extract_to.

As you can see the user can define is not too many lines of code these kind
of io streams.

Best,
Vicente

--
View this message in context: http://boost.2283326.n4.nabble.com/Boost-Conversion-pre-review-request-tp3650286p3656184.html
Sent from the Boost - Dev mailing list archive at Nabble.com.

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk