1 // Copyright (C) 2019-2025 Free Software Foundation, Inc.
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)
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.
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/>.
21 #include <testsuite_hooks.h>
23 int a
[4] = { 0, 1, 2, 3 };
25 int gen() { return g
; }
32 operator char() const { return val
; }
35 void operator+() const;
36 void operator+(int) const;
37 void operator+(Num
) const;
38 void operator<(int) const;
39 void operator>(int) const;
40 void operator<=(int) const;
41 void operator>=(int) const;
42 void operator==(int) const;
43 void operator!=(int) const;
52 p
= std::generate_n(a
, true, &gen
); // bool as Size
60 p
= std::generate_n(a
, e2
, &gen
); // enumeration type as Size
68 p
= std::generate_n(a
, 3.5, &gen
); // floating point type as Size
77 p
= std::generate_n(a
, n
, &gen
); // non-scalar type as Size