stdcxx-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Stdcxx Wiki] Update of "Cpp0x" by EricLemings
Date Fri, 06 Jun 2008 18:28:29 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Stdcxx Wiki" for change notification.

The following page has been changed by EricLemings:
http://wiki.apache.org/stdcxx/Cpp0x

The comment on the change is:
Added a few quick notes on tuples.

------------------------------------------------------------------------------
  Note, this is not a complete list of C++0x features: these are only the components that
fall within the scope of this development plan.  Also, the last two components -- atomic operations
and multithread support -- are not planned until the 5.0 release timeframe.
  
  
+ = Tuples =
+ 
+ Tuples are basically the same thing as {{{std::pair}}} except that tuples have a variable
number of type parameters (or an implementation-defined number of parameters with default
types) .  The class template and associated {{{std}}} namespace members are sufficiently simple
enough so that two implementations -- one for compilers that support variadic templates and
another for all other compilers that don't -- can be written at the same time.
+ 
+ A couple of things to take into consideration however.  Tuples can have no type parameters;
e.g., {{{std::tuple<>}}} is a valid type.  Consequently, this particular tuple type
should have no constructors that accept (or other members that operate on) any values (other
than the value of the tuple itself).
+ 
+ Tuples with exactly two type parameters have conditional constructors and operators for
conversions from values of the {{{std::pair}}} class template.  This means the class template
needs to be specialized when instantiated with exactly two types to define the additional
members.
+ 
+ 
  = Online Resources =
  
   * [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf ISO/IEC TR 19768:
C++ Library Extensions TR1].  The original draft specification.  (Now obsolete since modifications
have been made in the latest C++ draft standard.)

Mime
View raw message