]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constexpr_data.cc
* ChangeLog: Fix last commit entry.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 26_numerics / random / shuffle_order_engine / requirements / constexpr_data.cc
CommitLineData
d466a7e2 1// { dg-do compile }
94a86be0 2// { dg-options "-std=gnu++0x" }
d466a7e2 3
94a86be0 4// Copyright (C) 2010 Free Software Foundation, Inc.
d466a7e2
BK
5//
6// This file is part of the GNU ISO C++ Library. This library is free
7// software; you can redistribute it and/or modify it under the
8// terms of the GNU General Public License as published by the
748086b7 9// Free Software Foundation; either version 3, or (at your option)
d466a7e2
BK
10// any later version.
11
12// This library is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15// GNU General Public License for more details.
16
17// You should have received a copy of the GNU General Public License along
748086b7
JJ
18// with this library; see the file COPYING3. If not see
19// <http://www.gnu.org/licenses/>.
d466a7e2 20
94a86be0
BK
21#include <random>
22#include <testsuite_common_types.h>
d466a7e2 23
94a86be0 24namespace __gnu_test
d466a7e2 25{
94a86be0
BK
26 struct constexpr_member_data
27 {
28 template<typename _Ttesttype>
29 void
30 operator()()
31 {
32 struct _Concept
33 {
34 void __constraint()
35 {
36 constexpr auto v1(_Ttesttype::table_size);
37 }
38 };
d466a7e2 39
94a86be0
BK
40 _Concept c;
41 c.__constraint();
42 }
43 };
44}
d466a7e2 45
94a86be0
BK
46int main()
47{
48 __gnu_test::constexpr_member_data test;
49 typedef std::shuffle_order_engine
50 <
51 std::linear_congruential_engine
52 <
53 uint_fast32_t,16807UL, 0UL, 2147483647UL
54 >,
55 256
56 > type;
57 test.operator()<type>();
d466a7e2
BK
58 return 0;
59}