1b6d73126SMarshall Clow //===----------------------------------------------------------------------===//
2b6d73126SMarshall Clow //
357b08b09SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
457b08b09SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
557b08b09SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6b6d73126SMarshall Clow //
7b6d73126SMarshall Clow //===----------------------------------------------------------------------===//
8b6d73126SMarshall Clow
9b6d73126SMarshall Clow // <string>
10b6d73126SMarshall Clow
11b6d73126SMarshall Clow // basic_string<charT,traits,Allocator>&
12*425620ccSNikolas Klauser // insert(size_type pos, string_view sv); // constexpr since C++20
13b6d73126SMarshall Clow
14b6d73126SMarshall Clow #include <string>
15b6d73126SMarshall Clow #include <stdexcept>
16b6d73126SMarshall Clow #include <cassert>
17b6d73126SMarshall Clow
18b6d73126SMarshall Clow #include "test_macros.h"
19b6d73126SMarshall Clow #include "min_allocator.h"
20b6d73126SMarshall Clow
21b6d73126SMarshall Clow template <class S, class SV>
22dcffa7d3SNikolas Klauser TEST_CONSTEXPR_CXX20 void
test(S s,typename S::size_type pos,SV sv,S expected)23b6d73126SMarshall Clow test(S s, typename S::size_type pos, SV sv, S expected)
24b6d73126SMarshall Clow {
25b6d73126SMarshall Clow const typename S::size_type old_size = s.size();
26b6d73126SMarshall Clow S s0 = s;
27b6d73126SMarshall Clow if (pos <= old_size)
28b6d73126SMarshall Clow {
29b6d73126SMarshall Clow s.insert(pos, sv);
30b6d73126SMarshall Clow LIBCPP_ASSERT(s.__invariants());
31b6d73126SMarshall Clow assert(s == expected);
32b6d73126SMarshall Clow }
33b6d73126SMarshall Clow #ifndef TEST_HAS_NO_EXCEPTIONS
34*425620ccSNikolas Klauser else if (!TEST_IS_CONSTANT_EVALUATED)
35b6d73126SMarshall Clow {
36b6d73126SMarshall Clow try
37b6d73126SMarshall Clow {
38b6d73126SMarshall Clow s.insert(pos, sv);
39b6d73126SMarshall Clow assert(false);
40b6d73126SMarshall Clow }
41b6d73126SMarshall Clow catch (std::out_of_range&)
42b6d73126SMarshall Clow {
43b6d73126SMarshall Clow assert(pos > old_size);
44b6d73126SMarshall Clow assert(s == s0);
45b6d73126SMarshall Clow }
46b6d73126SMarshall Clow }
47b6d73126SMarshall Clow #endif
48b6d73126SMarshall Clow }
49b6d73126SMarshall Clow
test()50*425620ccSNikolas Klauser TEST_CONSTEXPR_CXX20 bool test() {
51b6d73126SMarshall Clow {
52b6d73126SMarshall Clow typedef std::string S;
53b6d73126SMarshall Clow typedef std::string_view SV;
54b6d73126SMarshall Clow test(S(""), 0, SV(""), S(""));
55b6d73126SMarshall Clow test(S(""), 0, SV("12345"), S("12345"));
56b6d73126SMarshall Clow test(S(""), 0, SV("1234567890"), S("1234567890"));
57b6d73126SMarshall Clow test(S(""), 0, SV("12345678901234567890"), S("12345678901234567890"));
58b6d73126SMarshall Clow test(S(""), 1, SV(""), S("can't happen"));
59b6d73126SMarshall Clow test(S(""), 1, SV("12345"), S("can't happen"));
60b6d73126SMarshall Clow test(S(""), 1, SV("1234567890"), S("can't happen"));
61b6d73126SMarshall Clow test(S(""), 1, SV("12345678901234567890"), S("can't happen"));
62b6d73126SMarshall Clow test(S("abcde"), 0, SV(""), S("abcde"));
63b6d73126SMarshall Clow test(S("abcde"), 0, SV("12345"), S("12345abcde"));
64b6d73126SMarshall Clow test(S("abcde"), 0, SV("1234567890"), S("1234567890abcde"));
65b6d73126SMarshall Clow test(S("abcde"), 0, SV("12345678901234567890"), S("12345678901234567890abcde"));
66b6d73126SMarshall Clow test(S("abcde"), 1, SV(""), S("abcde"));
67b6d73126SMarshall Clow test(S("abcde"), 1, SV("12345"), S("a12345bcde"));
68b6d73126SMarshall Clow test(S("abcde"), 1, SV("1234567890"), S("a1234567890bcde"));
69b6d73126SMarshall Clow test(S("abcde"), 1, SV("12345678901234567890"), S("a12345678901234567890bcde"));
70b6d73126SMarshall Clow test(S("abcde"), 2, SV(""), S("abcde"));
71b6d73126SMarshall Clow test(S("abcde"), 2, SV("12345"), S("ab12345cde"));
72b6d73126SMarshall Clow test(S("abcde"), 2, SV("1234567890"), S("ab1234567890cde"));
73b6d73126SMarshall Clow test(S("abcde"), 2, SV("12345678901234567890"), S("ab12345678901234567890cde"));
74b6d73126SMarshall Clow test(S("abcde"), 4, SV(""), S("abcde"));
75b6d73126SMarshall Clow test(S("abcde"), 4, SV("12345"), S("abcd12345e"));
76b6d73126SMarshall Clow test(S("abcde"), 4, SV("1234567890"), S("abcd1234567890e"));
77b6d73126SMarshall Clow test(S("abcde"), 4, SV("12345678901234567890"), S("abcd12345678901234567890e"));
78b6d73126SMarshall Clow test(S("abcde"), 5, SV(""), S("abcde"));
79b6d73126SMarshall Clow test(S("abcde"), 5, SV("12345"), S("abcde12345"));
80b6d73126SMarshall Clow test(S("abcde"), 5, SV("1234567890"), S("abcde1234567890"));
81b6d73126SMarshall Clow test(S("abcde"), 5, SV("12345678901234567890"), S("abcde12345678901234567890"));
82b6d73126SMarshall Clow test(S("abcde"), 6, SV(""), S("can't happen"));
83b6d73126SMarshall Clow test(S("abcde"), 6, SV("12345"), S("can't happen"));
84b6d73126SMarshall Clow test(S("abcde"), 6, SV("1234567890"), S("can't happen"));
85b6d73126SMarshall Clow test(S("abcde"), 6, SV("12345678901234567890"), S("can't happen"));
86b6d73126SMarshall Clow test(S("abcdefghij"), 0, SV(""), S("abcdefghij"));
87b6d73126SMarshall Clow test(S("abcdefghij"), 0, SV("12345"), S("12345abcdefghij"));
88b6d73126SMarshall Clow test(S("abcdefghij"), 0, SV("1234567890"), S("1234567890abcdefghij"));
89b6d73126SMarshall Clow test(S("abcdefghij"), 0, SV("12345678901234567890"), S("12345678901234567890abcdefghij"));
90b6d73126SMarshall Clow test(S("abcdefghij"), 1, SV(""), S("abcdefghij"));
91b6d73126SMarshall Clow test(S("abcdefghij"), 1, SV("12345"), S("a12345bcdefghij"));
92b6d73126SMarshall Clow test(S("abcdefghij"), 1, SV("1234567890"), S("a1234567890bcdefghij"));
93b6d73126SMarshall Clow test(S("abcdefghij"), 1, SV("12345678901234567890"), S("a12345678901234567890bcdefghij"));
94b6d73126SMarshall Clow test(S("abcdefghij"), 5, SV(""), S("abcdefghij"));
95b6d73126SMarshall Clow test(S("abcdefghij"), 5, SV("12345"), S("abcde12345fghij"));
96b6d73126SMarshall Clow test(S("abcdefghij"), 5, SV("1234567890"), S("abcde1234567890fghij"));
97b6d73126SMarshall Clow test(S("abcdefghij"), 5, SV("12345678901234567890"), S("abcde12345678901234567890fghij"));
98b6d73126SMarshall Clow test(S("abcdefghij"), 9, SV(""), S("abcdefghij"));
99b6d73126SMarshall Clow test(S("abcdefghij"), 9, SV("12345"), S("abcdefghi12345j"));
100b6d73126SMarshall Clow test(S("abcdefghij"), 9, SV("1234567890"), S("abcdefghi1234567890j"));
101b6d73126SMarshall Clow test(S("abcdefghij"), 9, SV("12345678901234567890"), S("abcdefghi12345678901234567890j"));
102b6d73126SMarshall Clow test(S("abcdefghij"), 10, SV(""), S("abcdefghij"));
103b6d73126SMarshall Clow test(S("abcdefghij"), 10, SV("12345"), S("abcdefghij12345"));
104b6d73126SMarshall Clow test(S("abcdefghij"), 10, SV("1234567890"), S("abcdefghij1234567890"));
105b6d73126SMarshall Clow test(S("abcdefghij"), 10, SV("12345678901234567890"), S("abcdefghij12345678901234567890"));
106b6d73126SMarshall Clow test(S("abcdefghij"), 11, SV(""), S("can't happen"));
107b6d73126SMarshall Clow test(S("abcdefghij"), 11, SV("12345"), S("can't happen"));
108b6d73126SMarshall Clow test(S("abcdefghij"), 11, SV("1234567890"), S("can't happen"));
109b6d73126SMarshall Clow test(S("abcdefghij"), 11, SV("12345678901234567890"), S("can't happen"));
110b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 0, SV(""), S("abcdefghijklmnopqrst"));
111b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 0, SV("12345"), S("12345abcdefghijklmnopqrst"));
112b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 0, SV("1234567890"), S("1234567890abcdefghijklmnopqrst"));
113b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 0, SV("12345678901234567890"), S("12345678901234567890abcdefghijklmnopqrst"));
114b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 1, SV(""), S("abcdefghijklmnopqrst"));
115b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 1, SV("12345"), S("a12345bcdefghijklmnopqrst"));
116b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 1, SV("1234567890"), S("a1234567890bcdefghijklmnopqrst"));
117b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 1, SV("12345678901234567890"), S("a12345678901234567890bcdefghijklmnopqrst"));
118b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 10, SV(""), S("abcdefghijklmnopqrst"));
119b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 10, SV("12345"), S("abcdefghij12345klmnopqrst"));
120b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 10, SV("1234567890"), S("abcdefghij1234567890klmnopqrst"));
121b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 10, SV("12345678901234567890"), S("abcdefghij12345678901234567890klmnopqrst"));
122b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 19, SV(""), S("abcdefghijklmnopqrst"));
123b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 19, SV("12345"), S("abcdefghijklmnopqrs12345t"));
124b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 19, SV("1234567890"), S("abcdefghijklmnopqrs1234567890t"));
125b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 19, SV("12345678901234567890"), S("abcdefghijklmnopqrs12345678901234567890t"));
126b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 20, SV(""), S("abcdefghijklmnopqrst"));
127b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 20, SV("12345"), S("abcdefghijklmnopqrst12345"));
128b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 20, SV("1234567890"), S("abcdefghijklmnopqrst1234567890"));
129b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 20, SV("12345678901234567890"), S("abcdefghijklmnopqrst12345678901234567890"));
130b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 21, SV(""), S("can't happen"));
131b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 21, SV("12345"), S("can't happen"));
132b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 21, SV("1234567890"), S("can't happen"));
133b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 21, SV("12345678901234567890"), S("can't happen"));
134b6d73126SMarshall Clow }
135b6d73126SMarshall Clow #if TEST_STD_VER >= 11
136b6d73126SMarshall Clow {
137b6d73126SMarshall Clow typedef std::basic_string<char, std::char_traits<char>, min_allocator<char>> S;
138b6d73126SMarshall Clow typedef std::string_view SV;
139b6d73126SMarshall Clow test(S(""), 0, SV(""), S(""));
140b6d73126SMarshall Clow test(S(""), 0, SV("12345"), S("12345"));
141b6d73126SMarshall Clow test(S(""), 0, SV("1234567890"), S("1234567890"));
142b6d73126SMarshall Clow test(S(""), 0, SV("12345678901234567890"), S("12345678901234567890"));
143b6d73126SMarshall Clow test(S(""), 1, SV(""), S("can't happen"));
144b6d73126SMarshall Clow test(S(""), 1, SV("12345"), S("can't happen"));
145b6d73126SMarshall Clow test(S(""), 1, SV("1234567890"), S("can't happen"));
146b6d73126SMarshall Clow test(S(""), 1, SV("12345678901234567890"), S("can't happen"));
147b6d73126SMarshall Clow test(S("abcde"), 0, SV(""), S("abcde"));
148b6d73126SMarshall Clow test(S("abcde"), 0, SV("12345"), S("12345abcde"));
149b6d73126SMarshall Clow test(S("abcde"), 0, SV("1234567890"), S("1234567890abcde"));
150b6d73126SMarshall Clow test(S("abcde"), 0, SV("12345678901234567890"), S("12345678901234567890abcde"));
151b6d73126SMarshall Clow test(S("abcde"), 1, SV(""), S("abcde"));
152b6d73126SMarshall Clow test(S("abcde"), 1, SV("12345"), S("a12345bcde"));
153b6d73126SMarshall Clow test(S("abcde"), 1, SV("1234567890"), S("a1234567890bcde"));
154b6d73126SMarshall Clow test(S("abcde"), 1, SV("12345678901234567890"), S("a12345678901234567890bcde"));
155b6d73126SMarshall Clow test(S("abcde"), 2, SV(""), S("abcde"));
156b6d73126SMarshall Clow test(S("abcde"), 2, SV("12345"), S("ab12345cde"));
157b6d73126SMarshall Clow test(S("abcde"), 2, SV("1234567890"), S("ab1234567890cde"));
158b6d73126SMarshall Clow test(S("abcde"), 2, SV("12345678901234567890"), S("ab12345678901234567890cde"));
159b6d73126SMarshall Clow test(S("abcde"), 4, SV(""), S("abcde"));
160b6d73126SMarshall Clow test(S("abcde"), 4, SV("12345"), S("abcd12345e"));
161b6d73126SMarshall Clow test(S("abcde"), 4, SV("1234567890"), S("abcd1234567890e"));
162b6d73126SMarshall Clow test(S("abcde"), 4, SV("12345678901234567890"), S("abcd12345678901234567890e"));
163b6d73126SMarshall Clow test(S("abcde"), 5, SV(""), S("abcde"));
164b6d73126SMarshall Clow test(S("abcde"), 5, SV("12345"), S("abcde12345"));
165b6d73126SMarshall Clow test(S("abcde"), 5, SV("1234567890"), S("abcde1234567890"));
166b6d73126SMarshall Clow test(S("abcde"), 5, SV("12345678901234567890"), S("abcde12345678901234567890"));
167b6d73126SMarshall Clow test(S("abcde"), 6, SV(""), S("can't happen"));
168b6d73126SMarshall Clow test(S("abcde"), 6, SV("12345"), S("can't happen"));
169b6d73126SMarshall Clow test(S("abcde"), 6, SV("1234567890"), S("can't happen"));
170b6d73126SMarshall Clow test(S("abcde"), 6, SV("12345678901234567890"), S("can't happen"));
171b6d73126SMarshall Clow test(S("abcdefghij"), 0, SV(""), S("abcdefghij"));
172b6d73126SMarshall Clow test(S("abcdefghij"), 0, SV("12345"), S("12345abcdefghij"));
173b6d73126SMarshall Clow test(S("abcdefghij"), 0, SV("1234567890"), S("1234567890abcdefghij"));
174b6d73126SMarshall Clow test(S("abcdefghij"), 0, SV("12345678901234567890"), S("12345678901234567890abcdefghij"));
175b6d73126SMarshall Clow test(S("abcdefghij"), 1, SV(""), S("abcdefghij"));
176b6d73126SMarshall Clow test(S("abcdefghij"), 1, SV("12345"), S("a12345bcdefghij"));
177b6d73126SMarshall Clow test(S("abcdefghij"), 1, SV("1234567890"), S("a1234567890bcdefghij"));
178b6d73126SMarshall Clow test(S("abcdefghij"), 1, SV("12345678901234567890"), S("a12345678901234567890bcdefghij"));
179b6d73126SMarshall Clow test(S("abcdefghij"), 5, SV(""), S("abcdefghij"));
180b6d73126SMarshall Clow test(S("abcdefghij"), 5, SV("12345"), S("abcde12345fghij"));
181b6d73126SMarshall Clow test(S("abcdefghij"), 5, SV("1234567890"), S("abcde1234567890fghij"));
182b6d73126SMarshall Clow test(S("abcdefghij"), 5, SV("12345678901234567890"), S("abcde12345678901234567890fghij"));
183b6d73126SMarshall Clow test(S("abcdefghij"), 9, SV(""), S("abcdefghij"));
184b6d73126SMarshall Clow test(S("abcdefghij"), 9, SV("12345"), S("abcdefghi12345j"));
185b6d73126SMarshall Clow test(S("abcdefghij"), 9, SV("1234567890"), S("abcdefghi1234567890j"));
186b6d73126SMarshall Clow test(S("abcdefghij"), 9, SV("12345678901234567890"), S("abcdefghi12345678901234567890j"));
187b6d73126SMarshall Clow test(S("abcdefghij"), 10, SV(""), S("abcdefghij"));
188b6d73126SMarshall Clow test(S("abcdefghij"), 10, SV("12345"), S("abcdefghij12345"));
189b6d73126SMarshall Clow test(S("abcdefghij"), 10, SV("1234567890"), S("abcdefghij1234567890"));
190b6d73126SMarshall Clow test(S("abcdefghij"), 10, SV("12345678901234567890"), S("abcdefghij12345678901234567890"));
191b6d73126SMarshall Clow test(S("abcdefghij"), 11, SV(""), S("can't happen"));
192b6d73126SMarshall Clow test(S("abcdefghij"), 11, SV("12345"), S("can't happen"));
193b6d73126SMarshall Clow test(S("abcdefghij"), 11, SV("1234567890"), S("can't happen"));
194b6d73126SMarshall Clow test(S("abcdefghij"), 11, SV("12345678901234567890"), S("can't happen"));
195b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 0, SV(""), S("abcdefghijklmnopqrst"));
196b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 0, SV("12345"), S("12345abcdefghijklmnopqrst"));
197b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 0, SV("1234567890"), S("1234567890abcdefghijklmnopqrst"));
198b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 0, SV("12345678901234567890"), S("12345678901234567890abcdefghijklmnopqrst"));
199b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 1, SV(""), S("abcdefghijklmnopqrst"));
200b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 1, SV("12345"), S("a12345bcdefghijklmnopqrst"));
201b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 1, SV("1234567890"), S("a1234567890bcdefghijklmnopqrst"));
202b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 1, SV("12345678901234567890"), S("a12345678901234567890bcdefghijklmnopqrst"));
203b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 10, SV(""), S("abcdefghijklmnopqrst"));
204b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 10, SV("12345"), S("abcdefghij12345klmnopqrst"));
205b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 10, SV("1234567890"), S("abcdefghij1234567890klmnopqrst"));
206b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 10, SV("12345678901234567890"), S("abcdefghij12345678901234567890klmnopqrst"));
207b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 19, SV(""), S("abcdefghijklmnopqrst"));
208b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 19, SV("12345"), S("abcdefghijklmnopqrs12345t"));
209b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 19, SV("1234567890"), S("abcdefghijklmnopqrs1234567890t"));
210b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 19, SV("12345678901234567890"), S("abcdefghijklmnopqrs12345678901234567890t"));
211b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 20, SV(""), S("abcdefghijklmnopqrst"));
212b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 20, SV("12345"), S("abcdefghijklmnopqrst12345"));
213b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 20, SV("1234567890"), S("abcdefghijklmnopqrst1234567890"));
214b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 20, SV("12345678901234567890"), S("abcdefghijklmnopqrst12345678901234567890"));
215b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 21, SV(""), S("can't happen"));
216b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 21, SV("12345"), S("can't happen"));
217b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 21, SV("1234567890"), S("can't happen"));
218b6d73126SMarshall Clow test(S("abcdefghijklmnopqrst"), 21, SV("12345678901234567890"), S("can't happen"));
219b6d73126SMarshall Clow }
220b6d73126SMarshall Clow #endif
221b6d73126SMarshall Clow
222b6d73126SMarshall Clow { // test inserting into self
223b6d73126SMarshall Clow typedef std::string S;
224b6d73126SMarshall Clow S s_short = "123/";
225b6d73126SMarshall Clow S s_long = "Lorem ipsum dolor sit amet, consectetur/";
226b6d73126SMarshall Clow
227b6d73126SMarshall Clow s_short.insert(0, s_short.c_str());
228b6d73126SMarshall Clow assert(s_short == "123/123/");
229b6d73126SMarshall Clow s_short.insert(0, s_short.c_str());
230b6d73126SMarshall Clow assert(s_short == "123/123/123/123/");
231b6d73126SMarshall Clow s_short.insert(0, s_short.c_str());
232b6d73126SMarshall Clow assert(s_short == "123/123/123/123/123/123/123/123/");
233b6d73126SMarshall Clow
234b6d73126SMarshall Clow s_long.insert(0, s_long.c_str());
235b6d73126SMarshall Clow assert(s_long == "Lorem ipsum dolor sit amet, consectetur/Lorem ipsum dolor sit amet, consectetur/");
236b6d73126SMarshall Clow }
2372df59c50SJF Bastien
238dcffa7d3SNikolas Klauser return true;
239dcffa7d3SNikolas Klauser }
240dcffa7d3SNikolas Klauser
main(int,char **)241dcffa7d3SNikolas Klauser int main(int, char**)
242dcffa7d3SNikolas Klauser {
243dcffa7d3SNikolas Klauser test();
244dcffa7d3SNikolas Klauser #if TEST_STD_VER > 17
245*425620ccSNikolas Klauser static_assert(test());
246dcffa7d3SNikolas Klauser #endif
247dcffa7d3SNikolas Klauser
2482df59c50SJF Bastien return 0;
249b6d73126SMarshall Clow }
250