\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 5.0.1 - STL Extensions for CGAL
CGAL::Dispatch_or_drop_output_iterator< V, O > Class Template Reference

#include <CGAL/iterator.h>

Inherits from

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

cgalExample{STL_Extension/Dispatch_output_iterator.cpp}

See also
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.
 

Friends And Related Function Documentation

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