\( \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.12 - STL Extensions for CGAL
CGAL::cpp11::tuple<... > Class Template Reference

#include <CGAL/tuple.h>


An object of the class cpp11::tuple represents a heterogeneous tuple of elements of the types specified in parameters, which are in variadic number.

There is actually no class in namespace CGAL::cpp11 with this name, but a using declaration which imports a class from another namespace. By order of priority: the one in namespace std is used (provided by C++0x), if not found, then the one in namespace std::tr1 is used (provided by TR1), and finally, the fallback solution is taken from Boost.


The parameters ... are the value types.

Free functions and helper classes

Some free functions part of the standard interface of tuple are also brought in namespace CGAL::cpp11 with using declarations, these are make_tuple, get, tie. Like in C++0x, the get function template is specialized so that it can take std::pair as argument. Two standard helper classes are also provided for convenience (tuple_size and tuple_element).