mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-29 12:07:36 +02:00
flatten/flatten_view/ref
This commit is contained in:
55
doc/view.qbk
55
doc/view.qbk
@ -549,7 +549,6 @@ of the original Fusion __sequence__
|
||||
|
||||
[endsect]
|
||||
|
||||
|
||||
[section repetitive_view]
|
||||
|
||||
[heading Description]
|
||||
@ -615,4 +614,58 @@ printing a `repetitive_view` to `std::cout` is not.
|
||||
|
||||
[endsect]
|
||||
|
||||
[section flatten_view]
|
||||
|
||||
[heading Description]
|
||||
|
||||
`flatten_view` presents a view which iterates over its elements recursively in depth-first order.
|
||||
|
||||
[heading Header]
|
||||
|
||||
#include <boost/fusion/view/flatten_view.hpp>
|
||||
#include <boost/fusion/include/flatten_view.hpp>
|
||||
|
||||
[heading Synopsis]
|
||||
|
||||
template <typename Sequence>
|
||||
struct flatten_view;
|
||||
|
||||
[heading Template parameters]
|
||||
|
||||
[table
|
||||
[[Parameter] [Description] [Default]]
|
||||
[[`Sequence`] [A __forward_sequence__] []]
|
||||
]
|
||||
|
||||
[heading Model of]
|
||||
|
||||
* __forward_sequence__
|
||||
|
||||
[variablelist Notation
|
||||
[[`F`] [A `flatten_view` type]]
|
||||
[[`s`] [An instance of `Sequence`]]
|
||||
[[`f`, `f2`] [Instances of `F`]]
|
||||
]
|
||||
|
||||
[heading Expression Semantics]
|
||||
|
||||
Semantics of an expression is defined only where it differs from, or is not
|
||||
defined in __forward_sequence__.
|
||||
|
||||
[table
|
||||
[[Expression] [Semantics]]
|
||||
[[`F(s)`] [Creates a `flatten_view` given sequence, `s`.]]
|
||||
[[`F(f)`] [Copy constructs a `flatten_view` from another `flatten_view`, `f`.]]
|
||||
[[`f = f2`] [Assigns to a `flatten_view`, `f`, from another `flatten_view`, `f2`.]]
|
||||
]
|
||||
|
||||
[heading Example]
|
||||
typedef __vector__<int, int, __vector__<int, int>, int> sequence_type;
|
||||
sequence_type seq;
|
||||
__flatten_view__<sequence_type> flattened(seq);
|
||||
__copy__(__make_vector__(1, 2, 3, 4, 5), flattened);
|
||||
assert(seq == __make_vector__(1, 2, __make_vector__(3, 4), 5));
|
||||
|
||||
[endsect]
|
||||
|
||||
[endsect]
|
||||
|
Reference in New Issue
Block a user