summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/include/ext
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/include/ext')
-rw-r--r--libstdc++-v3/include/ext/hash_map13
-rw-r--r--libstdc++-v3/include/ext/hash_set21
-rw-r--r--libstdc++-v3/include/ext/slist7
-rw-r--r--libstdc++-v3/include/ext/stl_hashtable.h4
4 files changed, 20 insertions, 25 deletions
diff --git a/libstdc++-v3/include/ext/hash_map b/libstdc++-v3/include/ext/hash_map
index cbaf1d6a07a..ddb32c731a3 100644
--- a/libstdc++-v3/include/ext/hash_map
+++ b/libstdc++-v3/include/ext/hash_map
@@ -32,6 +32,7 @@
#define __SGI_STL_INTERNAL_HASH_MAP_H
#include <ext/stl_hashtable.h>
+#include <bits/concept_check.h>
namespace std
{
@@ -121,8 +122,6 @@ public:
friend bool operator== (const hash_map<_K1, _T1, _HF, _EqK, _Al>&,
const hash_map<_K1, _T1, _HF, _EqK, _Al>&);
-#include <bits/concept_checks.h>
-
iterator begin() { return _M_ht.begin(); }
iterator end() { return _M_ht.end(); }
const_iterator begin() const { return _M_ht.begin(); }
@@ -204,11 +203,11 @@ operator==(const hash_multimap<_Key,_Tp,_HF,_EqKey,_Alloc>& __hm1,
template <class _Key, class _Tp, class _HashFcn, class _EqualKey, class _Alloc>
class hash_multimap
{
- // requirements:
- __STL_CLASS_REQUIRES(_Key, _Assignable);
- __STL_CLASS_REQUIRES(_Tp, _Assignable);
- __STL_CLASS_UNARY_FUNCTION_CHECK(_HashFcn, size_t, _Key);
- __STL_CLASS_BINARY_FUNCTION_CHECK(_EqualKey, bool, _Key, _Key);
+ // concept requirements
+ glibcpp_class_requires(_Key, SGIAssignableConcept);
+ glibcpp_class_requires(_Tp, SGIAssignableConcept);
+ glibcpp_class_requires3(_HashFcn, size_t, _Key, UnaryFunctionConcept);
+ glibcpp_class_requires3(_EqualKey, _Key, _Key, BinaryPredicateConcept);
private:
typedef hashtable<pair<const _Key, _Tp>, _Key, _HashFcn,
diff --git a/libstdc++-v3/include/ext/hash_set b/libstdc++-v3/include/ext/hash_set
index aedf1b5f565..e99a884ba10 100644
--- a/libstdc++-v3/include/ext/hash_set
+++ b/libstdc++-v3/include/ext/hash_set
@@ -32,8 +32,7 @@
#define __SGI_STL_INTERNAL_HASH_SET_H
#include <ext/stl_hashtable.h>
-
-#include <bits/concept_checks.h>
+#include <bits/concept_check.h>
namespace std
{
@@ -54,11 +53,10 @@ operator==(const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs1,
template <class _Value, class _HashFcn, class _EqualKey, class _Alloc>
class hash_set
{
- // requirements:
-
- __STL_CLASS_REQUIRES(_Value, _Assignable);
- __STL_CLASS_UNARY_FUNCTION_CHECK(_HashFcn, size_t, _Value);
- __STL_CLASS_BINARY_FUNCTION_CHECK(_EqualKey, bool, _Value, _Value);
+ // concept requirements
+ glibcpp_class_requires(_Value, SGIAssignableConcept);
+ glibcpp_class_requires3(_HashFcn, size_t, _Value, UnaryFunctionConcept);
+ glibcpp_class_requires3(_EqualKey, _Value, _Value, BinaryPredicateConcept);
private:
typedef hashtable<_Value, _Value, _HashFcn, _Identity<_Value>,
@@ -206,11 +204,10 @@ operator==(const hash_multiset<_Val,_HashFcn,_EqualKey,_Alloc>& __hs1,
template <class _Value, class _HashFcn, class _EqualKey, class _Alloc>
class hash_multiset
{
- // requirements:
-
- __STL_CLASS_REQUIRES(_Value, _Assignable);
- __STL_CLASS_UNARY_FUNCTION_CHECK(_HashFcn, size_t, _Value);
- __STL_CLASS_BINARY_FUNCTION_CHECK(_EqualKey, bool, _Value, _Value);
+ // concept requirements
+ glibcpp_class_requires(_Value, SGIAssignableConcept);
+ glibcpp_class_requires3(_HashFcn, size_t, _Value, UnaryFunctionConcept);
+ glibcpp_class_requires3(_EqualKey, _Value, _Value, BinaryPredicateConcept);
private:
typedef hashtable<_Value, _Value, _HashFcn, _Identity<_Value>,
diff --git a/libstdc++-v3/include/ext/slist b/libstdc++-v3/include/ext/slist
index 3c70c5cc1d5..68cbccc0d24 100644
--- a/libstdc++-v3/include/ext/slist
+++ b/libstdc++-v3/include/ext/slist
@@ -19,7 +19,7 @@
#ifndef __SGI_STL_INTERNAL_SLIST_H
#define __SGI_STL_INTERNAL_SLIST_H
-#include <bits/concept_checks.h>
+#include <bits/concept_check.h>
namespace std
{
@@ -257,9 +257,8 @@ _Slist_base<_Tp,_Alloc>::_M_erase_after(_Slist_node_base* __before_first,
template <class _Tp, class _Alloc = allocator<_Tp> >
class slist : private _Slist_base<_Tp,_Alloc>
{
- // requirements:
-
- __STL_CLASS_REQUIRES(_Tp, _Assignable);
+ // concept requirements
+ glibcpp_class_requires(_Tp, SGIAssignableConcept);
private:
typedef _Slist_base<_Tp,_Alloc> _Base;
diff --git a/libstdc++-v3/include/ext/stl_hashtable.h b/libstdc++-v3/include/ext/stl_hashtable.h
index 1276b9591d9..aa87ba56ee8 100644
--- a/libstdc++-v3/include/ext/stl_hashtable.h
+++ b/libstdc++-v3/include/ext/stl_hashtable.h
@@ -353,13 +353,13 @@ public:
template <class _InputIterator>
void insert_unique(_InputIterator __f, _InputIterator __l)
{
- insert_unique(__f, __l, __ITERATOR_CATEGORY(__f));
+ insert_unique(__f, __l, __iterator_category(__f));
}
template <class _InputIterator>
void insert_equal(_InputIterator __f, _InputIterator __l)
{
- insert_equal(__f, __l, __ITERATOR_CATEGORY(__f));
+ insert_equal(__f, __l, __iterator_category(__f));
}
template <class _InputIterator>
OpenPOWER on IntegriCloud