1 |
742 |
jeremybenn |
// { dg-do compile }
|
2 |
|
|
|
3 |
|
|
// 2007-02-04 Benjamin Kosnik <bkoz@redhat.com>
|
4 |
|
|
//
|
5 |
|
|
// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
|
6 |
|
|
//
|
7 |
|
|
// This file is part of the GNU ISO C++ Library. This library is free
|
8 |
|
|
// software; you can redistribute it and/or modify it under the
|
9 |
|
|
// terms of the GNU General Public License as published by the
|
10 |
|
|
// Free Software Foundation; either version 3, or (at your option)
|
11 |
|
|
// any later version.
|
12 |
|
|
//
|
13 |
|
|
// This library is distributed in the hope that it will be useful,
|
14 |
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15 |
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16 |
|
|
// GNU General Public License for more details.
|
17 |
|
|
//
|
18 |
|
|
// You should have received a copy of the GNU General Public License
|
19 |
|
|
// along with this library; see the file COPYING3. If not see
|
20 |
|
|
// <http://www.gnu.org/licenses/>.
|
21 |
|
|
|
22 |
|
|
#include <tr1/tuple>
|
23 |
|
|
|
24 |
|
|
namespace std {
|
25 |
|
|
namespace tr1 {
|
26 |
|
|
|
27 |
|
|
#if 0
|
28 |
|
|
// [6.1.3] Class template tuple
|
29 |
|
|
template <class T1 = unspecified ,
|
30 |
|
|
class T2 = unspecified ,
|
31 |
|
|
...,
|
32 |
|
|
class TM = unspecified > class tuple;
|
33 |
|
|
|
34 |
|
|
// [6.1.3.2] Tuple creation functions
|
35 |
|
|
const unspecified ignore;
|
36 |
|
|
template<class T1, class T2, ..., class TN>
|
37 |
|
|
tuple<V1, V2, ..., VN> make_tuple(const T1&, const T2& , ..., const TN&);
|
38 |
|
|
|
39 |
|
|
template<class T1, class T2, ..., class TN>
|
40 |
|
|
tuple<T1&, T2&, ..., TN&> tie(T1&, T2& , ..., TN&);
|
41 |
|
|
#endif
|
42 |
|
|
|
43 |
|
|
// [6.1.3.3] Tuple helper classes
|
44 |
|
|
template <class T> class tuple_size;
|
45 |
|
|
template <int I, class T> class tuple_element;
|
46 |
|
|
|
47 |
|
|
#if 0
|
48 |
|
|
// [6.1.3.4] Element access
|
49 |
|
|
template <int I, class T1, class T2, ..., class TN>
|
50 |
|
|
RJ get(tuple<T1, T2, ..., TN>&);
|
51 |
|
|
template <int I, class T1, class T2, ..., class TN>
|
52 |
|
|
PJ get(const tuple<T1, T2, ..., TN>&);
|
53 |
|
|
|
54 |
|
|
// [6.1.3.5] relational operators
|
55 |
|
|
template<class T1, class T2, ..., class TM, class U1, class U2, ..., class UM>
|
56 |
|
|
bool operator==(const tuple<T1, T2, ..., TM>&, const tuple<U1, U2, ..., UM>&);
|
57 |
|
|
template<class T1, class T2, ..., class TM, class U1, class U2, ..., class UM>
|
58 |
|
|
bool operator<(const tuple<T1, T2, ..., TM>&, const tuple<U1, U2, ..., UM>&);
|
59 |
|
|
template<class T1, class T2, ..., class TM, class U1, class U2, ..., class UM>
|
60 |
|
|
bool operator!=(const tuple<T1, T2, ..., TM>&, const tuple<U1, U2, ..., UM>&);
|
61 |
|
|
template<class T1, class T2, ..., class TM, class U1, class U2, ..., class UM>
|
62 |
|
|
bool operator>(const tuple<T1, T2, ..., TM>&, const tuple<U1, U2, ..., UM>&);
|
63 |
|
|
template<class T1, class T2, ..., class TM, class U1, class U2, ..., class UM>
|
64 |
|
|
bool operator<=(const tuple<T1, T2, ..., TM>&, const tuple<U1, U2, ..., UM>&);
|
65 |
|
|
template<class T1, class T2, ..., class TM, class U1, class U2, ..., class UM>
|
66 |
|
|
bool operator>=(const tuple<T1, T2, ..., TM>&, const tuple<U1, U2, ..., UM>&);
|
67 |
|
|
#endif
|
68 |
|
|
|
69 |
|
|
} // namespace tr1
|
70 |
|
|
} // namespace std
|