CGAL 4.12.1 - STL Extensions for CGAL
CGAL::Dispatch_output_iterator< V, O > Class Template Reference

#include <CGAL/iterator.h>

O.

## Definition

The class Dispatch_output_iterator defines an OutputIterator that contains a tuple of output iterators, and dispatches among those based on the type of the value type which is put in it.

Other types are also accepted, and the object is discarded in this case. Besides defining assignment for all parameters of V and for a tuple of type V, it is also defined for the types boost::variant<T...> and boost::optional<boost::variant<T...> >, where T... can be a list of arbitrary types.

It also inherits from O, which makes it easy to treat like a tuple.

Parameters

Template Parameters
 V must be a CGAL::cpp11::tuple<...> of the types of values to be accepted and dispatched. O must be a CGAL::cpp11::tuple<...> of the types of corresponding output iterators.
Is Model Of:
OutputIterator
CGAL::Dispatch_or_drop_output_iterator<V,O>

## Related Functions

(Note that these are not member functions.)

template<typename... V, typename... O>
Dispatch_output_iterator< tuple< V... >, tuple< O... > > dispatch_output (O... o)

## Types

typedef V Value_type_tuple

typedef O Iterator_tuple

## Creation

Dispatch_output_iterator (I...o)
Constructor taking all the output iterators.

const Iterator_tupleget_iterator_tuple () const
returns a reference to the tuple of output iterators.

## ◆ dispatch_output()

template<typename... V, typename... O>
 Dispatch_output_iterator< tuple< V... >, tuple< O... > > dispatch_output ( O... o )
related
Returns
a Dispatch_output_iterator constructed from the arguments.