File tree 1 file changed +9
-2
lines changed
1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -53,6 +53,13 @@ concept WeaklyEqualityComparableWith =
53
53
{ u != t } -> ConvertibleTo<bool >;
54
54
};
55
55
56
+ // Not including <tuple> for std::tuple_size_v
57
+ template <class T >
58
+ inline constexpr std::size_t tuple_size_v = 1 ;
59
+
60
+ template <class ... T>
61
+ inline constexpr std::size_t tuple_size_v<ltpl::Tuple<T...>> = sizeof ...(T);
62
+
56
63
// Test that the types list does not contain just one element that is decay-equal to T.
57
64
template <class T , class , class ...>
58
65
inline constexpr bool is_not_exactly_v = true ;
@@ -483,12 +490,12 @@ template <class... T>
483
490
template <class ... Tuples>
484
491
[[nodiscard]] constexpr decltype (auto ) tuple_cat(Tuples&&... tuples) noexcept
485
492
{
486
- constexpr auto total_size = (std ::tuple_size_v<std::remove_cvref_t <Tuples>> + ...);
493
+ constexpr auto total_size = (detail ::tuple_size_v<std::remove_cvref_t <Tuples>> + ...);
487
494
constexpr auto indices = [&]
488
495
{
489
496
std::array<detail::TupleCatIndex, total_size> array{};
490
497
size_t i{};
491
- for (std::size_t outer{}; auto tuple_size : {std ::tuple_size_v<std::remove_cvref_t <Tuples>>...})
498
+ for (std::size_t outer{}; auto tuple_size : {detail ::tuple_size_v<std::remove_cvref_t <Tuples>>...})
492
499
{
493
500
for (size_t inner{}; inner != tuple_size; ++inner)
494
501
{
You can’t perform that action at this time.
0 commit comments