//===----------------------------------------------------------------------===// // // 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 // //===----------------------------------------------------------------------===// #ifndef SUPPORT_FROM_RANGE_SEQUENCE_CONTAINERS_H #define SUPPORT_FROM_RANGE_SEQUENCE_CONTAINERS_H #include #include #include #include #include #include #include #include "../exception_safety_helpers.h" #include "../from_range_helpers.h" #include "MoveOnly.h" #include "almost_satisfies_types.h" #include "count_new.h" #include "test_iterators.h" #include "test_macros.h" template concept HasSize = requires (const T& value) { value.size(); }; template concept HasFromRangeCtr = requires (Range&& range) { Container(std::from_range, std::forward(range)); Container(std::from_range, std::forward(range), std::allocator()); }; template