===================================================================
@@ -412,10 +412,24 @@
find(const key_type& __x)
{ return iterator(_Base::find(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ iterator
+ find(const _Kt& __x)
+ { return iterator(_Base::find(__x), this); }
+#endif
+
const_iterator
find(const key_type& __x) const
{ return const_iterator(_Base::find(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ const_iterator
+ find(const _Kt& __x) const
+ { return const_iterator(_Base::find(__x), this); }
+#endif
+
using _Base::count;
iterator
@@ -422,18 +436,46 @@
lower_bound(const key_type& __x)
{ return iterator(_Base::lower_bound(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ iterator
+ lower_bound(const _Kt& __x)
+ { return iterator(_Base::lower_bound(__x), this); }
+#endif
+
const_iterator
lower_bound(const key_type& __x) const
{ return const_iterator(_Base::lower_bound(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ const_iterator
+ lower_bound(const _Kt& __x) const
+ { return const_iterator(_Base::lower_bound(__x), this); }
+#endif
+
iterator
upper_bound(const key_type& __x)
{ return iterator(_Base::upper_bound(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ iterator
+ upper_bound(const _Kt& __x)
+ { return iterator(_Base::upper_bound(__x), this); }
+#endif
+
const_iterator
upper_bound(const key_type& __x) const
{ return const_iterator(_Base::upper_bound(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ const_iterator
+ upper_bound(const _Kt& __x) const
+ { return const_iterator(_Base::upper_bound(__x), this); }
+#endif
+
std::pair<iterator,iterator>
equal_range(const key_type& __x)
{
@@ -443,6 +485,18 @@
iterator(__res.second, this));
}
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ std::pair<iterator, iterator>
+ equal_range(const _Kt& __x)
+ {
+ std::pair<_Base_iterator, _Base_iterator> __res =
+ _Base::equal_range(__x);
+ return std::make_pair(iterator(__res.first, this),
+ iterator(__res.second, this));
+ }
+#endif
+
std::pair<const_iterator,const_iterator>
equal_range(const key_type& __x) const
{
@@ -452,6 +506,18 @@
const_iterator(__res.second, this));
}
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ std::pair<const_iterator, const_iterator>
+ equal_range(const _Kt& __x) const
+ {
+ std::pair<_Base_const_iterator, _Base_const_iterator> __res =
+ _Base::equal_range(__x);
+ return std::make_pair(const_iterator(__res.first, this),
+ const_iterator(__res.second, this));
+ }
+#endif
+
_Base&
_M_base() _GLIBCXX_NOEXCEPT { return *this; }
===================================================================
@@ -393,10 +393,24 @@
find(const key_type& __x)
{ return iterator(_Base::find(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ iterator
+ find(const _Kt& __x)
+ { return iterator(_Base::find(__x), this); }
+#endif
+
const_iterator
find(const key_type& __x) const
{ return const_iterator(_Base::find(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ const_iterator
+ find(const _Kt& __x) const
+ { return const_iterator(_Base::find(__x), this); }
+#endif
+
using _Base::count;
iterator
@@ -403,18 +417,46 @@
lower_bound(const key_type& __x)
{ return iterator(_Base::lower_bound(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ iterator
+ lower_bound(const _Kt& __x)
+ { return iterator(_Base::lower_bound(__x), this); }
+#endif
+
const_iterator
lower_bound(const key_type& __x) const
{ return const_iterator(_Base::lower_bound(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ const_iterator
+ lower_bound(const _Kt& __x) const
+ { return const_iterator(_Base::lower_bound(__x), this); }
+#endif
+
iterator
upper_bound(const key_type& __x)
{ return iterator(_Base::upper_bound(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ iterator
+ upper_bound(const _Kt& __x)
+ { return iterator(_Base::upper_bound(__x), this); }
+#endif
+
const_iterator
upper_bound(const key_type& __x) const
{ return const_iterator(_Base::upper_bound(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ const_iterator
+ upper_bound(const _Kt& __x) const
+ { return const_iterator(_Base::upper_bound(__x), this); }
+#endif
+
std::pair<iterator,iterator>
equal_range(const key_type& __x)
{
@@ -424,6 +466,18 @@
iterator(__res.second, this));
}
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ std::pair<iterator, iterator>
+ equal_range(const _Kt& __x)
+ {
+ std::pair<_Base_iterator, _Base_iterator> __res =
+ _Base::equal_range(__x);
+ return std::make_pair(iterator(__res.first, this),
+ iterator(__res.second, this));
+ }
+#endif
+
std::pair<const_iterator,const_iterator>
equal_range(const key_type& __x) const
{
@@ -433,6 +487,18 @@
const_iterator(__res.second, this));
}
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ std::pair<const_iterator, const_iterator>
+ equal_range(const _Kt& __x) const
+ {
+ std::pair<_Base_const_iterator, _Base_const_iterator> __res =
+ _Base::equal_range(__x);
+ return std::make_pair(const_iterator(__res.first, this),
+ const_iterator(__res.second, this));
+ }
+#endif
+
_Base&
_M_base() _GLIBCXX_NOEXCEPT { return *this; }
===================================================================
@@ -393,6 +393,18 @@
find(const key_type& __x) const
{ return const_iterator(_Base::find(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ iterator
+ find(const _Kt& __x)
+ { return iterator(_Base::find(__x), this); }
+
+ template<typename _Kt>
+ const_iterator
+ find(const _Kt& __x) const
+ { return const_iterator(_Base::find(__x), this); }
+#endif
+
using _Base::count;
iterator
@@ -405,6 +417,18 @@
lower_bound(const key_type& __x) const
{ return const_iterator(_Base::lower_bound(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ iterator
+ lower_bound(const _Kt& __x)
+ { return iterator(_Base::lower_bound(__x), this); }
+
+ template<typename _Kt>
+ const_iterator
+ lower_bound(const _Kt& __x) const
+ { return const_iterator(_Base::lower_bound(__x), this); }
+#endif
+
iterator
upper_bound(const key_type& __x)
{ return iterator(_Base::upper_bound(__x), this); }
@@ -415,6 +439,18 @@
upper_bound(const key_type& __x) const
{ return const_iterator(_Base::upper_bound(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ iterator
+ upper_bound(const _Kt& __x)
+ { return iterator(_Base::upper_bound(__x), this); }
+
+ template<typename _Kt>
+ const_iterator
+ upper_bound(const _Kt& __x) const
+ { return const_iterator(_Base::upper_bound(__x), this); }
+#endif
+
std::pair<iterator,iterator>
equal_range(const key_type& __x)
{
@@ -429,12 +465,34 @@
std::pair<const_iterator,const_iterator>
equal_range(const key_type& __x) const
{
- std::pair<_Base_iterator, _Base_iterator> __res =
+ std::pair<_Base_const_iterator, _Base_const_iterator> __res =
_Base::equal_range(__x);
return std::make_pair(const_iterator(__res.first, this),
const_iterator(__res.second, this));
}
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ std::pair<iterator, iterator>
+ equal_range(const _Kt& __x)
+ {
+ std::pair<_Base_iterator, _Base_iterator> __res =
+ _Base::equal_range(__x);
+ return std::make_pair(iterator(__res.first, this),
+ iterator(__res.second, this));
+ }
+
+ template<typename _Kt>
+ std::pair<const_iterator, const_iterator>
+ equal_range(const _Kt& __x) const
+ {
+ std::pair<_Base_const_iterator, _Base_const_iterator> __res =
+ _Base::equal_range(__x);
+ return std::make_pair(const_iterator(__res.first, this),
+ const_iterator(__res.second, this));
+ }
+#endif
+
_Base&
_M_base() _GLIBCXX_NOEXCEPT { return *this; }
===================================================================
@@ -386,6 +386,18 @@
find(const key_type& __x) const
{ return const_iterator(_Base::find(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ iterator
+ find(const _Kt& __x)
+ { return iterator(_Base::find(__x), this); }
+
+ template<typename _Kt>
+ const_iterator
+ find(const _Kt& __x) const
+ { return const_iterator(_Base::find(__x), this); }
+#endif
+
using _Base::count;
iterator
@@ -398,6 +410,18 @@
lower_bound(const key_type& __x) const
{ return const_iterator(_Base::lower_bound(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ iterator
+ lower_bound(const _Kt& __x)
+ { return iterator(_Base::lower_bound(__x), this); }
+
+ template<typename _Kt>
+ const_iterator
+ lower_bound(const _Kt& __x) const
+ { return const_iterator(_Base::lower_bound(__x), this); }
+#endif
+
iterator
upper_bound(const key_type& __x)
{ return iterator(_Base::upper_bound(__x), this); }
@@ -408,6 +432,18 @@
upper_bound(const key_type& __x) const
{ return const_iterator(_Base::upper_bound(__x), this); }
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ iterator
+ upper_bound(const _Kt& __x)
+ { return iterator(_Base::upper_bound(__x), this); }
+
+ template<typename _Kt>
+ const_iterator
+ upper_bound(const _Kt& __x) const
+ { return const_iterator(_Base::upper_bound(__x), this); }
+#endif
+
std::pair<iterator,iterator>
equal_range(const key_type& __x)
{
@@ -428,6 +464,28 @@
const_iterator(__res.second, this));
}
+#if __cplusplus > 201103L
+ template<typename _Kt>
+ std::pair<iterator, iterator>
+ equal_range(const _Kt& __x)
+ {
+ std::pair<_Base_iterator, _Base_iterator> __res =
+ _Base::equal_range(__x);
+ return std::make_pair(iterator(__res.first, this),
+ iterator(__res.second, this));
+ }
+
+ template<typename _Kt>
+ std::pair<const_iterator, const_iterator>
+ equal_range(const _Kt& __x) const
+ {
+ std::pair<_Base_const_iterator, _Base_const_iterator> __res =
+ _Base::equal_range(__x);
+ return std::make_pair(const_iterator(__res.first, this),
+ const_iterator(__res.second, this));
+ }
+#endif
+
_Base&
_M_base() _GLIBCXX_NOEXCEPT { return *this; }