Previous: The row_block class, Up: Rows and changes



3.9 Other functions in row.h

— Function: template<OutputIterator, ForwardIterator> void interpret_pn (int bells, ForwardIterator start, ForwardIterator finish, OutputIterator out);

This template function is for expanding place notation into changes. The arguments are as follows: bells is the number of bells; start and finish should be forward iterators with value type char, and indicate a string of characters containing the place notation; and out is an output iterator of value type change, to which the changes will be written.

The syntax of the place notation is as follows: place notation consists of a sequence of blocks, which are delimited by commas. Each block is a sequence of changes, with X or - meaning a cross change. Changes other than cross changes are separated by full stops. A block may optionally be preceded by an ampersand &, which means that the entire block, except the last change, is repeated backwards. All other characters are ignored.

For examples of this function in use, look at one of the method constructors in ringing/method.h or in the example code.