\( \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 4.3 - STL Extensions for CGAL
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
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 CGAL::cpp11::tuple<...> of the types of values to be accepted and dispatched.
Omust be a CGAL::cpp11::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

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.