]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/20_util/pointer_traits/requirements/explicit_instantiation.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 20_util / pointer_traits / requirements / explicit_instantiation.cc
CommitLineData
52066eae 1// { dg-do compile { target c++11 } }
45ba8f9f 2
a945c346 3// Copyright (C) 2011-2024 Free Software Foundation, Inc.
45ba8f9f
JW
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
16// You should have received a copy of the GNU General Public License along
17// with this library; see the file COPYING3. If not see
18// <http://www.gnu.org/licenses/>.
19
20// NB: This file is for testing memory with NO OTHER INCLUDES.
21
22#include <memory>
23
4f44c555
JW
24template<typename T>
25struct P1
26{
27 using element_type = T;
28 using difference_type = long;
29 template<typename U> using rebind = P1<U>;
30 static P1 pointer_to(T&) { return {}; }
31};
32
33template<typename T>
34struct P2
35{
36 static P2 pointer_to(T&) { return {}; }
37};
38
45ba8f9f
JW
39namespace std
40{
41 typedef short test_type;
42 template struct pointer_traits<test_type*>;
4f44c555
JW
43 template struct pointer_traits<P1<test_type>>;
44 template struct pointer_traits<P2<test_type>>;
45ba8f9f 45}