1// { dg-do compile }
2
3// 2007-02-04  Benjamin Kosnik  <bkoz@redhat.com>
4//
5// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
6//
7// This file is part of the GNU ISO C++ Library.  This library is free
8// software; you can redistribute it and/or modify it under the
9// terms of the GNU General Public License as published by the
10// Free Software Foundation; either version 3, or (at your option)
11// any later version.
12//
13// This library is distributed in the hope that it will be useful,
14// but WITHOUT ANY WARRANTY; without even the implied warranty of
15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16// GNU General Public License for more details.
17//
18// You should have received a copy of the GNU General Public License
19// along with this library; see the file COPYING3.  If not see
20// <http://www.gnu.org/licenses/>.
21
22#include <tr1/random>
23
24namespace std {
25namespace tr1 {
26
27  // [5.1.3] Class template variate_generator
28  template<class UniformRandomNumberGenerator, class Distribution>
29  class variate_generator;
30
31  // [5.1.4.1] Class template linear_congruential
32  template<class IntType, IntType a, IntType c, IntType m>
33  class linear_congruential;
34
35  // [5.1.4.2] Class template mersenne_twister
36  template<class UIntType, int w, int n, int m, int r,
37	   UIntType a, int u, int s, UIntType b, int t, UIntType c, int l>
38  class mersenne_twister;
39
40  // [5.1.4.3] Class template subtract_with_carry
41  template<class IntType, IntType m, int s, int r>
42  class subtract_with_carry;
43
44  // [5.1.4.4] Class template subtract_with_carry_01
45  template<class RealType, int w, int s, int r>
46  class subtract_with_carry_01;
47
48  // [5.1.4.5] Class template discard_block
49  template<class UniformRandomNumberGenerator, int p, int r>
50  class discard_block;
51
52  // [5.1.4.6] Class template xor_combine
53  template<class UniformRandomNumberGenerator1, int s1,
54	   class UniformRandomNumberGenerator2, int s2>
55  class xor_combine;
56
57  // [5.1.6] Class random_device
58  class random_device;
59
60  // [5.1.7.1] Class template uniform_int
61  template<class IntType>
62  class uniform_int;
63
64  // [5.1.7.2] Class bernoulli_distribution
65  class bernoulli_distribution;
66
67  // [5.1.7.3] Class template geometric_distribution
68  template<class IntType, class RealType>
69  class geometric_distribution;
70
71  // [5.1.7.4] Class template poisson_distribution
72  template<class IntType, class RealType>
73  class poisson_distribution;
74
75  // [5.1.7.5] Class template binomial_distribution
76  template<class IntType, class RealType>
77  class binomial_distribution;
78
79  // [5.1.7.6] Class template uniform_real
80  template<class RealType>
81  class uniform_real;
82
83  // [5.1.7.7] Class template exponential_distribution
84  template<class RealType>
85  class exponential_distribution;
86
87  // [5.1.7.8] Class template normal_distribution
88  template<class RealType>
89  class normal_distribution;
90
91  // [5.1.7.9] Class template gamma_distribution
92  template<class RealType>
93  class gamma_distribution;
94
95} // namespace tr1
96} // namespace std
97