Files
RedBear-OS/local/recipes/dev/libclc/source/libcxx/modules/std/ranges.inc
T
vasilito cb424d7448 build: static patch-sanity linter (shift-left the malformed-patch class)
verify-patch-sanity.py validates every active recipe .patch has internally-
consistent hunk line counts — catching the 'malformed patch at line N' failure
at commit/CI/preflight time instead of hours into a cook. This cycle hit that
class three times (qtwaylandscanner, sddm, xwayland), each only discovered when
cookbook tried to apply the patch.

Running it across the repo found 29 latent malformed patches (validated against
GNU patch: e.g. relibc/P3-sysv-ipc reproduces 'malformed patch at line 22').
They were harmless only because they sit in vendored recipes (baked, not re-
applied) — but would fail on any version-bump re-derivation. --fix recounts the
hunk headers (body untouched) and repaired all 29.

Wired into build-preflight.sh (Phase 1.0D) and redbear-ci.yml, with a unit test
(test-patch-sanity.sh). Skips archived/legacy trees and unvalidatable formats
(empty placeholders, bare-@@ git hunks).
2026-08-01 05:13:02 +03:00

366 lines
9.4 KiB
C++
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// -*- C++ -*-
//===----------------------------------------------------------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//
export namespace std {
namespace ranges {
inline namespace __cpo {
// [range.access], range access
using std::ranges::__cpo::begin;
using std::ranges::__cpo::cbegin;
using std::ranges::__cpo::cend;
using std::ranges::__cpo::crbegin;
using std::ranges::__cpo::crend;
using std::ranges::__cpo::end;
using std::ranges::__cpo::rbegin;
using std::ranges::__cpo::rend;
using std::ranges::__cpo::cdata;
using std::ranges::__cpo::data;
using std::ranges::__cpo::empty;
using std::ranges::__cpo::size;
using std::ranges::__cpo::ssize;
} // namespace __cpo
// [range.range], ranges
using std::ranges::range;
using std::ranges::enable_borrowed_range;
using std::ranges::borrowed_range;
// using std::ranges::const_iterator_t;
// using std::ranges::const_sentinel_t;
using std::ranges::iterator_t;
// using std::ranges::range_const_reference_t;
using std::ranges::range_common_reference_t;
using std::ranges::range_difference_t;
using std::ranges::range_reference_t;
using std::ranges::range_rvalue_reference_t;
using std::ranges::range_size_t;
using std::ranges::range_value_t;
using std::ranges::sentinel_t;
// [range.sized], sized ranges
using std::ranges::disable_sized_range;
using std::ranges::sized_range;
// [range.view], views
using std::ranges::enable_view;
using std::ranges::view;
using std::ranges::view_base;
// [range.refinements], other range refinements
using std::ranges::bidirectional_range;
using std::ranges::common_range;
// using std::ranges::constant_range;
using std::ranges::contiguous_range;
using std::ranges::forward_range;
using std::ranges::input_range;
using std::ranges::output_range;
using std::ranges::random_access_range;
using std::ranges::viewable_range;
// [view.interface], class template view_­interface
using std::ranges::view_interface;
// [range.subrange], sub-ranges
using std::ranges::subrange;
using std::ranges::subrange_kind;
using std::ranges::get;
} // namespace ranges
using std::ranges::get;
namespace ranges {
// [range.dangling], dangling iterator handling
using std::ranges::dangling;
// [range.elementsof], class template elements_­of
// using std::ranges::elements_of;
using std::ranges::borrowed_iterator_t;
using std::ranges::borrowed_subrange_t;
#if _LIBCPP_STD_VER >= 23
// [range.utility.conv], range conversions
using std::ranges::to;
#endif
// [range.empty], empty view
using std::ranges::empty_view;
namespace views {
using std::ranges::views::empty;
}
// [range.single], single view
using std::ranges::single_view;
namespace views {
using std::ranges::views::single;
} // namespace views
// [range.iota], iota view
using std::ranges::iota_view;
namespace views {
using std::ranges::views::iota;
} // namespace views
#if _LIBCPP_STD_VER >= 23
// [range.repeat], repeat view
using std::ranges::repeat_view;
namespace views {
using std::ranges::views::repeat;
} // namespace views
#endif // _LIBCPP_STD_VER >= 23
#if _LIBCPP_HAS_LOCALIZATION
// [range.istream], istream view
using std::ranges::basic_istream_view;
using std::ranges::istream_view;
# if _LIBCPP_HAS_WIDE_CHARACTERS
using std::ranges::wistream_view;
# endif
namespace views {
using std::ranges::views::istream;
}
#endif // _LIBCPP_HAS_LOCALIZATION
// Note: This declaration not in the synopsis or explicitly in the wording.
// However it is needed for the range adaptors.
// [range.adaptor.object]/3
// The template parameter D for range_adaptor_closure may be an
// incomplete type. If an expression of type cv D is used as an operand
// to the | operator, D shall be complete and model
// derived_from<range_adaptor_closure<D>>. The behavior of an expression
// involving an object of type cv D as an operand to the | operator is
// undefined if overload resolution selects a program-defined operator|
// function.
// This is used internally in C++20 mode.
using std::ranges::operator|;
#if _LIBCPP_STD_VER >= 23
// [range.adaptor.object], range adaptor objects
using std::ranges::range_adaptor_closure;
#endif
// [range.all], all view
namespace views {
using std::ranges::views::all;
using std::ranges::views::all_t;
} // namespace views
// [range.ref.view], ref view
using std::ranges::ref_view;
// [range.owning.view], owning view
using std::ranges::owning_view;
#if _LIBCPP_STD_VER >= 23
// [range.as.rvalue], as rvalue view
using std::ranges::as_rvalue_view;
namespace views {
using std::ranges::views::as_rvalue;
} // namespace views
#endif // _LIBCPP_STD_VER >= 23
// [range.filter], filter view
using std::ranges::filter_view;
namespace views {
using std::ranges::views::filter;
} // namespace views
// [range.transform], transform view
using std::ranges::transform_view;
namespace views {
using std::ranges::views::transform;
} // namespace views
// [range.take], take view
using std::ranges::take_view;
namespace views {
using std::ranges::views::take;
} // namespace views
// [range.take.while], take while view
using std::ranges::take_while_view;
namespace views {
using std::ranges::views::take_while;
} // namespace views
// [range.drop], drop view
using std::ranges::drop_view;
namespace views {
using std::ranges::views::drop;
} // namespace views
// [range.drop.while], drop while view
using std::ranges::drop_while_view;
namespace views {
using std::ranges::views::drop_while;
} // namespace views
using std::ranges::join_view;
namespace views {
using std::ranges::views::join;
} // namespace views
#if _LIBCPP_STD_VER >= 23
// [range.join.with]
using std::ranges::join_with_view;
namespace views {
using std::ranges::views::join_with;
} // namespace views
#endif // _LIBCPP_STD_VER >= 23
using std::ranges::lazy_split_view;
// [range.split], split view
using std::ranges::split_view;
namespace views {
using std::ranges::views::lazy_split;
using std::ranges::views::split;
} // namespace views
// [range.counted], counted view
namespace views {
using std::ranges::views::counted;
} // namespace views
// [range.common], common view
using std::ranges::common_view;
namespace views {
using std::ranges::views::common;
} // namespace views
// [range.reverse], reverse view
using std::ranges::reverse_view;
namespace views {
using std::ranges::views::reverse;
} // namespace views
// [range.as.const], as const view
#if 0
using std::ranges::as_const_view;
namespace views {
using std::ranges::views::as_const;
} // namespace views
#endif
// [range.elements], elements view
using std::ranges::elements_view;
using std::ranges::keys_view;
using std::ranges::values_view;
namespace views {
using std::ranges::views::elements;
using std::ranges::views::keys;
using std::ranges::views::values;
} // namespace views
#if _LIBCPP_STD_VER >= 23
// [range.zip], zip view
using std::ranges::zip_view;
namespace views {
using std::ranges::views::zip;
} // namespace views
#endif // _LIBCPP_STD_VER >= 23
#if 0
// [range.zip.transform], zip transform view
using std::ranges::zip_transform_view;
namespace views {
using std::ranges::views::zip_transform;
}
using std::ranges::adjacent_view;
namespace views {
using std::ranges::views::adjacent;
using std::ranges::views::pairwise;
} // namespace views
using std::ranges::adjacent_transform_view;
namespace views {
using std::ranges::views::adjacent_transform;
using std::ranges::views::pairwise_transform;
} // namespace views
using std::ranges::chunk_view;
using std::ranges::chunk_view<V>;
namespace views {
using std::ranges::views::chunk;
}
using std::ranges::slide_view;
namespace views {
using std::ranges::views::slide;
}
#endif
#if _LIBCPP_STD_VER >= 23
// [range.chunk.by], chunk by view
using std::ranges::chunk_by_view;
namespace views {
using std::ranges::views::chunk_by;
}
#endif // _LIBCPP_STD_VER >= 23
#if 0
// [range.stride], stride view
using std::ranges::stride_view;
namespace views {
using std::ranges::views::stride;
}
using std::ranges::cartesian_product_view;
namespace views {
using std::ranges::views::cartesian_product;
}
#endif
} // namespace ranges
namespace views = ranges::views;
using std::tuple_element;
using std::tuple_size;
#if _LIBCPP_STD_VER >= 23
using std::from_range;
using std::from_range_t;
#endif // _LIBCPP_STD_VER >= 23
} // namespace std