CGAL 5.4 - STL Extensions for CGAL
CGAL::Dispatch_or_drop_output_iterator< V, O > Class Template Reference

#include <CGAL/iterator.h>

O.

## Definition

The class Dispatch_or_drop_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.

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... must be a subset of the parameters of V. Should the boost::optional be empty, it will be discarded.

Parameters

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

cgalExample{STL_Extension/Dispatch_output_iterator.cpp}

CGAL::Dispatch_output_iterator<V,O>

## Related Functions

(Note that these are not member functions.)

template<typename... V, typename... O>
Dispatch_or_drop_output_iterator< tuple< V... >, tuple< O... > > dispatch_or_drop_output (O... o)

## Types

typedef V Value_type_tuple

typedef O Iterator_tuple

## Creation

Dispatch_or_drop_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_or_drop_output()

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