summaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/debug/multimap.h
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/include/debug/multimap.h')
-rw-r--r--libstdc++-v3/include/debug/multimap.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/libstdc++-v3/include/debug/multimap.h b/libstdc++-v3/include/debug/multimap.h
index 5c45ee6bd5d..c3363b89f47 100644
--- a/libstdc++-v3/include/debug/multimap.h
+++ b/libstdc++-v3/include/debug/multimap.h
@@ -198,6 +198,15 @@ namespace __debug
{ return iterator(_Base::insert(__x), this); }
#ifdef __GXX_EXPERIMENTAL_CXX0X__
+ template<typename _Pair, typename = typename
+ std::enable_if<std::is_convertible<_Pair,
+ value_type>::value>::type>
+ iterator
+ insert(_Pair&& __x)
+ { return iterator(_Base::insert(std::forward<_Pair>(__x)), this); }
+#endif
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
void
insert(std::initializer_list<value_type> __list)
{ _Base::insert(__list); }
@@ -210,6 +219,19 @@ namespace __debug
return iterator(_Base::insert(__position.base(), __x), this);
}
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+ template<typename _Pair, typename = typename
+ std::enable_if<std::is_convertible<_Pair,
+ value_type>::value>::type>
+ iterator
+ insert(const_iterator __position, _Pair&& __x)
+ {
+ __glibcxx_check_insert(__position);
+ return iterator(_Base::insert(__position.base(),
+ std::forward<_Pair>(__x)), this);
+ }
+#endif
+
template<typename _InputIterator>
void
insert(_InputIterator __first, _InputIterator __last)