aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/tr1/tuple_iterate.h
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/include/tr1/tuple_iterate.h')
-rw-r--r--libstdc++-v3/include/tr1/tuple_iterate.h23
1 files changed, 15 insertions, 8 deletions
diff --git a/libstdc++-v3/include/tr1/tuple_iterate.h b/libstdc++-v3/include/tr1/tuple_iterate.h
index dbfa42b7491..2bf7d3e22d5 100644
--- a/libstdc++-v3/include/tr1/tuple_iterate.h
+++ b/libstdc++-v3/include/tr1/tuple_iterate.h
@@ -53,11 +53,18 @@ template<_GLIBCXX_TEMPLATE_PARAMS>
{ }
#if _GLIBCXX_NUM_ARGS == 2
-template<class _U1, class _U2>
- tuple(const std::pair<_U1, _U2>& __u):
- _M_arg1(__u.first), _M_arg2(__u.second)
- { }
+ template<typename _U1, typename _U2>
+ tuple(const std::pair<_U1, _U2>& __u) :
+ _M_arg1(__u.first), _M_arg2(__u.second)
+ { }
+ template<typename _U1, typename _U2>
+ tuple&
+ operator=(const std::pair<_U1, _U2>& __u)
+ {
+ _M_arg1 = __u.first;
+ _M_arg2 = __u.second;
+ }
#endif
#if _GLIBCXX_NUM_ARGS > 0
@@ -137,14 +144,14 @@ tuple<>
inline make_tuple()
{ return tuple<>(); }
-inline tuple<>
-tie()
+tuple<>
+inline tie()
{ return tuple<>(); }
#else
template<_GLIBCXX_TEMPLATE_PARAMS>
typename __stripped_tuple_type<_GLIBCXX_TEMPLATE_ARGS>::__type
- make_tuple(_GLIBCXX_PARAMS)
+ inline make_tuple(_GLIBCXX_PARAMS)
{
return typename __stripped_tuple_type<_GLIBCXX_TEMPLATE_ARGS>::
__type(_GLIBCXX_ARGS);
@@ -152,7 +159,7 @@ template<_GLIBCXX_TEMPLATE_PARAMS>
template<_GLIBCXX_TEMPLATE_PARAMS>
tuple<_GLIBCXX_REF_TEMPLATE_ARGS>
- tie(_GLIBCXX_REF_PARAMS)
+ inline tie(_GLIBCXX_REF_PARAMS)
{ return make_tuple(_GLIBCXX_REF_WRAP_PARAMS); }
#endif