Collection parsers provide a (reduced) STL sequence like interface. It depends on the type of collection parser, what kind of sequence is modelled (e.g. random access sequence, forward sequence etc). Most collections will also provide a kind of container wrapper to allow extensive manipulations of the collection contents. A container wrapper is initialized with the collection parser and then provides a more complete sequence interface. Additionally, the collection wrapper has a longer lifetime than an ordinary parser: While a parser will be invalidated whenever the collection is changed, the container wrapper will stay valid as long as the collection is changed through the wrapper (directly or indirectly, where indirectly means that a sub-field or sub-collection of the collection is changed). Some collections may provide even more lifetime guarantees but this guarantee should be met by all collection wrappers.
Classes |
|
struct | senf::ArrayParser< elements, ElementParser > |
Fixed size collection of fixed size elements. More... |
|
class | senf::ListParser< ListPolicy > |
Arbitrary sequential element collection. More... |
|
class | senf::VariantParser< AuxPolicy, Parsers > |
Variant parser. More... |
|
struct | senf::VectorParser< ElementParser, AuxPolicy > |
Collection of fixed-size elements. More... |