15static_assert(__cplusplus == 201703);
17#include <bits/stdc++.h>
48template <
typename T =
float>
58#if __cpp_deduction_guides > 201611
105template<auto n>
struct B { };
120template <
auto...
seq>
171 return [n] {
return n + 1; }();
189 struct capture_value_o {
191 auto get_value_copy() {
192 return [*
this] {
return value; };
197 auto val = mo.get_value_copy();
239 scoped_lock l1(mt[0], mt[1]);
241 scoped_lock l2(mt[0], mt[1]);
258 static_assert(is_reference_v<int&>);
261 static_assert(is_lvalue_reference_v<int&>);
264 static_assert(is_rvalue_reference_v<int&&>);
273template<
typename... Args>
274constexpr bool folding_and(Args... args) {
return (
true && ... && args); }
276template<
typename... Args>
310static_assert(__cpp_structured_bindings);
319 auto& [a0_ref, a1_ref] = a;
325 unordered_map<string, int> mapping {
331 for (
const auto& [key, value] : mapping) {
337 auto [min, max] = minmax({3, 2, 1});
358 switch (
int a = 10) {
373[[nodiscard]]
int foo() {
return 0;}