...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
The template assign_to_attribute_from_iterators
is a type used as an attribute customization point. It is invoked by
the those Qi parsers not producing any attribute
value but returning a pair of iterators pointing to the matched input
sequence. It is used to either store the iterator pair into the attribute
instance provided by the user or to convert the iterator pair into an
attribute as provided by the user.
#include <boost/spirit/home/qi/detail/assign_to.hpp>
Also, see Include Structure.
Note | |
---|---|
This header file does not need to be included directly by any user program as it is normally included by other Spirit header files relying on its content. |
Name |
---|
|
template <typename Attrib, typename Iterator, typename Enable> struct assign_to_attribute_from_iterators { static void call(Iterator const& first, Iterator const& last, Attrib& attr); };
Parameter |
Description |
Default |
---|---|---|
|
The type, |
none |
|
The type, |
none |
|
Helper template parameter usable to selectively enable or disable
certain specializations of |
|
Notation
Attrib
A type to be used as the target to store the attribute value in.
attr
An attribute instance of type Attrib
.
Iterator
The iterator type used by the parser. This type usually corresponds to the iterators as passed in by the user.
begin
, end
Iterator instances of type Iterator
pointing to the begin and the end of the matched input sequence.
Expression |
Semantics |
---|---|
assign_to_attribute_from_iterators<Attrib, Iterator>::call(b, e, attr)
|
Use the iterators |
Template Parameters |
Semantics |
---|---|
|
Execute an assignment |
|
Do nothing. |
The customization point assign_to_attribute_from_iterators
needs to be implemented for a specific type whenever the default implementation
as shown above is not applicable. Examples for this could be that the
type Attrib
is not constructible
from the pair of iterators.