[libcxx-commits] [libcxx] [libc++] Implement `std::multiset` (PR #128363)
via libcxx-commits
libcxx-commits at lists.llvm.org
Sun Mar 23 08:41:06 PDT 2025
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff 2f1416bbcde898d65e9762e6ce498bb0121e4610 437a6435b2dde9a7b99ad12d91a5b22311ce7300 --extensions ,inc,cpp,h -- libcxx/include/__flat_set/flat_multiset.h libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/alloc.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/assign_initializer_list.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/compare.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/containers.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_alloc.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_assign.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.compile.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct_pmr.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/default.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/dtor_noexcept.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/initializer_list.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/iter_iter.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_alloc.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_assign.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/pmr.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/range.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_container.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_initializer_list.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_iter_iter.pass.cpp libcxx/test/std/containers/container.adaptors/flat.multiset/helpers.h libcxx/test/std/containers/container.adaptors/flat.set/flat.set.capacity/empty.verify.cpp libcxx/include/flat_set libcxx/include/version libcxx/modules/std/flat_set.inc libcxx/test/std/containers/container.adaptors/flat.set/flat.set.erasure/erase_if.pass.cpp libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/clear.pass.cpp libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/contains.pass.cpp libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/count.pass.cpp libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/equal_range.pass.cpp libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/find.pass.cpp libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/lower_bound.pass.cpp libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/upper_bound.pass.cpp libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/libcxx/include/flat_set b/libcxx/include/flat_set
index 5051b27097..ebbb3a0247 100644
--- a/libcxx/include/flat_set
+++ b/libcxx/include/flat_set
@@ -31,7 +31,7 @@ namespace std {
template<class Key, class Compare, class KeyContainer, class Predicate>
typename flat_set<Key, Compare, KeyContainer>::size_type
erase_if(flat_set<Key, Compare, KeyContainer>& c, Predicate pred);
-
+
// [flat.multiset], class template flat_multiset
template<class Key, class Compare = less<Key>, class KeyContainer = vector<Key>>
class flat_multiset;
@@ -55,10 +55,10 @@ namespace std {
# include <__config>
# if _LIBCPP_STD_VER >= 23
-# include <__flat_map/sorted_unique.h>
# include <__flat_map/sorted_equivalent.h>
-# include <__flat_set/flat_set.h>
+# include <__flat_map/sorted_unique.h>
# include <__flat_set/flat_multiset.h>
+# include <__flat_set/flat_set.h>
# endif
// for feature-test macros
diff --git a/libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_container.pass.cpp b/libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_container.pass.cpp
index 4359526588..6c60b22f57 100644
--- a/libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_container.pass.cpp
+++ b/libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_container.pass.cpp
@@ -129,7 +129,7 @@ void test() {
using M = std::flat_multiset<int, std::less<int>, std::deque<int, A>>;
auto ks = std::deque<int, A>({1, 2, 4, 10}, A(4));
auto m = M(std::sorted_equivalent, ks, A(6)); // replaces the allocators
- assert(!ks.empty()); // it was an lvalue above
+ assert(!ks.empty()); // it was an lvalue above
assert((m == M{1, 2, 4, 10}));
assert(M(m).extract().get_allocator() == A(6));
diff --git a/libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_initializer_list.pass.cpp b/libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_initializer_list.pass.cpp
index 15adf6214a..4dc05dc147 100644
--- a/libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_initializer_list.pass.cpp
+++ b/libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_initializer_list.pass.cpp
@@ -66,18 +66,22 @@ void test() {
using C = typename M::key_compare;
static_assert(std::is_constructible_v<M, std::sorted_equivalent_t, std::initializer_list<int>>);
static_assert(std::is_constructible_v<M, std::sorted_equivalent_t, std::initializer_list<int>, C>);
- static_assert(std::is_constructible_v<M, std::sorted_equivalent_t, std::initializer_list<int>, C, std::allocator<int>>);
- static_assert(std::is_constructible_v<M, std::sorted_equivalent_t, std::initializer_list<int>, std::allocator<int>>);
+ static_assert(
+ std::is_constructible_v<M, std::sorted_equivalent_t, std::initializer_list<int>, C, std::allocator<int>>);
+ static_assert(
+ std::is_constructible_v<M, std::sorted_equivalent_t, std::initializer_list<int>, std::allocator<int>>);
static_assert(!std::is_constructible_v<M, std::sorted_equivalent_t, std::initializer_list<const int>>);
static_assert(!std::is_constructible_v<M, std::sorted_equivalent_t, std::initializer_list<const int>, C>);
static_assert(
- !std::is_constructible_v<M, std::sorted_equivalent_t, std::initializer_list<const int>, C, std::allocator<int>>);
+ !std::
+ is_constructible_v<M, std::sorted_equivalent_t, std::initializer_list<const int>, C, std::allocator<int>>);
static_assert(
!std::is_constructible_v<M, std::sorted_equivalent_t, std::initializer_list<const int>, std::allocator<int>>);
static_assert(!std::is_constructible_v<M, std::sorted_equivalent_t, std::initializer_list<const int>>);
static_assert(!std::is_constructible_v<M, std::sorted_equivalent_t, std::initializer_list<const int>, C>);
static_assert(
- !std::is_constructible_v<M, std::sorted_equivalent_t, std::initializer_list<const int>, C, std::allocator<int>>);
+ !std::
+ is_constructible_v<M, std::sorted_equivalent_t, std::initializer_list<const int>, C, std::allocator<int>>);
static_assert(
!std::is_constructible_v<M, std::sorted_equivalent_t, std::initializer_list<const int>, std::allocator<int>>);
}
diff --git a/libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_iter_iter.pass.cpp b/libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_iter_iter.pass.cpp
index a73080d5a7..594da66455 100644
--- a/libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_iter_iter.pass.cpp
+++ b/libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_iter_iter.pass.cpp
@@ -57,7 +57,7 @@ void test() {
// cpp17_input_iterator
using M = std::flat_multiset<int>;
int ar[] = {1, 2, 4, 5};
- auto m = M(std::sorted_equivalent, cpp17_input_iterator<const int*>(ar), cpp17_input_iterator<const int*>(ar + 4));
+ auto m = M(std::sorted_equivalent, cpp17_input_iterator<const int*>(ar), cpp17_input_iterator<const int*>(ar + 4));
auto expected = M{1, 2, 4, 5};
assert(m == expected);
``````````
</details>
https://github.com/llvm/llvm-project/pull/128363
More information about the libcxx-commits
mailing list