File tree 1 file changed +35
-1
lines changed
libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons
1 file changed +35
-1
lines changed Original file line number Diff line number Diff line change 21
21
#include < cassert>
22
22
#include < functional>
23
23
24
+ #include " test_comparisons.h"
24
25
#include " test_macros.h"
25
26
26
- constexpr bool test () { return true ; }
27
+ template <typename Order>
28
+ constexpr void test () {
29
+ int integer = 47 ;
30
+
31
+ int bigger = 94 ;
32
+ int smaller = 82 ;
33
+
34
+ // Identical contents
35
+ {
36
+ std::reference_wrapper<int > rw1{integer};
37
+ std::reference_wrapper<int > rw2{integer};
38
+ assert (testOrder (rw1, rw2, Order::equivalent));
39
+ }
40
+ // Less
41
+ {
42
+ std::reference_wrapper<int > rw1{smaller};
43
+ std::reference_wrapper<int > rw2{bigger};
44
+ assert (testOrder (rw1, rw2, Order::less));
45
+ }
46
+ // Greater
47
+ {
48
+ std::reference_wrapper<int > rw1{bigger};
49
+ std::reference_wrapper<int > rw2{smaller};
50
+ assert (testOrder (rw1, rw2, Order::greater));
51
+ }
52
+ }
53
+
54
+ constexpr bool test () {
55
+ test<std::strong_ordering>();
56
+ test<std::weak_ordering>();
57
+ test<std::partial_ordering>();
58
+
59
+ return true ;
60
+ }
27
61
28
62
int main (int , char **) {
29
63
test ();
You can’t perform that action at this time.
0 commit comments