A tuple is a simple comma-separated list of elements inside
parenthesis. For example,
(a, b, c)
...is a tuple of 3 elements--a, b, and
A tuple cannot be empty. The notation '()' as a tuple is
a single element tuple of size 1, where the element is empty.
Tuples are fast and easy to use. With variadic macro
support it is not necessary to know the size of a tuple; without
variadic macro support all access to tuples requires
knowledge of its size. Use a tuple instead of an array if
your compiler supports variadic macros, since a tuple has all of
the functionality as an array and is easier syntactically to use.
The only functionality an array has which a tuple does
not have is that an array can be empty whereas a tuple cannot
Elements of a tuple can be extracted with BOOST_PP_TUPLE_ELEM.