|  | Home | Libraries | People | FAQ | More | 
            The list operator, a % b,
            is a binary operator that matches a list of one or more repetitions of
            a separated by occurrences
            of b. This is equivalent
            to a >>
            *(b
            >> a).
          
// forwards to <boost/spirit/home/qi/operator/list.hpp> #include <boost/spirit/include/qi_list.hpp>
Also, see Include Structure.
Notation
a, b
                  A Parser
                
            Semantics of an expression is defined only where it differs from, or
            is not defined in BinaryParser.
          
| Expression | Semantics | 
|---|---|
| 
                       | 
                      Match a list of one or more repetitions of  | 
| ![[Note]](../../../../images/note.png) | Note | 
|---|---|
| 
              The list operator  | 
See Compound Attribute Notation.
| Expression | Attribute | 
|---|---|
| 
                       | 
 a: A, b: B --> (a % b): vector<A> a: Unused, b: B --> (a % b): Unused 
 | 
The overall complexity of the List is defined by the complexity of its subject,
a, multiplied by the number of repetitions. The complexity of the List itself is O(N), where N is the number successful repetitions.
| ![[Note]](../../../../images/note.png) | Note | 
|---|---|
| The test harness for the example(s) below is presented in the Basics Examples section. | 
Some using declarations:
using boost::spirit::qi::int_;
Parse a comma separated list of numbers and put them in a vector:
std::vector<int> attr; test_phrase_parser_attr( "111, 222, 333, 444, 555", int_ % ',', attr); std::cout << attr[0] << ',' << attr[1] << ',' << attr[2] << ',' << attr[3] << ',' << attr[4] << std::endl;