...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
auto_
component
in Spirit.Qi and Spirit.Karma,
added API functions qi::
create_parser
and karma::
create_generator
.
auto_
based overloads
for all API functions taking no attributes (see Qi
API and Karma
API).
karma::columns
directive.
karma::symbols<Attr, T>
generator.
traits::push_back_container
now returns
a bool
to report whether
the item has been added to the container.
karma::maxwidth
directive allowing
to specify an additional parameter (any compatible output iterator) receiving
the 'overspilled' output (output not fitting into the maxwidth limit).
basic_istream_iterator<Char, Traits>
usable as an equivalent for std::istream_iterator
except its a ForwardIterator
allowing to
parse directly from any std::basic_istream
.
qi::
matches
directive.
*stream |
"empty"
(which fixes
the Karma example basic_facilities.cpp).
qi::repeat[]
for unused attributes.
karma::repeat[]
.
lex::token_def::what
.
qi::symbols::prefix_find
to allow matching of (prefix-)
substrings.
phoenix::val
),
for integral values this was not necessary. Now all string types can
be passed without being wrapped as well (i.e. std::string
,
char const*
, etc.).
std::forward_iterator_tag
.
qi::match
and qi::phrase_match
set of API functions not to internally utilize a std::stream_iterator
anymore as this iterator is of the type std::input_iterator_tag
only, which is not sufficient for Spirit.Qi.