CGAL::Dispatch_or_drop_output_iterator<V,O>

Definition

The class Dispatch_or_drop_output_iterator<V,O> 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 simply discarded in this case. It also inherits from O, which makes it easy to treat like a tuple.

Parameters

V must be a CGAL::cpp0x::tuple<...> of the types of values to be accepted and dispatched. O must be a CGAL::cpp0x::tuple<...> of the types of corresponding output iterators.

#include <CGAL/iterator.h>

Is Model for the Concepts

OutputIterator

Inherits From

O

Types

typedef V Value_type_tuple;
typedef O Iterator_tuple;

Creation

Dispatch_or_drop_output_iterator<V,O> i ( I...o);
Constructor taking all the output iterators.

Iterator_tuple i.get_iterator_tuple () returns a reference to the tuple of output iterators.

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

See Also

CGAL::Dispatch_output_iterator<V,O>