//===----------------------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14, c++17, c++20 // // template R> // flat_multiset(from_range_t, R&&) // template R> // flat_multiset(from_range_t, R&&, const key_compare&) // template R, class Alloc> // flat_multiset(from_range_t, R&&, const Alloc&); // template R, class Alloc> // flat_multiset(from_range_t, R&&, const key_compare&, const Alloc&); #include #include #include #include #include #include #include "min_allocator.h" #include "test_allocator.h" #include "test_iterators.h" #include "test_macros.h" #include "../../../test_compare.h" // test constraint container-compatible-range template using RangeOf = std::ranges::subrange; using Set = std::flat_multiset; static_assert(std::is_constructible_v>); static_assert(std::is_constructible_v>); static_assert(!std::is_constructible_v>>); static_assert(std::is_constructible_v, std::less>); static_assert(std::is_constructible_v, std::less>); static_assert(!std::is_constructible_v>, std::less>); static_assert(std::is_constructible_v, std::allocator>); static_assert(std::is_constructible_v, std::allocator>); static_assert(!std::is_constructible_v>, std::allocator>); static_assert(std::is_constructible_v, std::less, std::allocator>); static_assert(std::is_constructible_v, std::less, std::allocator>); static_assert( !std:: is_constructible_v>, std::less, std::allocator>); template