aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/std/concepts
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/include/std/concepts')
-rw-r--r--libstdc++-v3/include/std/concepts14
1 files changed, 9 insertions, 5 deletions
diff --git a/libstdc++-v3/include/std/concepts b/libstdc++-v3/include/std/concepts
index c4acfd2..e6d405a 100644
--- a/libstdc++-v3/include/std/concepts
+++ b/libstdc++-v3/include/std/concepts
@@ -334,26 +334,30 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// [concepts.callable], callable concepts
- // [concept.invocable], concept invocable
+ /// [concept.invocable], concept invocable
template<typename _Fn, typename... _Args>
concept invocable = is_invocable_v<_Fn, _Args...>;
- // [concept.regularinvocable], concept regular_invocable
+ /// [concept.regularinvocable], concept regular_invocable
template<typename _Fn, typename... _Args>
concept regular_invocable = invocable<_Fn, _Args...>;
- // [concept.predicate], concept predicate
+ /// [concept.predicate], concept predicate
template<typename _Fn, typename... _Args>
concept predicate = regular_invocable<_Fn, _Args...>
&& boolean<invoke_result_t<_Fn, _Args...>>;
- // [concept.relation], concept relation
+ /// [concept.relation], concept relation
template<typename _Rel, typename _Tp, typename _Up>
concept relation
= predicate<_Rel, _Tp, _Tp> && predicate<_Rel, _Up, _Up>
&& predicate<_Rel, _Tp, _Up> && predicate<_Rel, _Up, _Tp>;
- // [concept.strictweakorder], concept strict_weak_order
+ /// [concept.equiv], concept equivalence_relation
+ template<typename _Rel, typename _Tp, typename _Up>
+ concept equivalence_relation = relation<_Rel, _Tp, _Up>;
+
+ /// [concept.strictweakorder], concept strict_weak_order
template<typename _Rel, typename _Tp, typename _Up>
concept strict_weak_order = relation<_Rel, _Tp, _Up>;