Boost logo

Boost :

Subject: Re: [boost] [Range] New I/O functions for ranges
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2014-09-29 13:24:24

> -----Original Message-----
> From: Boost [mailto:boost-bounces_at_[hidden]] On Behalf Of Indiana
> Sent: 27 September 2014 22:22
> To: boost_at_[hidden]
> Subject: [boost] [Range] New I/O functions for ranges
> I'm currently putting together a proposal to the standards committee about a
set of
> range I/O functions, but i think they would make a good addition to Boost as
> They would probably fit in the Range library - i don't think they warrant a
library all of
> their own.
> The stuff i wrote for the standards proposal is available at
> - it goes into quite a bit of detail about
> interface, and links to a sample implementation. But here's the executive
> There is a single output function - currently called "write_all" - that takes
a range
> and, optionally, a delimiter, like this:


Though I haven't studied it in detail it is interesting and undoubtedly useful.

It is certainly absurdly difficult to output containers in C++ (and something
that must put lots of people off using it).

I suspect the trouble is that people can't agree on what is needed because there
are so many possible options.

I wonder if you have studied the examples of Steven Watanbe's type erasure

I found this useful, but it didn't cover all the options that I wanted, so I
added a prefix string and a suffix string to the existing delimiter string.

I would urge you to consider this as it increases the possible use-cases covered

In particular, it is seems desirable to be able to output values in the C++
syntax for the compiler to read back in?

For your amusement, I attached some of hoops that I made 'printers' derived
from Steven Watanbe's type erasure abstract sequence printer jump through.

Good luck.


Paul A. Bristow
Prizet Farmhouse
Kendal UK LA8 8AB
+44 (0) 1539 561830

Boost list run by bdawes at, gregod at, cpdaniel at, john at