
| -----Original Message----- | From: boost-bounces@lists.boost.org | [mailto:boost-bounces@lists.boost.org] On Behalf Of Reece Dunn | Sent: 13 September 2004 18:28 | To: boost@lists.boost.org | Subject: RE: [boost] Formal review of "Output Formatters" | library begins today | > "Boost prefers clarity to curtness". | | I have been giving this some thought. What I am looking at at | the moment is | something like: | | std::pair | < | std::pair< int, std::vector< char > >, | std::list< boost::math::quaternion< float > > | > mct; Which leaves me puzzling what on earth mct can be short for ! myVeryContrivedContainerType? Is this a complex demo assemblage? | namespace io = boost::io; | namespace fmt = boost::io::format; using boost::io::format; would allow you to replace fmt with format? Which is much easier to understand, especially for those for whom english is not their first language? Have I commented this correctly (and informatively)? | std::cout << io::object( mct, | fmt::pair | ( | fmt::pair( fmt::basic(), fmt::container()), // basic used for int, container is a vector. | fmt::container( fmt::nary()) // container is list, and n in the nary is 4 for a quaternion. | ) | ); | With io::delimiter holding one of the delimiter values. | io::wrapped_delimiter will replace io::openclose_formatter in holding open/close delimiter pairs why wrappED? io::wrapper? ({} [] ... | and io::sequence_delimiter replaces io::formatter. io::separator? , | ... (Of course, if English spelling made any sense whatever, it would be separater - but it hasn't got to be the premier language by being phonetic, consistent and logical, has it?) Paul PS /rubbing_it_in_mode on some filenames have the spelling mistake too ;-) This may confuse some using search later. /rubbing_it_in_mode off docs boost::io::range has a misspell: If you need to specify a range or sub-range, boost::io::formatob will not ****recongnise**** it unless it is a container. template< typename CharT > struct FormatTraits { static const CharT open_default = implemenation defined; static const CharT close_default = implemenation defined; static const CharT separator_default = implemenation defined; }; _____________________________________________^^^^^^^^^^^^^ misspell. and finally std::cout << boost::io::formatob( vec ).format( "{ ", " }" ); <<<<<<<<<<< isn't this missing a ':' separator??? // output: { 1 : 2 : 3 }