CGAL 6.1 - STL Extensions for CGAL
Loading...
Searching...
No Matches
CGAL::Dispatch_output_iterator< V, O > Class Template Reference

#include <CGAL/iterator.h>

Inherits from

O.

Definition

template<typename V, typename O>
class CGAL::Dispatch_output_iterator< V, O >

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 std::variant<T...> and std::optional<std::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
Vmust be a std::tuple<...> of the types of values to be accepted and dispatched.
Omust be a std::tuple<...> of the types of corresponding output iterators.
Is model of
OutputIterator
See also
CGAL::Dispatch_or_drop_output_iterator<V,O>
Examples
STL_Extension/Dispatch_output_iterator.cpp.

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.
 

Friends And Related Function Documentation

◆ 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.