Boost logo

Boost :

Subject: Re: [boost] [RFC] string inserter/extractor "q u o t i n g"
From: Eric Niebler (eric_at_[hidden])
Date: 2010-06-18 09:32:46


On 6/18/2010 6:38 AM, Stewart, Robert wrote:
> Beman Dawes wrote:
>>
>> To speed the process, I'll just give a progress report rather than
>> respond individually prior messages.
>
> Apparently, by virtue of not mentioning my suggestion in this omnibus
> reply, you rejected my idea of a string algorithm for doing the
> quoting and unquoting which forms the foundation of the insertion and
> extraction manipulators. I still think that is the best approach as
> it doesn't force the use of std::stringstream to get a quoted or
> unquoted string from an existing string while still supporting the
> IOStream insertion and extraction needed by Filesystem.

+1

>> * I like quote and unquote as the names. Source changed.
>
> Given the name change, my suggestion is for "quoted" as the
> manipulator -- for both insertion and extraction -- and "quote" and
> "unquote" for the algorithms.

+1

>> * Since these functions are I/O manipulators, and only work in
>> that context, I've renamed the header "quote_manip.hpp".
>>
>> * Likewise, the library that makes the most sense to add the
>> header too is io. So the include path will be
>> <boost/io/quote_manip.hpp>. IO is a small library, and targets
>> exactly the same area of the standard library.
>
> That's reasonable for the manipulators, but the algorithms on which
> they'd be based, given my suggestion, should be in StringAlgos.

Yes. And once you replace <istream> and <ostream> with <iosfwd> you'll
need to add <ios> for std::noskipws. And, assuming the string algorithms
take an output iterator, you'll need <iterator> too for
std::[io]streambuf_iterator.

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com

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