Subject: Re: [boost] Formal Review Request: Boost.String.Convert
From: Stewart, Robert (Robert.Stewart_at_[hidden])
Date: 2009-02-17 15:31:03
On Tuesday, February 17, 2009 3:10 PM
Emil Dotchevski wrote:
> On Tue, Feb 17, 2009 at 11:55 AM, Stewart, Robert
> <Robert.Stewart_at_[hidden]> wrote:
> > The arguments, whether function or template, would specify
> the conversion to apply. For example, to_string<int>(s)
> could also be written as convert<int>(s). (Both can be
> rearranged to take two arguments and return a bool, for
> example, so the point is merely to eliminate directionality
> and "string" from the name.)
> I don't buy this. In general, converting to_string requires formatting
> specifiers, etc. If the semantics of convert() are that it can convert
> anything to anything, it needs a way to configure the conversion, and
> I don't see how all this can be crammed into a single practical
> interface for all types
Valid points. The question is whether other inter-type conversions may require configurability, even if not the same as for strings, such as influencing rounding, truncation, etc. If so, then there may yet be room for a generalized framework. If not, I'm fine with treating conversions to/from strings as special.
> (and even if that's possible, it's outside of
> the scope of this discussion IMO.)
The discussion originated from the desire to improve upon lexical_cast for some particular use cases. I suggested the possibility of widening the scope beyond just string conversions. If there is no agreement to widen the scope, so be it. Don't throw out convert because it exceeds a scope not yet fully established.
> I'd much rather treat to_string and from_string not as synonyms of
> convert(), but as two independent interfaces (meaning, two separate
> HPP files: to_string.hpp and from_string.hpp) each designed for its
> specific task. These two conversions are important enough to justify
> this special attention.
That's not a technical justification. It is preference. I suggested "convert" as an alternative to the to/from/to_string/from_string/whatever discussion. Whether it proves meritorious is another matter.
Rob Stewart robert.stewart_at_[hidden]
Software Engineer, Core Software using std::disclaimer;
Susquehanna International Group, LLP http://www.sig.com
IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk