xref: /netbsd-src/external/gpl3/gdb.old/dist/gdb/unittests/optional/observers/2.cc (revision c9055873d0546e63388f027d3d7f85381cde0545)
1 // Copyright (C) 2013-2023 Free Software Foundation, Inc.
2 //
3 // This file is part of the GNU ISO C++ Library.  This library is free
4 // software; you can redistribute it and/or modify it under the
5 // terms of the GNU General Public License as published by the
6 // Free Software Foundation; either version 3, or (at your option)
7 // any later version.
8 
9 // This library is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 // GNU General Public License for more details.
13 
14 // You should have received a copy of the GNU General Public License along
15 // with this library; see the file COPYING3.  If not see
16 // <http://www.gnu.org/licenses/>.
17 
18 namespace observers_2 {
19 
20 struct value_type
21 {
22   int i;
23 };
24 
25 void* operator&(const value_type&) = delete;
26 
27 static void
28 test ()
29 {
30   gdb::optional<value_type> o { value_type { 51 } };
31   VERIFY( o->i == 51 );
32   VERIFY( o->i == (*o).i );
33   VERIFY( &o->i == &(*o).i );
34 }
35 
36 } // namespace observers_2
37