-
Added
auto_ component in
Spirit.Qi and Spirit.Karma, added
API functions qi::create_parser
and karma::create_generator.
-
Added
auto_ based overloads
for all API functions taking no attributes (see Qi
API and Karma
API).
-
Added
karma::columns directive.
-
Added
karma::symbols
generator.
-
The Spirit.Qi customization point
push_back_container now returns
a bool to report whether the
item has been added to the container.
-
Added an overload for
karma::maxwidth directive allowing to
specify an additional parameter (any compatible output iterator) receiving
the 'overspilled' output (output not fitting into the maxwidth limit).
-
It is now possible to use Phoenix expressions as Spirit.Karma
attributes.
-
Added
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.
-
Added
qi::matches
directive.
-
Fixed karma::alternatives to work with embedded containers of hold_any
(i.e. constructs like
*stream
| "empty"
(which fixes the Karma example basic_facilities.cpp).
-
Fixed numeric Spirit.Karma generators for character
types.
-
Fixed
qi::repeat[]
for unused attributes.
-
Fixed rare compilation problem in
karma::repeat[].
-
Fixed sequences in Spirit.Qi and Spirit.Karma
to compile properly if the attribute is a (STL) container of (STL) containers.
-
Fixed a problem in
lex::token_def::what.
-
Fixed Spirit.Qi symbols not to match substrings anymore.
Added
qi::symbols::prefix_find to allow matching of (prefix-)
substrings.
-
Inherited parameters for rule's usually have to be wrapped in function
objects (i.e.
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.).
-
Added concept checks to all relevant Spirit.Qi API
functions enforcing the iterator to be at least of the type
std::forward_iterator_tag.
-
Fixed the
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.