llvm-capstone/libcxx/include
Hongyu Ouyang 37f9036320
[libc++] Make drop_view::begin constant time (#72883) (#72929)
As pointed out in #72883, the implementation only needs to return the
value of ranges::next and does not need to obtain the value through
ranges::advance, which causes it to have O(n) complexity in the case
of random-access-sized but non-common range.

Fixes #72883
2023-12-28 21:27:42 +00:00
..
__algorithm [libc++] Optimize std::find if types are integral and have the same signedness (#70345) 2023-12-23 11:21:27 +01:00
__atomic [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__bit [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__charconv [libc++][NFC] Update the remaining enable_ifs 2023-09-01 17:51:17 -07:00
__chrono [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__compare [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__concepts [libc++] Replace uses of _VSTD:: by std:: (#74331) 2023-12-05 11:19:15 -05:00
__condition_variable [libc++][NFC] Refactor __enable_if return types to defaulted template parameters 2023-09-01 17:52:31 -07:00
__coroutine [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__debug_utils [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__exception [libc++] Rename _LIBCPP_INLINE_VISIBILITY to _LIBCPP_HIDE_FROM_ABI (#74095) 2023-12-04 10:25:14 -05:00
__expected [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__filesystem [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__format [libc++][hardening] Categorize more 'valid-element-access' checks. (#71620) 2023-12-20 17:24:48 -08:00
__functional [libc++] Implement ranges::contains (#65148) 2023-12-19 16:34:19 -08:00
__fwd [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__ios [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__iterator [libc++][hardening] Categorize more 'valid-element-access' checks. (#71620) 2023-12-20 17:24:48 -08:00
__locale_dir/locale_base_api [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__math [libc++][NFC] Replace typedefs with using in the math headers 2023-08-03 08:51:50 -07:00
__mdspan [libc++] LWG-4021 "mdspan::is_always_meow() should be noexcept", use LIBCPP_STATIC_ASSERT for noexcept strengthening (#74254) 2023-12-10 11:52:14 +01:00
__memory [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__memory_resource [libc++] Remove a few transitive includes (#70553) 2023-10-29 18:31:37 +01:00
__mutex [libc++] Replace uses of _VSTD:: by std:: (#74331) 2023-12-05 11:19:15 -05:00
__numeric [libc++] Fix ability to explicitly instantiate std::midpoint (#74217) 2023-12-20 11:53:19 +01:00
__random [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__ranges [libc++] Make drop_view::begin constant time (#72883) (#72929) 2023-12-28 21:27:42 +00:00
__stop_token [libc++] Implement std::condition_variable_any::wait[_for/until] overloads that take stop_token 2023-09-29 13:50:16 +01:00
__string [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__support [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__system_error [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__thread [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__tuple [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__type_traits [libc++] Use __datasizeof for __libcpp_datasizeof if available (#72104) 2023-12-24 08:45:25 +01:00
__utility [libc++][hardening] Categorize more 'valid-element-access' checks. (#71620) 2023-12-20 17:24:48 -08:00
__variant [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
experimental [libc++][NFC] Refactor <experimental/simd> a bit to simplify dependencies (#76283) 2023-12-24 08:50:01 +01:00
ext [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__assert [libc++][hardening] Deprecate _LIBCPP_ENABLE_ASSERTIONS. 2023-07-14 16:58:47 -07:00
__availability [libc++][print] Adds ostream overloads. (#73262) 2023-12-19 19:32:17 +01:00
__bit_reference [libc++] Optimize ranges::count for __bit_iterators 2023-10-06 22:58:41 +02:00
__config [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__config_site.in [ASan][libc++] std::basic_string annotations (#72677) 2023-12-13 06:05:34 +01:00
__hash_table [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__locale [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__mbstate_t.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__node_handle [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__split_buffer [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__std_clang_module [libc++] Remove experimental pmr headers now shipped in mainline (#73172) 2023-11-27 10:54:35 -05:00
__std_mbstate_t.h
__threading_support [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__tree [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
__undef_macros Fixing conflicting macro definitions between curses.h and the standard library. 2023-07-06 17:21:08 +00:00
__verbose_abort [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
algorithm [libcxx] adds ranges::fold_left_with_iter and ranges::fold_left (#75259) 2023-12-19 21:57:50 -08:00
any [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
array [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
atomic [libc++] Refactor atomic_{unsigned,signed}_lock_free (#73041) 2023-11-22 14:54:40 -05:00
barrier [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
bit [libc++] Fix the signature of std::rotl and std::rotr 2023-08-12 08:46:11 -07:00
bitset [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
cassert
ccomplex
cctype [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
cerrno
cfenv
cfloat
charconv [libc++] Remove a few transitive includes (#70553) 2023-10-29 18:31:37 +01:00
chrono [libc++][NFC] Add a few clang-format annotations (#74352) 2023-12-04 15:17:31 -05:00
cinttypes
ciso646
climits [libc++] Remove libc++'s own <limits.h> (#65472) 2023-10-10 11:06:43 -07:00
clocale
CMakeLists.txt [libc++][NFC] Refactor <experimental/simd> a bit to simplify dependencies (#76283) 2023-12-24 08:50:01 +01:00
cmath [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
codecvt [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
compare
complex [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
complex.h
concepts
condition_variable [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
coroutine
csetjmp [libc++] Remove libc++'s own <setjmp.h> header (#68806) 2023-10-12 16:59:04 -07:00
csignal
cstdarg
cstdbool
cstddef [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
cstdint
cstdio [libc++] Remove _LIBCPP_HAS_NO_FGETPOS_FSETPOS (#72073) 2023-11-13 09:43:25 +01:00
cstdlib [libc++] Fixes disabling wide character. 2023-08-19 19:09:16 +02:00
cstring
ctgmath
ctime
ctype.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
cuchar [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
cwchar [libc++] Forward to std::{,w}memchr in std::find 2023-05-25 07:59:50 -07:00
cwctype
deque [ASan][libc++] Optimization of container annotations (#76082) 2023-12-21 17:26:10 -05:00
errno.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
exception
execution
expected [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
fenv.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
filesystem [libc++] Remove a few transitive includes (#70553) 2023-10-29 18:31:37 +01:00
float.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
format [libc++] Implements Runtime format strings. (#73353) 2023-12-09 12:32:17 +01:00
forward_list [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
fstream [libc++][print] Adds ostream overloads. (#73262) 2023-12-19 19:32:17 +01:00
functional [libc++] Remove a few transitive includes (#70553) 2023-10-29 18:31:37 +01:00
future [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
initializer_list [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
inttypes.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
iomanip [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
ios [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
iosfwd [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
iostream [libc++] Merge _LIBCPP_FUNC_VIS, _LIBCPP_TYPE_VIS and _LIBCPP_EXCEPTION_ABI into _LIBCPP_EXPORTED_FROM_ABI 2023-06-15 08:56:45 -07:00
istream [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
iterator [libc++] Remove a few transitive includes (#70553) 2023-10-29 18:31:37 +01:00
latch [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
libcxx.imp [libc++][NFC] Remove the old PSTL headers 2023-08-11 08:29:15 -07:00
limits [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
list [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
locale [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
locale.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
map [libc++] Fix nolint comment that became useless after running clang-format 2023-12-18 17:49:21 -05:00
math.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
mdspan [libc++] LWG-4021 "mdspan::is_always_meow() should be noexcept", use LIBCPP_STATIC_ASSERT for noexcept strengthening (#74254) 2023-12-10 11:52:14 +01:00
memory [libc++][NFC] Add a few clang-format annotations (#74352) 2023-12-04 15:17:31 -05:00
memory_resource [libc++] Remove a few transitive includes (#70553) 2023-10-29 18:31:37 +01:00
module.modulemap.in [libc++][NFC] Refactor <experimental/simd> a bit to simplify dependencies (#76283) 2023-12-24 08:50:01 +01:00
mutex [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
new [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
numbers [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
numeric [libc++] Remove a few transitive includes (#70553) 2023-10-29 18:31:37 +01:00
optional [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
ostream [libc++][print] Adds ostream overloads. (#73262) 2023-12-19 19:32:17 +01:00
print [libc++][print] Adds ostream overloads. (#73262) 2023-12-19 19:32:17 +01:00
queue [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
random
ranges [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
ratio [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
regex [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
scoped_allocator [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
semaphore [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
set [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
shared_mutex [libc++] Replace uses of _VSTD:: by std:: (#74331) 2023-12-05 11:19:15 -05:00
source_location [libc++] Update <source_location> and msvc_stdlib_force_include.h (#74266) 2023-12-06 09:04:06 -05:00
span [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
sstream [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
stack [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
stdatomic.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
stdbool.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
stddef.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
stdexcept [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
stdint.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
stdio.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
stdlib.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
stop_token [libc++] Remove a few transitive includes (#70553) 2023-10-29 18:31:37 +01:00
streambuf [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
string [ASan][libc++] Optimization of container annotations (#76082) 2023-12-21 17:26:10 -05:00
string_view [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
string.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
strstream [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
syncstream Implement syncstream (p0053) 2023-11-08 17:45:06 +01:00
system_error
tgmath.h
thread [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
tuple [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
type_traits
typeindex [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
typeinfo [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
uchar.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
unordered_map [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
unordered_set [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
utility [libc++] P2770R0: Stashing stashing iterators for proper flattening (#66033) 2023-12-12 09:45:14 -05:00
valarray [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
variant [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
vector [ASan][libc++] Optimization of container annotations (#76082) 2023-12-21 17:26:10 -05:00
version [libc++][print] Adds ostream overloads. (#73262) 2023-12-19 19:32:17 +01:00
wchar.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00
wctype.h [libc++] Format the code base (#74334) 2023-12-18 14:01:33 -05:00