]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/experimental/memory/observer_ptr/relops/relops.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / experimental / memory / observer_ptr / relops / relops.cc
CommitLineData
52066eae 1// { dg-do run { target c++14 } }
261b7e8a 2
85ec4feb 3// Copyright (C) 2015-2018 Free Software Foundation, Inc.
261b7e8a
VV
4//
5// This file is part of the GNU ISO C++ Library. This library is free
6// software; you can redistribute it and/or modify it under the
7// terms of the GNU General Public License as published by the
8// Free Software Foundation; either version 3, or (at your option)
9// any later version.
10
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15
c7cbb4da 16// You should have received a copy of the GNU General Public License along
261b7e8a
VV
17// with this library; see the file COPYING3. If not see
18// <http://www.gnu.org/licenses/>.
19
20#include <experimental/memory>
21#include <testsuite_hooks.h>
22
23using std::experimental::observer_ptr;
24
25void test01()
26{
27 observer_ptr<int> a, b;
28 VERIFY(a == b);
29}
30
31void test02()
32{
33 int x[2]{};
34 observer_ptr<int> a{&x[0]};
35 observer_ptr<int> b{&x[1]};
36 VERIFY(a != b);
37 VERIFY(a < b);
38 VERIFY(a <= b);
39 VERIFY(b >= a);
40 VERIFY(b > a);
41}
42
43void test03()
44{
45 int x{};
46 observer_ptr<int> a{&x};
47 observer_ptr<int> b{&x};
48 VERIFY(a == b);
49}
50
51void test04()
52{
53 static constexpr int x[2]{};
54 constexpr observer_ptr<const int> a{&x[0]};
55 constexpr observer_ptr<const int> b{&x[1]};
56 VERIFY(a != b);
57 VERIFY(a < b);
58 VERIFY(a <= b);
59 VERIFY(b >= a);
60 VERIFY(b > a);
61}
62
63void test05()
64{
65 static constexpr int x{};
66 constexpr observer_ptr<const int> a{&x};
67 constexpr observer_ptr<const int> b{&x};
68 VERIFY(a == b);
69}
70
71
72int main()
73{
74 test01();
75 test02();
76 test03();
77 test04();
78 test05();
79}