Full Code of microsoft/STL for AI

main 2626cf1ee9d2 cached
2516 files
25.2 MB
6.8M tokens
18235 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (26,962K chars total). Download the full file to get everything.
Repository: microsoft/STL
Branch: main
Commit: 2626cf1ee9d2
Files: 2516
Total size: 25.2 MB

Directory structure:
gitextract_5gkd97a3/

├── .clang-format
├── .gitattributes
├── .github/
│   ├── CODEOWNERS
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug-report.md
│   │   └── question.md
│   ├── pull_request_template.md
│   └── workflows/
│       └── update-status-chart.yml
├── .gitignore
├── .gitmodules
├── .mailmap
├── CMakeLists.txt
├── CMakePresets.json
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE.txt
├── NOTICE.txt
├── README.md
├── SECURITY.md
├── azure-devops/
│   ├── asan-pipeline.yml
│   ├── build-and-test.yml
│   ├── build-benchmarks.yml
│   ├── checkout-self.yml
│   ├── checkout-submodule.yml
│   ├── cmake-configure-build.yml
│   ├── config.yml
│   ├── create-1es-hosted-pool.ps1
│   ├── format-validation.yml
│   ├── provision-image.ps1
│   └── run-tests.yml
├── azure-pipelines.yml
├── benchmarks/
│   ├── CMakeLists.txt
│   ├── inc/
│   │   ├── lorem.hpp
│   │   ├── skewed_allocator.hpp
│   │   ├── udt.hpp
│   │   └── utility.hpp
│   └── src/
│       ├── adjacent_difference.cpp
│       ├── adjacent_find.cpp
│       ├── any_swap.cpp
│       ├── bitset_from_string.cpp
│       ├── bitset_to_string.cpp
│       ├── charconv_floats.cpp
│       ├── efficient_nonlocking_print.cpp
│       ├── filesystem.cpp
│       ├── fill.cpp
│       ├── find_and_count.cpp
│       ├── find_first_of.cpp
│       ├── flat_meow_assign.cpp
│       ├── has_single_bit.cpp
│       ├── includes.cpp
│       ├── integer_to_string.cpp
│       ├── iota.cpp
│       ├── is_sorted_until.cpp
│       ├── locale_classic.cpp
│       ├── locate_zone.cpp
│       ├── minmax_element.cpp
│       ├── mismatch.cpp
│       ├── move_only_function.cpp
│       ├── nth_element.cpp
│       ├── path_lexically_normal.cpp
│       ├── priority_queue_push_range.cpp
│       ├── random_integer_generation.cpp
│       ├── ranges_div_ceil.cpp
│       ├── regex_match.cpp
│       ├── regex_search.cpp
│       ├── remove.cpp
│       ├── replace.cpp
│       ├── reverse.cpp
│       ├── rotate.cpp
│       ├── sample.cpp
│       ├── search.cpp
│       ├── search_n.cpp
│       ├── shuffle.cpp
│       ├── std_copy.cpp
│       ├── sv_equal.cpp
│       ├── swap_ranges.cpp
│       ├── unique.cpp
│       ├── vector_bool_copy.cpp
│       ├── vector_bool_copy_n.cpp
│       ├── vector_bool_count.cpp
│       ├── vector_bool_meow_of.cpp
│       ├── vector_bool_move.cpp
│       └── vector_bool_transform.cpp
├── docs/
│   ├── cgmanifest.json
│   └── import_library.md
├── stl/
│   ├── CMakeLists.txt
│   ├── debugger/
│   │   └── STL.natvis
│   ├── inc/
│   │   ├── __msvc_all_public_headers.hpp
│   │   ├── __msvc_bit_utils.hpp
│   │   ├── __msvc_chrono.hpp
│   │   ├── __msvc_cxx_stdatomic.hpp
│   │   ├── __msvc_filebuf.hpp
│   │   ├── __msvc_format_ucd_tables.hpp
│   │   ├── __msvc_formatter.hpp
│   │   ├── __msvc_heap_algorithms.hpp
│   │   ├── __msvc_int128.hpp
│   │   ├── __msvc_iter_core.hpp
│   │   ├── __msvc_minmax.hpp
│   │   ├── __msvc_ostream.hpp
│   │   ├── __msvc_print.hpp
│   │   ├── __msvc_ranges_to.hpp
│   │   ├── __msvc_ranges_tuple_formatter.hpp
│   │   ├── __msvc_sanitizer_annotate_container.hpp
│   │   ├── __msvc_string_view.hpp
│   │   ├── __msvc_system_error_abi.hpp
│   │   ├── __msvc_threads_core.hpp
│   │   ├── __msvc_tzdb.hpp
│   │   ├── __msvc_xlocinfo_types.hpp
│   │   ├── algorithm
│   │   ├── any
│   │   ├── array
│   │   ├── atomic
│   │   ├── barrier
│   │   ├── bit
│   │   ├── bitset
│   │   ├── cassert
│   │   ├── ccomplex
│   │   ├── cctype
│   │   ├── cerrno
│   │   ├── cfenv
│   │   ├── cfloat
│   │   ├── charconv
│   │   ├── chrono
│   │   ├── cinttypes
│   │   ├── ciso646
│   │   ├── climits
│   │   ├── clocale
│   │   ├── cmath
│   │   ├── codecvt
│   │   ├── compare
│   │   ├── complex
│   │   ├── concepts
│   │   ├── condition_variable
│   │   ├── coroutine
│   │   ├── csetjmp
│   │   ├── csignal
│   │   ├── cstdalign
│   │   ├── cstdarg
│   │   ├── cstdbool
│   │   ├── cstddef
│   │   ├── cstdint
│   │   ├── cstdio
│   │   ├── cstdlib
│   │   ├── cstring
│   │   ├── ctgmath
│   │   ├── ctime
│   │   ├── cuchar
│   │   ├── cwchar
│   │   ├── cwctype
│   │   ├── deque
│   │   ├── exception
│   │   ├── execution
│   │   ├── expected
│   │   ├── experimental/
│   │   │   ├── coroutine
│   │   │   ├── generator
│   │   │   └── resumable
│   │   ├── filesystem
│   │   ├── flat_map
│   │   ├── flat_set
│   │   ├── format
│   │   ├── forward_list
│   │   ├── fstream
│   │   ├── functional
│   │   ├── future
│   │   ├── generator
│   │   ├── header-units.json
│   │   ├── initializer_list
│   │   ├── iomanip
│   │   ├── ios
│   │   ├── iosfwd
│   │   ├── iostream
│   │   ├── iso646.h
│   │   ├── istream
│   │   ├── iterator
│   │   ├── latch
│   │   ├── limits
│   │   ├── list
│   │   ├── locale
│   │   ├── map
│   │   ├── mdspan
│   │   ├── memory
│   │   ├── memory_resource
│   │   ├── mutex
│   │   ├── new
│   │   ├── numbers
│   │   ├── numeric
│   │   ├── optional
│   │   ├── ostream
│   │   ├── print
│   │   ├── queue
│   │   ├── random
│   │   ├── ranges
│   │   ├── ratio
│   │   ├── regex
│   │   ├── scoped_allocator
│   │   ├── semaphore
│   │   ├── set
│   │   ├── shared_mutex
│   │   ├── source_location
│   │   ├── span
│   │   ├── spanstream
│   │   ├── sstream
│   │   ├── stack
│   │   ├── stacktrace
│   │   ├── stdexcept
│   │   ├── stdfloat
│   │   ├── stop_token
│   │   ├── streambuf
│   │   ├── string
│   │   ├── string_view
│   │   ├── strstream
│   │   ├── syncstream
│   │   ├── system_error
│   │   ├── thread
│   │   ├── tuple
│   │   ├── type_traits
│   │   ├── typeindex
│   │   ├── typeinfo
│   │   ├── unordered_map
│   │   ├── unordered_set
│   │   ├── use_ansi.h
│   │   ├── utility
│   │   ├── valarray
│   │   ├── variant
│   │   ├── vector
│   │   ├── version
│   │   ├── xatomic.h
│   │   ├── xatomic_wait.h
│   │   ├── xbit_ops.h
│   │   ├── xcall_once.h
│   │   ├── xcharconv.h
│   │   ├── xcharconv_ryu.h
│   │   ├── xcharconv_ryu_tables.h
│   │   ├── xcharconv_tables.h
│   │   ├── xerrc.h
│   │   ├── xfacet
│   │   ├── xfilesystem_abi.h
│   │   ├── xhash
│   │   ├── xiosbase
│   │   ├── xkeycheck.h
│   │   ├── xlocale
│   │   ├── xlocbuf
│   │   ├── xlocinfo
│   │   ├── xlocmes
│   │   ├── xlocmon
│   │   ├── xlocnum
│   │   ├── xloctime
│   │   ├── xmemory
│   │   ├── xnode_handle.h
│   │   ├── xpolymorphic_allocator.h
│   │   ├── xsmf_control.h
│   │   ├── xstring
│   │   ├── xthreads.h
│   │   ├── xtimec.h
│   │   ├── xtr1common
│   │   ├── xtree
│   │   ├── xutility
│   │   ├── ymath.h
│   │   ├── yvals.h
│   │   └── yvals_core.h
│   ├── modules/
│   │   ├── modules.json
│   │   ├── std.compat.ixx
│   │   └── std.ixx
│   ├── msbuild/
│   │   ├── stl_1/
│   │   │   ├── amd64.exports
│   │   │   ├── arm64.exports
│   │   │   ├── dirs.proj
│   │   │   ├── i386.exports
│   │   │   ├── md/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── msvcp_1_md_app.vcxproj
│   │   │   │   ├── msvcp_1_md_kernel32.vcxproj
│   │   │   │   ├── msvcp_1_md_netfx.vcxproj
│   │   │   │   └── msvcp_1_md_onecore.vcxproj
│   │   │   ├── msvcp_1.settings.targets
│   │   │   ├── msvcprt_1.rc
│   │   │   ├── msvcprt_1.src
│   │   │   ├── stl_1.files.settings.targets
│   │   │   └── xmd/
│   │   │       ├── dirs.proj
│   │   │       ├── msvcp_1_xmd_app.vcxproj
│   │   │       ├── msvcp_1_xmd_kernel32.vcxproj
│   │   │       ├── msvcp_1_xmd_netfx.vcxproj
│   │   │       └── msvcp_1_xmd_onecore.vcxproj
│   │   ├── stl_2/
│   │   │   ├── amd64.exports
│   │   │   ├── arm64.exports
│   │   │   ├── dirs.proj
│   │   │   ├── i386.exports
│   │   │   ├── md/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── msvcp_2_md_app.vcxproj
│   │   │   │   ├── msvcp_2_md_kernel32.vcxproj
│   │   │   │   ├── msvcp_2_md_netfx.vcxproj
│   │   │   │   └── msvcp_2_md_onecore.vcxproj
│   │   │   ├── msvcp_2.settings.targets
│   │   │   ├── msvcprt_2.rc
│   │   │   ├── msvcprt_2.src
│   │   │   ├── stl_2.files.settings.targets
│   │   │   └── xmd/
│   │   │       ├── dirs.proj
│   │   │       ├── msvcp_2_xmd_app.vcxproj
│   │   │       ├── msvcp_2_xmd_kernel32.vcxproj
│   │   │       ├── msvcp_2_xmd_netfx.vcxproj
│   │   │       └── msvcp_2_xmd_onecore.vcxproj
│   │   ├── stl_asan/
│   │   │   ├── dirs.proj
│   │   │   ├── stl_asan.files.settings.targets
│   │   │   ├── stl_asan.settings.targets
│   │   │   └── stl_asan.vcxproj
│   │   ├── stl_atomic_wait/
│   │   │   ├── dirs.proj
│   │   │   ├── md/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── msvcp_atomic_wait_md_app.vcxproj
│   │   │   │   ├── msvcp_atomic_wait_md_kernel32.vcxproj
│   │   │   │   ├── msvcp_atomic_wait_md_netfx.vcxproj
│   │   │   │   └── msvcp_atomic_wait_md_onecore.vcxproj
│   │   │   ├── msvcp_atomic_wait.settings.targets
│   │   │   ├── msvcprt_atomic_wait.rc
│   │   │   ├── stl_atomic_wait.files.settings.targets
│   │   │   └── xmd/
│   │   │       ├── dirs.proj
│   │   │       ├── msvcp_atomic_wait_xmd_app.vcxproj
│   │   │       ├── msvcp_atomic_wait_xmd_kernel32.vcxproj
│   │   │       ├── msvcp_atomic_wait_xmd_netfx.vcxproj
│   │   │       └── msvcp_atomic_wait_xmd_onecore.vcxproj
│   │   ├── stl_base/
│   │   │   ├── amd64.exports
│   │   │   ├── amd64_onecore.exports
│   │   │   ├── arm64.exports
│   │   │   ├── dirs.proj
│   │   │   ├── i386.exports
│   │   │   ├── i386_onecore.exports
│   │   │   ├── libcp.settings.targets
│   │   │   ├── md/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── msvcp_base_md_app.vcxproj
│   │   │   │   ├── msvcp_base_md_kernel32.vcxproj
│   │   │   │   ├── msvcp_base_md_netfx.vcxproj
│   │   │   │   └── msvcp_base_md_onecore.vcxproj
│   │   │   ├── msvcp.settings.targets
│   │   │   ├── mt/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── libcpmt_mt_kernel32.vcxproj
│   │   │   │   └── libcpmt_mt_onecore.vcxproj
│   │   │   ├── mt1/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── libcpmt_mt1_kernel32.vcxproj
│   │   │   │   └── libcpmt_mt1_onecore.vcxproj
│   │   │   ├── stl.files.settings.targets
│   │   │   ├── xmd/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── msvcp_base_xmd_app.vcxproj
│   │   │   │   ├── msvcp_base_xmd_kernel32.vcxproj
│   │   │   │   ├── msvcp_base_xmd_netfx.vcxproj
│   │   │   │   └── msvcp_base_xmd_onecore.vcxproj
│   │   │   ├── xmt/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── libcpmt_xmt_kernel32.vcxproj
│   │   │   │   └── libcpmt_xmt_onecore.vcxproj
│   │   │   ├── xmt0/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── libcpmt_xmt0_kernel32.vcxproj
│   │   │   │   └── libcpmt_xmt0_onecore.vcxproj
│   │   │   └── xmt1/
│   │   │       ├── dirs.proj
│   │   │       ├── libcpmt_xmt1_kernel32.vcxproj
│   │   │       └── libcpmt_xmt1_onecore.vcxproj
│   │   ├── stl_codecvt_ids/
│   │   │   ├── amd64.exports
│   │   │   ├── arm64.exports
│   │   │   ├── dirs.proj
│   │   │   ├── i386.exports
│   │   │   ├── md/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── msvcp_codecvt_ids_md_app.vcxproj
│   │   │   │   ├── msvcp_codecvt_ids_md_kernel32.vcxproj
│   │   │   │   ├── msvcp_codecvt_ids_md_netfx.vcxproj
│   │   │   │   └── msvcp_codecvt_ids_md_onecore.vcxproj
│   │   │   ├── msvcp_codecvt_ids.settings.targets
│   │   │   ├── msvcprt_codecvt_ids.rc
│   │   │   ├── msvcprt_codecvt_ids.src
│   │   │   ├── stl_codecvt_ids.files.settings.targets
│   │   │   └── xmd/
│   │   │       ├── dirs.proj
│   │   │       ├── msvcp_codecvt_ids_xmd_app.vcxproj
│   │   │       ├── msvcp_codecvt_ids_xmd_kernel32.vcxproj
│   │   │       ├── msvcp_codecvt_ids_xmd_netfx.vcxproj
│   │   │       └── msvcp_codecvt_ids_xmd_onecore.vcxproj
│   │   └── stl_post/
│   │       ├── dirs.proj
│   │       ├── md/
│   │       │   ├── dirs.proj
│   │       │   ├── msvcp_post_md_app.vcxproj
│   │       │   ├── msvcp_post_md_kernel32.vcxproj
│   │       │   ├── msvcp_post_md_netfx.vcxproj
│   │       │   └── msvcp_post_md_onecore.vcxproj
│   │       ├── msvcp_post.settings.targets
│   │       └── xmd/
│   │           ├── dirs.proj
│   │           ├── msvcp_post_xmd_app.vcxproj
│   │           ├── msvcp_post_xmd_kernel32.vcxproj
│   │           ├── msvcp_post_xmd_netfx.vcxproj
│   │           └── msvcp_post_xmd_onecore.vcxproj
│   ├── set_environment.bat.in
│   ├── set_environment.ps1.in
│   └── src/
│       ├── StlCompareStringA.cpp
│       ├── StlCompareStringW.cpp
│       ├── StlLCMapStringA.cpp
│       ├── StlLCMapStringW.cpp
│       ├── _tolower.cpp
│       ├── _toupper.cpp
│       ├── alias_init_once_begin_initialize.asm
│       ├── alias_init_once_complete.asm
│       ├── asan.cpp
│       ├── asan_noop.cpp
│       ├── atomic.cpp
│       ├── atomic_wait.cpp
│       ├── awint.hpp
│       ├── cerr.cpp
│       ├── charconv.cpp
│       ├── cin.cpp
│       ├── clog.cpp
│       ├── cond.cpp
│       ├── cout.cpp
│       ├── cthread.cpp
│       ├── dllmain.cpp
│       ├── dllmain_satellite.cpp
│       ├── excptptr.cpp
│       ├── filesys.cpp
│       ├── filesystem.cpp
│       ├── fiopen.cpp
│       ├── format.cpp
│       ├── future.cpp
│       ├── init_locks.hpp
│       ├── instances.cpp
│       ├── iomanip.cpp
│       ├── ios.cpp
│       ├── iosptrs.cpp
│       ├── iostream.cpp
│       ├── locale.cpp
│       ├── locale0.cpp
│       ├── locale0_implib.cpp
│       ├── locale_implib_pure.cpp
│       ├── memory_resource.cpp
│       ├── mexcptptr.cpp
│       ├── mpiostream.cpp
│       ├── msvcp_atomic_wait.src
│       ├── multprec.cpp
│       ├── mutex.cpp
│       ├── nothrow.cpp
│       ├── parallel_algorithms.cpp
│       ├── pplerror.cpp
│       ├── ppltasks.cpp
│       ├── primitives.hpp
│       ├── print.cpp
│       ├── raisehan.cpp
│       ├── regex.cpp
│       ├── sharedmutex.cpp
│       ├── special_math.cpp
│       ├── stacktrace.cpp
│       ├── stdhndlr.cpp
│       ├── stdthrow.cpp
│       ├── syncstream.cpp
│       ├── syserror.cpp
│       ├── syserror_import_lib.cpp
│       ├── taskscheduler.cpp
│       ├── thread0.cpp
│       ├── tzdb.cpp
│       ├── ulocale.cpp
│       ├── uncaught_exception.cpp
│       ├── uncaught_exceptions.cpp
│       ├── ushcerr.cpp
│       ├── ushcin.cpp
│       ├── ushclog.cpp
│       ├── ushcout.cpp
│       ├── ushiostr.cpp
│       ├── vector_algorithms.cpp
│       ├── wcerr.cpp
│       ├── wcin.cpp
│       ├── wclog.cpp
│       ├── wcout.cpp
│       ├── winapinls.cpp
│       ├── winapisupp.cpp
│       ├── wiostrea.cpp
│       ├── wlocale.cpp
│       ├── xalloc.cpp
│       ├── xcharconv_ryu_tables.cpp
│       ├── xcharconv_tables_double.cpp
│       ├── xcharconv_tables_float.cpp
│       ├── xcosh.cpp
│       ├── xdateord.cpp
│       ├── xdtest.cpp
│       ├── xexp.cpp
│       ├── xgetwctype.cpp
│       ├── xlgamma.cpp
│       ├── xlocale.cpp
│       ├── xlock.cpp
│       ├── xmbtowc.cpp
│       ├── xmtx.cpp
│       ├── xmtx.hpp
│       ├── xnotify.cpp
│       ├── xonce.cpp
│       ├── xonce2.cpp
│       ├── xrngabort.cpp
│       ├── xrngdev.cpp
│       ├── xsinh.cpp
│       ├── xstod.cpp
│       ├── xstof.cpp
│       ├── xstol.cpp
│       ├── xstoll.cpp
│       ├── xstoul.cpp
│       ├── xstoull.cpp
│       ├── xstrcoll.cpp
│       ├── xstrxfrm.cpp
│       ├── xthrow.cpp
│       ├── xtime.cpp
│       ├── xtowlower.cpp
│       ├── xtowupper.cpp
│       ├── xvalues.cpp
│       ├── xwcscoll.cpp
│       ├── xwcsxfrm.cpp
│       ├── xwctomb.cpp
│       ├── xwstod.cpp
│       └── xwstof.cpp
├── tests/
│   ├── CMakeLists.txt
│   ├── libcxx/
│   │   ├── CMakeLists.txt
│   │   ├── contest.yaml
│   │   ├── expected_results.txt
│   │   ├── lit.cfg
│   │   ├── lit.site.cfg.in
│   │   ├── magic_comments.txt
│   │   └── usual_matrix.lst
│   ├── std/
│   │   ├── CMakeLists.txt
│   │   ├── expected_results.txt
│   │   ├── include/
│   │   │   ├── constexpr_char_traits.hpp
│   │   │   ├── experimental_filesystem.hpp
│   │   │   ├── fenv_prefix.hpp
│   │   │   ├── floating_point_test_cases.hpp
│   │   │   ├── force_include.hpp
│   │   │   ├── input_iterator.hpp
│   │   │   ├── instantiate_algorithms.hpp
│   │   │   ├── instantiate_algorithms_int.hpp
│   │   │   ├── instantiate_algorithms_nontrivial.hpp
│   │   │   ├── instantiate_algorithms_op_deref.hpp
│   │   │   ├── instantiate_containers_iterators_common.hpp
│   │   │   ├── is_permissive.hpp
│   │   │   ├── new_counter.hpp
│   │   │   ├── parallel_algorithms_utilities.hpp
│   │   │   ├── range_algorithm_support.hpp
│   │   │   ├── temp_file_name.hpp
│   │   │   ├── test_container_requirements.hpp
│   │   │   ├── test_death.hpp
│   │   │   ├── test_filesystem_support.hpp
│   │   │   ├── test_format_support.hpp
│   │   │   ├── test_generator_support.hpp
│   │   │   ├── test_header_units_and_modules.hpp
│   │   │   ├── test_is_sorted_until_support.hpp
│   │   │   ├── test_mdspan_support.hpp
│   │   │   ├── test_min_max_element_support.hpp
│   │   │   ├── test_regex_support.hpp
│   │   │   ├── test_thread_support.hpp
│   │   │   ├── test_vector_algorithms_support.hpp
│   │   │   └── timezone_data.hpp
│   │   ├── lit.cfg
│   │   ├── lit.site.cfg.in
│   │   ├── rulesets/
│   │   │   └── stl.ruleset
│   │   ├── run.pl
│   │   ├── runbe.pl
│   │   ├── test.lst
│   │   └── tests/
│   │       ├── Dev08_496675_iostream_int_reading/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev08_527068_scl_no_exceptions/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── Dev08_563686_ostream/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev08_563705_std_malloc_free/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev08_576265_list_remove/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev08_584299_search_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_012361_vector_swap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_052961_has_iterator_debugging_0/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_056375_locale_cleanup/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── custombuild.pl
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── test.cpp
│   │       │   └── testdll.cpp
│   │       ├── Dev09_098637_stl_function_typeids/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_119637_throwing_string_with_hid0/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_119644_compiler_option_gz/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_126254_persistent_aux_allocators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_130060_unique_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_152755_tr1_nested_bind/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_153419_tr1_allocators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_154033_tr1_predicate_search_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_155328_tr1_vector_of_set/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_158181_tr1_unordered_meow_swap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_158457_tr1_mem_fn_calling_conventions/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_161106_tr1_bind_templated_fxn_call_operator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_165853_tr1_tuple_swap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_171205_tr1_assign_pair_to_tuple/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_172497_tr1_mem_fn_const_correctness/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_172505_tr1_bind_reference_wrapper/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_172666_tr1_tuple_odr/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── test.cpp
│   │       │   └── test2.cpp
│   │       ├── Dev09_173612_tr1_regex_leak/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_174589_tr1_function_storing_pmf_called_with_reference_or_pointer/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_175314_tr1_reference_wrapper_assignment/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_175716_tr1_dereferencing_reference_wrapper/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_176467_tr1_make_tuple_from_string_literal/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_176498_tr1_binding_functors_with_non_const_fxn_call_ops/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_181509_tr1_inf_loop_uniform_int_ull/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_182017_tr1_search_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_186118_stoullx_corner_cases/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_192736_tr1_prngs_not_copyconstructible/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_195561_tr1_function_const_op/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_196243_tr1_enable_shared_from_this_ops/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_199123_tr1_mem_fun_abstract_classes/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_391723_bind_result_type/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_414242_facet_bug_use_facet_ctype_char/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_441756_function_reference_wrapper/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_445289_make_shared/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_470547_facet_bug_stringstream/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_482830_header_only_string/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_491486_floating_point_hash/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_492345_tr1_function_swap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_498944_enable_shared_from_this_auto_ptr/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_500860_overloaded_address_of/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_544258_heterogeneous_comparisons/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_555491_complex_linker_errors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_561430_list_and_tree_leaks/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_562056_tree_leak/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_563443_empty_vector_begin_plus_zero/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_567556_move_from_empty_list/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_579381_vector_grow_to/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_590599_hash_string/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_609053_ctype_char_table_size/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── Dev10_617014_tuple_tie/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_632876_regex_proxy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_635436_shared_ptr_reset/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_639436_const_map_at/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_646244_bad_alloc_message/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_646556_construct_tuple_from_const/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_654977_655012_shared_ptr_move/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_661739_tuple_copy_ctors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_682964_stable_sort_warnings/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_689595_back_inserter_vector_bool/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_709168_marking_iterators_as_checked/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── Dev10_722102_shared_ptr_nullptr/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_729003_bind_reference_wrapper/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_766948_insert_ambiguity/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_780098_movable_elements/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_783436_rvalue_string_plus/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_809142_copy_n_istream_iterator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_814245_regex_character_class_crash/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_816787_swap_vector_bool_elements/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_847656_shared_ptr_is_convertible/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_851347_weak_ptr_virtual_inheritance/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_860410_bitset_ctors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_860421_deque_push_back_pop_front/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_881629_vector_erase_return_value/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_904413_moved_from_function_should_be_empty/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_905461_is_sorted_until/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_908702_string_memory_leak/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_909646_stringstream_vd2/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0000000_dual_range_algorithms/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0000000_function_crashes/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0000000_include_each_header_alone/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── Dev11_0000000_null_forward_iterators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0000000_quoted/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0000000_rotate_test/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0000000_tuple_cat/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0000000_user_defined_literals/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0019127_singular_iterators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0091392_string_erase_resize_perf/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0133625_locale0_implib_cpp/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0135139_vector_bool_comparisons/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0235721_async_and_packaged_task/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0253803_debug_pointer/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0272959_make_signed/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── Dev11_0289403_partition_point_complexity/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0299014_exception_ptr_requirements/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0302476_pair_move/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0314451_make_pair_make_tuple/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0316853_find_memchr_optimization/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0343056_pair_tuple_ctor_sfinae/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0376122_grand_theft_bind/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0377755_thread_ctor_move_only_types/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0387701_container_equality/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0417110_nullptr_t_is_scalar/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0435439_call_once_deadlock/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0437519_container_behavior/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0437519_container_requirements/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── Dev11_0447546_facet_allocation/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0483851_vector_debug_allocator_use/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── Dev11_0485243_condition_variable_crash/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0493504_error_category_lifetime/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0494593_time_put_wchar_t/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0496153_locale_ctor/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0532622_minmax_element/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0535636_functional_overhaul/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0555154_system_clock_to_time_t/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0577418_random_seed_0/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0579795_inplace_merge_out_of_memory/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0607540_pair_tuple_rvalue_references/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0617384_empty_std_function/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0653897_codecvt_partial/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0671816_list_splice/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0696045_future_wait_for/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0704582_ratio/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── Dev11_0732166_unordered_strong_guarantee/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0748972_function_crash_out_of_memory/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0823534_transparent_lookup/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0835323_to_string/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0836436_get_time/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0845312_comprehensive_floating_point/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0863628_atomic_compare_exchange/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0920385_list_sort_allocator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1003120_search_test/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1066589_shared_ptr_atomic_deadlock/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1066931_filesystem_rename_noop/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1074023_constexpr/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1086953_call_once_overhaul/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1114006_condition_variable_pred/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1127004_future_has_exceptions_0/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1131212_uncaught_exceptions/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1137366_nested_exception/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1140665_unique_ptr_array_conversions/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1150223_shared_mutex/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1158803_regex_thread_safety/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1180290_filesystem_error_code/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000073_regex_multiline_escape_hatch/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000140_adl_proof_comparison/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000140_adl_proof_construction/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000140_adl_proof_views/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000177_forbidden_aliasing/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000178_uniform_int/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000342_filebuf_close/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000431_copy_move_family/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000431_equal_family/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000431_equal_memcmp_is_safe/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000431_iter_copy_move_cat/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000431_lex_compare_family/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000431_lex_compare_memcmp_classify/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000442_random_subtract_with_carry_engine_io/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000457_system_error_message/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000519_cmath_overloads/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000527_remove_allocator_void/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000545_include_compare/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── test.cpp
│   │       │   ├── test_array.cpp
│   │       │   ├── test_chrono.cpp
│   │       │   ├── test_coroutine.cpp
│   │       │   ├── test_deque.cpp
│   │       │   ├── test_filesystem.cpp
│   │       │   ├── test_flat_map.cpp
│   │       │   ├── test_flat_set.cpp
│   │       │   ├── test_forward_list.cpp
│   │       │   ├── test_iterator.cpp
│   │       │   ├── test_list.cpp
│   │       │   ├── test_map.cpp
│   │       │   ├── test_memory.cpp
│   │       │   ├── test_optional.cpp
│   │       │   ├── test_queue.cpp
│   │       │   ├── test_ranges.cpp
│   │       │   ├── test_regex.cpp
│   │       │   ├── test_set.cpp
│   │       │   ├── test_stack.cpp
│   │       │   ├── test_stacktrace.cpp
│   │       │   ├── test_string.cpp
│   │       │   ├── test_string_view.cpp
│   │       │   ├── test_system_error.cpp
│   │       │   ├── test_thread.cpp
│   │       │   ├── test_tuple.cpp
│   │       │   ├── test_typeindex.cpp
│   │       │   ├── test_unordered_map.cpp
│   │       │   ├── test_unordered_set.cpp
│   │       │   ├── test_utility.cpp
│   │       │   ├── test_variant.cpp
│   │       │   └── test_vector.cpp
│   │       ├── GH_000625_vector_bool_optimization/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000639_nvcc_include_all/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000685_condition_variable_any/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000690_overaligned_function/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000732_hash_reserve/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000856_nth_element_linear/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000890_pow_template/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000935_complex_numerical_accuracy/
│   │       │   ├── env.lst
│   │       │   ├── floating_point_utils.hpp
│   │       │   ├── log_test_cases.hpp
│   │       │   ├── sqrt_test_cases.hpp
│   │       │   ├── test.cpp
│   │       │   └── test.hpp
│   │       ├── GH_000940_missing_valarray_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000952_bind_constraints/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000990_any_link_without_exceptions/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000995_regex_custom_char_types/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001001_random_rejection_rounding/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001010_filesystem_error_encoding/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001017_discrete_distribution_out_of_range/
│   │       │   ├── bad_random_engine.hpp
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001059_hyperbolic_truncation/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001086_partial_sort_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001103_countl_zero_correctness/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001105_custom_streambuf_throws/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001123_random_cast_out_of_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001277_num_get_bad_grouping/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001394_msvc_no_unique_address_23/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_001411_core_headers/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001530_binomial_accuracy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001541_case_sensitive_boolalpha/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001596_adl_proof_algorithms/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_001600_random_inheritance/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_001638_dllexport_derived_classes/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_001850_clog_tied_to_cout/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001858_iostream_exception/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001912_random_distribution_operator_const/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_001914_cached_position/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001923_filesystem_long_path_support/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── custombuild.pl
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── long_path_aware.manifest
│   │       │   └── test.cpp
│   │       ├── GH_002030_asan_annotate_string/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002030_asan_annotate_vector/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002039_byte_is_not_trivially_swappable/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_002045_put_time_changes_errno/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002058_debug_iterator_race/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002094_cpp_core_guidelines/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_002120_streambuf_seekpos_and_seekoff/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_002168_regex_overflow/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002206_unreserved_names/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_002299_implicit_sfinae_constraints/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_002307_usual_scope_guard/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002334_branchless_clamp/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002431_byte_range_find_with_unreachable_sentinel/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002488_promise_not_default_constructible_types/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002558_format_presetPadding/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_002581_common_reference_workaround/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_002620_construct_at_workaround/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002655_alternate_name_broke_linker/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002711_Zc_alignedNew-/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_002760_syncstream_memory_leak/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002769_handle_deque_block_pointers/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002789_Hash_vec_Tidy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002885_stable_sort_difference_type/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002989_nothrow_unwrappable/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002992_unwrappable_iter_sent_pairs/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_003003_format_decimal_point/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_003022_substr_allocator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_003105_piecewise_densities/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_003119_error_category_ctor/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_003246_cmath_narrowing/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_003570_allocate_at_least/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_003617_vectorized_meow_element/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_003663_cast_contiguous_iterator_difference_type/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_003676_format_large_hh_mm_ss_values/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_003735_char_traits_signatures/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_003840_tellg_when_reading_lf_file_in_text_mode/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_003867_output_nan/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004023_mdspan_fwd_prod_overflow/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_004040_container_nonmember_functions/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004108_some_ranges_algos_construct_wrong_type/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_004109_iter_value_t_direct_initialization/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_004129_conversion_in_new_numeric_algorithms/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004201_chrono_formatter/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004275_seeking_fancy_iterators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004388_unordered_meow_operator_equal/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004477_mdspan_warning_5246/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_004597_self_swap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004609_heterogeneous_cmp_overloads/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004618_mixed_operator_usage_keeps_statistical_properties/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004618_normal_distribution_avoids_resets/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004657_expected_constraints_permissive/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_004686_vectorization_on_trivial_assignability/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004845_logical_operator_traits_with_non_bool_constant/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_004929_internal_tag_constructors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004930_char_traits_user_specialization/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005090_stl_hardening/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005090_stl_hardening_cxx20_iterators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005204_regex_collating_ranges/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005236_collate_facet/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005244_regex_escape_sequences/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005276_system_error_heap_use_after_free/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005315_destructor_tombstones/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005402_string_with_volatile_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005421_vector_algorithms_integer_class_type_iterator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005472_do_not_overlap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005504_avoid_function_call_wrapping/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005546_containers_size_type_cast/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005553_regex_character_translation/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005768_pow_accuracy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005780_non_ascii_locales/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005800_stable_sort_large_alignment/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005816_numeric_limits_traps/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_005968_headers_provide_begin_end/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── shared_test.hpp
│   │       │   ├── test.cpp
│   │       │   ├── test_array.cpp
│   │       │   ├── test_deque.cpp
│   │       │   ├── test_flat_map.cpp
│   │       │   ├── test_flat_set.cpp
│   │       │   ├── test_forward_list.cpp
│   │       │   ├── test_hive.cpp
│   │       │   ├── test_inplace_vector.cpp
│   │       │   ├── test_iterator.cpp
│   │       │   ├── test_list.cpp
│   │       │   ├── test_map.cpp
│   │       │   ├── test_optional.cpp
│   │       │   ├── test_regex.cpp
│   │       │   ├── test_set.cpp
│   │       │   ├── test_span.cpp
│   │       │   ├── test_stacktrace.cpp
│   │       │   ├── test_string.cpp
│   │       │   ├── test_string_view.cpp
│   │       │   ├── test_unordered_map.cpp
│   │       │   ├── test_unordered_set.cpp
│   │       │   ├── test_valarray.cpp
│   │       │   └── test_vector.cpp
│   │       ├── LWG2381_num_get_floating_point/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── LWG2510_tag_classes/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── LWG2597_complex_branch_cut/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── LWG3018_shared_ptr_function/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── LWG3121_constrained_tuple_forwarding_ctor/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── LWG3146_excessive_unwrapping_ref_cref/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── LWG3234_math_special_overloads/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── LWG3422_seed_seq_ctors/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── LWG3480_directory_iterator_range/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── LWG3528_make_from_tuple_impl/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── LWG3545_pointer_traits_sfinae/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── LWG3561_discard_block_engine_counter/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── LWG3610_iota_view_size_and_integer_class/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── LWG4015_optional_adl_proof_operations/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── LWG4084_iostream_uppercase_inf_nan/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── LWG4105_ranges_ends_with_and_integer_class/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── LWG4172_unique_lock_self_move_assignment/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_default_accessor/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_extents/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_extents_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_layout_left/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_layout_left_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_layout_right/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_layout_right_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_layout_stride/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_layout_stride_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_mdspan/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_mdspan_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_msabi/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0019R8_atomic_ref/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_adjacent_difference/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_adjacent_find/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_all_of/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_count/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_equal/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_exclusive_scan/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_find/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_find_end/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_find_first_of/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_for_each/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_inclusive_scan/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_is_heap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_is_partitioned/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_is_sorted/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_mismatch/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_partition/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_reduce/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_remove/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_replace/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_search/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_search_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_set_difference/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_set_intersection/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_sort/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_stable_sort/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_transform/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_transform_exclusive_scan/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_transform_inclusive_scan/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_transform_reduce/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0035R4_over_aligned_allocation/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0040R3_extending_memory_management_tools/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0040R3_parallel_memory_algorithms/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0053R7_cpp_synchronized_buffered_ostream/
│   │       │   ├── env.lst
│   │       │   ├── test.cpp
│   │       │   └── test.hpp
│   │       ├── P0067R5_charconv/
│   │       │   ├── double_fixed_precision_to_chars_test_cases_1.hpp
│   │       │   ├── double_fixed_precision_to_chars_test_cases_2.hpp
│   │       │   ├── double_fixed_precision_to_chars_test_cases_3.hpp
│   │       │   ├── double_fixed_precision_to_chars_test_cases_4.hpp
│   │       │   ├── double_from_chars_test_cases.hpp
│   │       │   ├── double_general_precision_to_chars_test_cases.hpp
│   │       │   ├── double_hex_precision_to_chars_test_cases.hpp
│   │       │   ├── double_scientific_precision_to_chars_test_cases_1.hpp
│   │       │   ├── double_scientific_precision_to_chars_test_cases_2.hpp
│   │       │   ├── double_scientific_precision_to_chars_test_cases_3.hpp
│   │       │   ├── double_scientific_precision_to_chars_test_cases_4.hpp
│   │       │   ├── double_to_chars_test_cases.hpp
│   │       │   ├── env.lst
│   │       │   ├── float_fixed_precision_to_chars_test_cases.hpp
│   │       │   ├── float_from_chars_test_cases.hpp
│   │       │   ├── float_general_precision_to_chars_test_cases.hpp
│   │       │   ├── float_hex_precision_to_chars_test_cases.hpp
│   │       │   ├── float_scientific_precision_to_chars_test_cases.hpp
│   │       │   ├── float_to_chars_test_cases.hpp
│   │       │   ├── test.cpp
│   │       │   ├── test.hpp
│   │       │   └── wchar_test_cases.hpp
│   │       ├── P0083R3_splicing_maps_and_sets/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0088R3_variant/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0088R3_variant_msvc/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0092R1_polishing_chrono/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0122R7_span/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0122R7_span_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0137R1_launder/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0156R2_scoped_lock/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0202R3_constexpr_algorithm_and_exchange/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0218R1_filesystem/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0220R1_any/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0220R1_optional/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0220R1_optional_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0220R1_polymorphic_memory_resources/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0220R1_sample/
│   │       │   ├── adapterator.hpp
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0220R1_searchers/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0220R1_string_view/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0226R1_math_special_functions/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0288R9_move_only_function/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0295R0_gcd_lcm/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0323R12_expected/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0325R4_to_array/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0339R6_polymorphic_allocator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0355R7_calendars_and_time_zones_clocks/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0355R7_calendars_and_time_zones_dates/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0355R7_calendars_and_time_zones_dates_literals/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0355R7_calendars_and_time_zones_formatting/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0355R7_calendars_and_time_zones_hms/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0355R7_calendars_and_time_zones_io/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0355R7_calendars_and_time_zones_time_point_and_durations/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0355R7_calendars_and_time_zones_time_zones/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0355R7_calendars_and_time_zones_zoned_time/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0356R5_bind_front/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0357R3_supporting_incomplete_types_in_reference_wrapper/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0401R6_allocate_at_least/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0408R7_efficient_access_to_stringbuf_buffer/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0414R2_shared_ptr_for_arrays/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0415R1_constexpr_complex/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0426R1_constexpr_char_traits/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0429R9_flat_map/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0429R9_flat_map_ms_specific/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0433R2_deduction_guides/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0448R4_iosfwd/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0448R4_spanstream/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0475R1_P0591R4_uses_allocator_construction/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0476R2_bit_cast/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0487R1_fixing_operator_shl_basic_istream_char_pointer/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0513R0_poisoning_the_hash/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0528R3_cmpxchg_pad/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0553R4_bit_rotating_and_counting_functions/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0556R3_bit_integral_power_of_two_operations/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0586R2_integer_comparison/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0595R2_is_constant_evaluated/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0607R0_inline_variables/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── test.cpp
│   │       │   └── test2.cpp
│   │       ├── P0608R3_improved_variant_converting_constructor/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0616R0_using_move_in_numeric/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0627R6_unreachable/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0631R8_numbers_math_constants/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_args/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_custom_formatting/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_formatting/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_grapheme_clusterization/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_legacy_text_encoding/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_parse_contexts/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_parsing/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_utf8/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0660R10_jthread_and_cv_any/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0660R10_stop_token/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0660R10_stop_token_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0674R1_make_shared_for_arrays/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0718R2_atomic_smart_ptrs/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0753R2_manipulators_for_cpp_synchronized_buffered_ostream/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0758R1_is_nothrow_convertible/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0768R1_spaceship_cpos/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0768R1_spaceship_operator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0769R2_shift_left_shift_right/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0784R7_library_machinery/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0784R7_library_support_for_more_constexpr_containers/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0798R8_monadic_operations_for_std_optional/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0811R3_midpoint_lerp/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0881R7_stacktrace/
│   │       │   ├── env.lst
│   │       │   ├── postexecute.pl
│   │       │   └── test.cpp
│   │       ├── P0896R4_and_P1614R2_comparisons/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_common_iterator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_common_iterator_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_counted_iterator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_counted_iterator_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_istream_view/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_istream_view_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_adjacent_find/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_all_of/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_any_of/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_binary_search/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_copy_backward/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_copy_if/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_copy_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_count/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_count_if/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_equal/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_fill/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_fill_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_find/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_find_end/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_find_first_of/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_find_if/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_find_if_not/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_for_each/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_for_each_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_generate/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_generate_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_heap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_includes/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_inplace_merge/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_is_permutation/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_is_sorted/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_lexicographical_compare/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_merge/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_minmax/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_mismatch/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_move/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_move_backward/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_none_of/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_nth_element/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_partial_sort/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_partial_sort_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_partition/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_partition_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_partition_point/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_permutations/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_remove/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_remove_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_remove_copy_if/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_remove_if/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_replace/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_replace_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_replace_copy_if/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_replace_if/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_reverse/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_reverse_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_rotate/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_rotate_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_sample/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_search/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_search_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_set_difference/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_set_intersection/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_set_symmetric_difference/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_set_union/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_shuffle/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_sort/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_stable_partition/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_stable_sort/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_swap_ranges/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_transform_binary/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_transform_unary/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_copy_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_default_construct/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_default_construct_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_fill/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_fill_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_move/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_move_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_value_construct/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_value_construct_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_unique/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_unique_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_algorithm_machinery/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0896R4_ranges_iterator_machinery/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_range_machinery/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_ref_view/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_subrange/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0896R4_ranges_test_machinery/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0896R4_ranges_to_address/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_stream_iterators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_all/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_common/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_counted/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_counted_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_drop/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_drop_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_drop_while/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_drop_while_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_elements/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_empty/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_filter/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_filter_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_filter_iterator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_iota/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_iota_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_join/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_lazy_split/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_reverse/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_single/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_split/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_take/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_take_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_take_while/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_take_while_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_transform/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_transform_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0898R3_concepts/
│   │       │   ├── env.lst
│   │       │   ├── invocable_cc.hpp
│   │       │   └── test.cpp
│   │       ├── P0898R3_identity/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0912R5_coroutine/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0919R3_heterogeneous_unordered_lookup/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0943R6_stdatomic_h/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0952R2_new_generate_canonical/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0966R1_string_reserve_should_not_shrink/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0980R1_constexpr_strings/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1004R2_constexpr_vector/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1004R2_constexpr_vector_bool/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1007R3_assume_aligned/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1020R1_smart_pointer_for_overwrite/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1023R0_constexpr_for_array_comparisons/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1032R1_miscellaneous_constexpr/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1132R7_out_ptr/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1135R6_atomic_flag_test/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1135R6_atomic_wait/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1135R6_barrier/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1135R6_latch/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1135R6_semaphore/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1147R1_printing_volatile_pointers/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1165R1_consistently_propagating_stateful_allocators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1169R4_static_call_operator/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P1206R7_deque_append_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_deque_assign_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_deque_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_deque_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_deque_prepend_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_forward_list_assign_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_forward_list_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_forward_list_insert_range_after/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_forward_list_prepend_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P1206R7_list_append_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_list_assign_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_list_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_list_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_list_prepend_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_map_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_map_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_multimap_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_multimap_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_multiset_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_multiset_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_priority_queue_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_priority_queue_push_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_queue_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_queue_push_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_ranges_to_mappish/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_ranges_to_misc/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_ranges_to_sequence/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_ranges_to_settish/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_set_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_set_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_stack_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_stack_push_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_string_append_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_string_assign_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_string_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_string_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_string_replace_with_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_unordered_map_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_unordered_map_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_unordered_multimap_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_unordered_multimap_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_unordered_multiset_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_unordered_multiset_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_unordered_set_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_unordered_set_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_vector_append_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_vector_assign_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_vector_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_vector_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1208R6_source_location/
│   │       │   ├── env.lst
│   │       │   ├── header.h
│   │       │   └── test.cpp
│   │       ├── P1209R0_erase_if_erase/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1222R4_flat_set/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1223R5_ranges_alg_find_last/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1223R5_ranges_alg_find_last_if/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1223R5_ranges_alg_find_last_if_not/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1272R4_byteswap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1423R3_char8_t_remediation/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P1425R4_queue_stack_constructors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1502R1_standard_library_header_units/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── custombuild.pl
│   │       │   ├── env.lst
│   │       │   ├── importable_cxx_library_headers.jsonc
│   │       │   ├── lit.local.cfg
│   │       │   └── test.cpp
│   │       ├── P1518R2_stop_overconstraining_allocators/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P1522R1_difference_type/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1614R2_spaceship/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1645R1_constexpr_numeric/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1659R3_ranges_alg_ends_with/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1659R3_ranges_alg_starts_with/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1682R3_to_underlying/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1899R3_views_stride/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1899R3_views_stride_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1951R1_default_arguments_pair_forward_ctor/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2093R14_formatted_output/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2136R3_invoke_r/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2162R2_std_visit_for_derived_classes_from_variant/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2164R9_views_enumerate/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2165R4_tuple_like_common_reference/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2165R4_tuple_like_common_type/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2165R4_tuple_like_operations/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2165R4_tuple_like_pair/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2165R4_tuple_like_relational_operators/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2165R4_tuple_like_tuple_members/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2231R1_complete_constexpr_optional_variant/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2255R2_invocation/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2255R2_reference_constructs_from_temporary/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2255R2_reference_converts_from_temporary/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2255R2_tuple_pair_construction/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2273R3_constexpr_unique_ptr/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2278R4_basic_const_iterator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2278R4_const_span/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2278R4_ranges_const_iterator_machinery/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2278R4_ranges_const_range_machinery/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2278R4_views_as_const/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_container_adaptors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_debug_enabled_specializations/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_escaping/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_escaping_legacy_text_encoding/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_escaping_utf8/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_formattable/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2286R8_text_formatting_header_queue/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2286R8_text_formatting_header_stack/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2286R8_text_formatting_header_vector/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2286R8_text_formatting_range_formatter/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_range_map/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_range_sequence/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_range_set/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_range_string/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_range_string_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_tuple/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_tuple_disambiguation/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_vector_bool_reference/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2302R4_ranges_alg_contains/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2302R4_ranges_alg_contains_subrange/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2321R2_proxy_reference/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2321R2_views_adjacent/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2321R2_views_adjacent_transform/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2321R2_views_zip/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2321R2_views_zip_transform/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2322R6_ranges_alg_fold/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2374R4_checked_arithmetic_operations/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2374R4_views_cartesian_product/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2374R4_views_cartesian_product_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2374R4_views_cartesian_product_recommended_practices/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2387R3_bind_back/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2387R3_pipe_support_for_user_defined_range_adaptors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2401R0_conditional_noexcept_for_exchange/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2404R3_move_only_types_for_comparison_concepts/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2408R5_ranges_iterators_to_classic_algorithms/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2415R2_owning_view/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2417R2_constexpr_bitset/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2438R2_substr_rvalue/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2440R1_ranges_alg_shift_left/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2440R1_ranges_alg_shift_right/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2440R1_ranges_numeric_iota/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2441R2_views_join_with/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2442R1_signed128_div_ceil/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2442R1_views_chunk/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2442R1_views_chunk_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2442R1_views_slide/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2442R1_views_slide_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2443R1_views_chunk_by/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2443R1_views_chunk_by_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2445R1_forward_like/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2446R2_views_as_rvalue/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2465R3_standard_library_modules/
│   │       │   ├── __init__.py
│   │       │   ├── classic.cpp
│   │       │   ├── custom_format.py
│   │       │   ├── custombuild.pl
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── test.cpp
│   │       │   ├── test2.cpp
│   │       │   ├── test3.cpp
│   │       │   └── test4.cpp
│   │       ├── P2467R1_exclusive_mode_fstreams/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2474R2_views_repeat/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2474R2_views_repeat_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2494R2_move_only_range_adaptors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2502R2_generator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2502R2_generator_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2502R2_generator_iterator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2502R2_generator_promise/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2505R5_monadic_functions_for_std_expected/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2510R3_text_formatting_pointers/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2517R1_apply_conditional_noexcept/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2538R1_adl_proof_std_projected/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2609R3_relaxing_ranges_just_a_smidge/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2674R1_is_implicit_lifetime/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2693R1_ostream_and_thread_id/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2693R1_text_formatting_header_stacktrace/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2693R1_text_formatting_header_thread/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2693R1_text_formatting_stacktrace/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2693R1_text_formatting_thread_id/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P3016R6_inconsistent_begin_end/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P3107R5_enabled_specializations/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P3349R1_contiguous_iterators_to_pointers/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P3503R3_packaged_task_promise_with_allocator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_allocator_propagation/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_any_calling_conventions/
│   │       │   ├── __init__.py
│   │       │   ├── a.cpp
│   │       │   ├── ab.hpp
│   │       │   ├── b.cpp
│   │       │   ├── custom_format.py
│   │       │   ├── custombuild.pl
│   │       │   ├── env.lst
│   │       │   └── lit.local.cfg
│   │       ├── VSO_0000000_c_math_functions/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_condition_variable_any_exceptions/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_container_allocator_constructors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_exception_ptr_rethrow_seh/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_fancy_pointers/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_has_static_rtti/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_initialize_everything/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_16_difference_type_1/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_16_difference_type_2/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_32_difference_type_1/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_32_difference_type_2/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_64_difference_type_1/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_64_difference_type_2/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_int_1/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_int_2/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_nontrivial_1/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_nontrivial_2/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_containers/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_iterators_misc/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_type_traits/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_list_iterator_debugging/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_list_unique_self_reference/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_matching_npos_address/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── test.cpp
│   │       │   └── test2.cpp
│   │       ├── VSO_0000000_more_pair_tuple_sfinae/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_nullptr_stream_out/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_path_stream_parameter/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_regex_interface/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_regex_use/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_string_view_idl/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_type_traits/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_vector_algorithms/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_vector_algorithms_floats/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_vector_algorithms_mismatch_and_lex_compare/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_vector_algorithms_search_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_wcfb01_idempotent_container_destructors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_wchar_t_filebuf_xsmeown/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0095468_clr_exception_ptr_bad_alloc/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0095837_current_exception_dtor/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0099869_pow_float_overflow/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0102478_moving_allocators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0104705_throwing_copy_in_current_exception/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0104705_throwing_copy_in_current_exception_seh/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0105317_expression_sfinae/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0118461_min_max_noexcept/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0121275_filesystem_canonical_should_handle_many_double_dots/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0121440_is_iterator_iterator_traits/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0131167_associative_emplacement_allocations/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0135428_custom_char_traits_string/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0144114_sleep_until/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0144294_unordered_map_max_bucket_count/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0149983_system_error_broken_pipe/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0157762_feature_test_macros/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0174871_string_replace/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0180466_algorithm_overhauls/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0180469_fill_family/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0191296_allocator_construct/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0204655_heap_algorithms_integer_overflow/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0224478_scoped_allocator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0226079_mutex/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0234888_num_get_overflows/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0397980_codecvt_length/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0429900_fast_debug_range_based_for/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0474901_shift_jis_codecvt/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0493909_is_aggregate/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0512710_terminate_current_exception_from_noexcept_function/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0512710_terminate_current_exception_from_noexcept_function_2/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0512710_terminate_current_exception_from_unwind/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0527559_pragma_managed/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0575109_string_ambiguous_overloads/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0599804_seekg_zero/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0644691_utf_8_codecvt/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0663136_string_includes_cctype/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0664587_lcg_divide_by_zero/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0677157_flist_merge_edge_cases/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0735700_fstream_read_over_4k/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0736657_unordered_assign_rehash/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0744055_atomic_load_8_bytes_readonly/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0792651_unordered_set_rehash_invalidates_key/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0830211_container_debugging_range_checks/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0849827_multicontainer_emplace_hint_position/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0938757_attribute_order/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0961751_hash_range_erase/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0971246_legacy_await_headers/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_1775715_user_defined_modules/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── custombuild.pl
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── test.cpp
│   │       │   └── user.ixx
│   │       ├── VSO_1804139_static_analysis_warning_with_single_element_array/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_1925201_iter_traits/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_2252142_wrong_C5046/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_2318081_bogus_const_overloading/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── callconv_matrix.lst
│   │       ├── char8_t_17_matrix.lst
│   │       ├── char8_t_impure_matrix.lst
│   │       ├── char8_t_matrix.lst
│   │       ├── clr_matrix.lst
│   │       ├── eha_matrix.lst
│   │       ├── fast_matrix.lst
│   │       ├── fast_no_asan_matrix.lst
│   │       ├── floating_point_model_matrix.lst
│   │       ├── impure_matrix.lst
│   │       ├── include_each_header_alone_matrix.lst
│   │       ├── locale0_implib_cpp_matrix.lst
│   │       ├── modules_20_matrix.lst
│   │       ├── prefix.lst
│   │       ├── rtti_matrix.lst
│   │       ├── strict_20_matrix.lst
│   │       ├── strict_latest_matrix.lst
│   │       ├── usual_17_matrix.lst
│   │       ├── usual_20_matrix.lst
│   │       ├── usual_latest_matrix.lst
│   │       └── usual_matrix.lst
│   ├── tr1/
│   │   ├── CMakeLists.txt
│   │   ├── README.md
│   │   ├── env.lst
│   │   ├── env_minus_md_idl.lst
│   │   ├── env_minus_pure.lst
│   │   ├── expected_results.txt
│   │   ├── include/
│   │   │   ├── tcvt.h
│   │   │   ├── tdefs.h
│   │   │   ├── tfuns.h
│   │   │   ├── tspec_random.h
│   │   │   ├── tspec_random_defs.h
│   │   │   └── typetr.h
│   │   ├── lit.cfg
│   │   ├── lit.site.cfg.in
│   │   ├── prefix.lst
│   │   ├── run.pl
│   │   ├── runbe.pl
│   │   ├── test.lst
│   │   └── tests/
│   │       ├── algorithm/
│   │       │   └── test.cpp
│   │       ├── array/
│   │       │   └── test.cpp
│   │       ├── atomic/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── bitset/
│   │       │   └── test.cpp
│   │       ├── cctype/
│   │       │   └── test.cpp
│   │       ├── cerrno/
│   │       │   └── test.cpp
│   │       ├── cfloat/
│   │       │   └── test.cpp
│   │       ├── chrono/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── ciso646/
│   │       │   └── test.cpp
│   │       ├── climits/
│   │       │   └── test.cpp
│   │       ├── clocale/
│   │       │   └── test.cpp
│   │       ├── cmath1/
│   │       │   └── test.cpp
│   │       ├── cmath2/
│   │       │   └── test.cpp
│   │       ├── cmath3/
│   │       │   └── test.cpp
│   │       ├── codecvt/
│   │       │   └── test.cpp
│   │       ├── complex1/
│   │       │   └── test.cpp
│   │       ├── complex2/
│   │       │   └── test.cpp
│   │       ├── complex3/
│   │       │   └── test.cpp
│   │       ├── csetjmp/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── csignal/
│   │       │   └── test.cpp
│   │       ├── cstdarg/
│   │       │   └── test.cpp
│   │       ├── cstdbool/
│   │       │   └── test.cpp
│   │       ├── cstddef/
│   │       │   └── test.cpp
│   │       ├── cstdint/
│   │       │   └── test.cpp
│   │       ├── cstdio/
│   │       │   └── test.cpp
│   │       ├── cstring/
│   │       │   └── test.cpp
│   │       ├── ctime/
│   │       │   └── test.cpp
│   │       ├── cwchar1/
│   │       │   └── test.cpp
│   │       ├── cwchar2/
│   │       │   └── test.cpp
│   │       ├── cwctype/
│   │       │   └── test.cpp
│   │       ├── deque/
│   │       │   └── test.cpp
│   │       ├── exception/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── filesystem1/
│   │       │   └── test.cpp
│   │       ├── forward_list/
│   │       │   └── test.cpp
│   │       ├── fstream1/
│   │       │   └── test.cpp
│   │       ├── fstream2/
│   │       │   └── test.cpp
│   │       ├── functional/
│   │       │   └── test.cpp
│   │       ├── functional1/
│   │       │   └── test.cpp
│   │       ├── functional2/
│   │       │   └── test.cpp
│   │       ├── functional3/
│   │       │   └── test.cpp
│   │       ├── functional4/
│   │       │   └── test.cpp
│   │       ├── functional5/
│   │       │   └── test.cpp
│   │       ├── functional6/
│   │       │   └── test.cpp
│   │       ├── functional7/
│   │       │   └── test.cpp
│   │       ├── functional7a/
│   │       │   └── test.cpp
│   │       ├── functional8/
│   │       │   └── test.cpp
│   │       ├── functional9/
│   │       │   └── test.cpp
│   │       ├── future/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── future1/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── initializer_list/
│   │       │   └── test.cpp
│   │       ├── iomanip/
│   │       │   └── test.cpp
│   │       ├── ios/
│   │       │   └── test.cpp
│   │       ├── iosfwd/
│   │       │   └── test.cpp
│   │       ├── iostream1/
│   │       │   └── test.cpp
│   │       ├── istream1/
│   │       │   └── test.cpp
│   │       ├── istream2/
│   │       │   └── test.cpp
│   │       ├── iterator/
│   │       │   └── test.cpp
│   │       ├── limits/
│   │       │   └── test.cpp
│   │       ├── list/
│   │       │   └── test.cpp
│   │       ├── locale1/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── locale2/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── locale3/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── locale4/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── locale7/
│   │       │   └── test.cpp
│   │       ├── locale8/
│   │       │   └── test.cpp
│   │       ├── map/
│   │       │   └── test.cpp
│   │       ├── memory/
│   │       │   └── test.cpp
│   │       ├── memory1/
│   │       │   └── test.cpp
│   │       ├── memory2/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── memory3/
│   │       │   └── test.cpp
│   │       ├── new/
│   │       │   └── test.cpp
│   │       ├── numeric/
│   │       │   └── test.cpp
│   │       ├── ostream1/
│   │       │   └── test.cpp
│   │       ├── ostream2/
│   │       │   └── test.cpp
│   │       ├── queue/
│   │       │   └── test.cpp
│   │       ├── random1/
│   │       │   └── test.cpp
│   │       ├── random2/
│   │       │   └── test.cpp
│   │       ├── random4/
│   │       │   └── test.cpp
│   │       ├── random5/
│   │       │   └── test.cpp
│   │       ├── random6/
│   │       │   └── test.cpp
│   │       ├── ratio/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── regex1/
│   │       │   └── test.cpp
│   │       ├── regex2/
│   │       │   └── test.cpp
│   │       ├── regex3/
│   │       │   └── test.cpp
│   │       ├── regex4/
│   │       │   └── test.cpp
│   │       ├── scoped_allocator/
│   │       │   └── test.cpp
│   │       ├── set/
│   │       │   └── test.cpp
│   │       ├── sstream1/
│   │       │   └── test.cpp
│   │       ├── sstream2/
│   │       │   └── test.cpp
│   │       ├── stack/
│   │       │   └── test.cpp
│   │       ├── stdexcept/
│   │       │   └── test.cpp
│   │       ├── streambuf1/
│   │       │   └── test.cpp
│   │       ├── streambuf2/
│   │       │   └── test.cpp
│   │       ├── string1/
│   │       │   └── test.cpp
│   │       ├── string2/
│   │       │   └── test.cpp
│   │       ├── strstream/
│   │       │   └── test.cpp
│   │       ├── system_error/
│   │       │   └── test.cpp
│   │       ├── tuple/
│   │       │   └── test.cpp
│   │       ├── type_traits1/
│   │       │   └── test.cpp
│   │       ├── type_traits2/
│   │       │   └── test.cpp
│   │       ├── type_traits3/
│   │       │   └── test.cpp
│   │       ├── type_traits4/
│   │       │   └── test.cpp
│   │       ├── type_traits5/
│   │       │   └── test.cpp
│   │       ├── type_traits6/
│   │       │   └── test.cpp
│   │       ├── type_traits7/
│   │       │   └── test.cpp
│   │       ├── typeindex/
│   │       │   └── test.cpp
│   │       ├── typeinfo/
│   │       │   └── test.cpp
│   │       ├── unordered_map/
│   │       │   └── test.cpp
│   │       ├── unordered_set/
│   │       │   └── test.cpp
│   │       ├── utility/
│   │       │   └── test.cpp
│   │       ├── utility1/
│   │       │   └── test.cpp
│   │       ├── valarray/
│   │       │   └── test.cpp
│   │       └── vector/
│   │           └── test.cpp
│   ├── universal_prefix.lst
│   └── utils/
│       ├── stl/
│       │   ├── __init__.py
│       │   ├── test/
│       │   │   ├── __init__.py
│       │   │   ├── config.py
│       │   │   ├── features.py
│       │   │   ├── file_parsing.py
│       │   │   ├── format.py
│       │   │   ├── params.py
│       │   │   └── tests.py
│       │   └── util.py
│       └── stl-lit/
│           ├── CMakeLists.txt
│           └── stl-lit.in
└── tools/
    ├── CMakeLists.txt
    ├── CMakeSettings.json
    ├── format/
    │   └── CMakeLists.txt
    ├── scripts/
    │   ├── charconv_generate.cpp
    │   ├── charconv_tables_generate.cpp
    │   ├── check_libcxx_paths.py
    │   ├── check_test_lst_paths.py
    │   ├── move_only_function_specializations.py
    │   ├── print_failures.py
    │   └── transform_llvm.sh
    ├── unicode_properties_parse/
    │   ├── .gitignore
    │   ├── download_unicode_data_files.py
    │   ├── grapheme_break_test_data_gen.py
    │   └── unicode_properties_data_gen.py
    └── validate/
        ├── CMakeLists.txt
        └── validate.cpp

================================================
FILE CONTENTS
================================================

================================================
FILE: .clang-format
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# https://releases.llvm.org/20.1.0/tools/clang/docs/ClangFormatStyleOptions.html

# To update this .clang-format file for a new clang-format version:
# 1. Update the documentation link above.
# 2. Copy the output of `clang-format -dump-config --style=LLVM` into a temporary file.
#    a. Comment out all of its lines.
# 3. Compare that temporary file to this .clang-format file.
# 4. Adjust this .clang-format file to record new and updated options.
#    a. Read the new documentation to understand such changes.
# 5. The goal is for the comparison from the temporary file to this .clang-format file to be pure additions (green).
#    a. That is, comments here are recording the defaults, while added lines are our customized settings.

---
# Language:        Cpp
BasedOnStyle:  LLVM
# AccessModifierOffset: -2
AccessModifierOffset: -4
# AlignAfterOpenBracket: Align
AlignAfterOpenBracket: DontAlign
# AlignArrayOfStructures: None
# AlignConsecutiveAssignments:
#   Enabled:         false
#   AcrossEmptyLines: false
#   AcrossComments:  false
#   AlignCompound:   false
#   AlignFunctionDeclarations: false
#   AlignFunctionPointers: false
#   PadOperators:    true
AlignConsecutiveAssignments: Consecutive
# AlignConsecutiveBitFields:
#   Enabled:         false
#   AcrossEmptyLines: false
#   AcrossComments:  false
#   AlignCompound:   false
#   AlignFunctionDeclarations: false
#   AlignFunctionPointers: false
#   PadOperators:    false
# AlignConsecutiveDeclarations:
#   Enabled:         false
#   AcrossEmptyLines: false
#   AcrossComments:  false
#   AlignCompound:   false
#   AlignFunctionDeclarations: true
#   AlignFunctionPointers: false
#   PadOperators:    false
# AlignConsecutiveMacros:
#   Enabled:         false
#   AcrossEmptyLines: false
#   AcrossComments:  false
#   AlignCompound:   false
#   AlignFunctionDeclarations: false
#   AlignFunctionPointers: false
#   PadOperators:    false
AlignConsecutiveMacros: Consecutive
# AlignConsecutiveShortCaseStatements:
#   Enabled:         false
#   AcrossEmptyLines: false
#   AcrossComments:  false
#   AlignCaseArrows: false
#   AlignCaseColons: false
# AlignConsecutiveTableGenBreakingDAGArgColons:
#   Enabled:         false
#   AcrossEmptyLines: false
#   AcrossComments:  false
#   AlignCompound:   false
#   AlignFunctionDeclarations: false
#   AlignFunctionPointers: false
#   PadOperators:    false
# AlignConsecutiveTableGenCondOperatorColons:
#   Enabled:         false
#   AcrossEmptyLines: false
#   AcrossComments:  false
#   AlignCompound:   false
#   AlignFunctionDeclarations: false
#   AlignFunctionPointers: false
#   PadOperators:    false
# AlignConsecutiveTableGenDefinitionColons:
#   Enabled:         false
#   AcrossEmptyLines: false
#   AcrossComments:  false
#   AlignCompound:   false
#   AlignFunctionDeclarations: false
#   AlignFunctionPointers: false
#   PadOperators:    false
# AlignEscapedNewlines: Right
AlignEscapedNewlines: Left
# AlignOperands:   Align
AlignOperands: AlignAfterOperator
# AlignTrailingComments:
#   Kind:            Always
#   OverEmptyLines:  0
AlignTrailingComments:
  Kind:            Never
# AllowAllArgumentsOnNextLine: true
# AllowAllParametersOfDeclarationOnNextLine: true
# AllowBreakBeforeNoexceptSpecifier: Never
AllowBreakBeforeNoexceptSpecifier: OnlyWithParen
# AllowShortBlocksOnASingleLine: Never
# AllowShortCaseExpressionOnASingleLine: true
# AllowShortCaseLabelsOnASingleLine: false
# AllowShortCompoundRequirementOnASingleLine: true
# AllowShortEnumsOnASingleLine: true
# AllowShortFunctionsOnASingleLine: All
AllowShortFunctionsOnASingleLine: Empty
# AllowShortIfStatementsOnASingleLine: Never
# AllowShortLambdasOnASingleLine: All
# AllowShortLoopsOnASingleLine: false
# AllowShortNamespacesOnASingleLine: false
# AlwaysBreakAfterDefinitionReturnType: None
# AlwaysBreakBeforeMultilineStrings: false
# AttributeMacros:
#   - __capability
# BinPackArguments: true
# BinPackParameters: BinPack
# BitFieldColonSpacing: Both
# BraceWrapping:
#   AfterCaseLabel:  false
#   AfterClass:      false
#   AfterControlStatement: Never
#   AfterEnum:       false
#   AfterExternBlock: false
#   AfterFunction:   false
#   AfterNamespace:  false
#   AfterObjCDeclaration: false
#   AfterStruct:     false
#   AfterUnion:      false
#   BeforeCatch:     false
#   BeforeElse:      false
#   BeforeLambdaBody: false
#   BeforeWhile:     false
#   IndentBraces:    false
#   SplitEmptyFunction: true
#   SplitEmptyRecord: true
#   SplitEmptyNamespace: true
# BreakAdjacentStringLiterals: true
# BreakAfterAttributes: Leave
BreakAfterAttributes: Never
# BreakAfterJavaFieldAnnotations: false
# BreakAfterReturnType: None
# BreakArrays:     true
# BreakBeforeBinaryOperators: None
BreakBeforeBinaryOperators: NonAssignment
# BreakBeforeConceptDeclarations: Always
# BreakBeforeBraces: Attach
# BreakBeforeInlineASMColon: OnlyMultiline
# BreakBeforeTernaryOperators: true
# BreakBinaryOperations: Never
# BreakConstructorInitializers: BeforeColon
# BreakFunctionDefinitionParameters: false
# BreakInheritanceList: BeforeColon
# BreakStringLiterals: true
# BreakTemplateDeclarations: MultiLine
BreakTemplateDeclarations: Yes
# ColumnLimit:     80
ColumnLimit:     120
# CommentPragmas:  '^ IWYU pragma:'
# CompactNamespaces: false
# ConstructorInitializerIndentWidth: 4
# ContinuationIndentWidth: 4
# Cpp11BracedListStyle: true
# DerivePointerAlignment: false
# DisableFormat:   false
# EmptyLineAfterAccessModifier: Never
# EmptyLineBeforeAccessModifier: LogicalBlock
# ExperimentalAutoDetectBinPacking: false
# FixNamespaceComments: true
# ForEachMacros:
#   - foreach
#   - Q_FOREACH
#   - BOOST_FOREACH
# IfMacros:
#   - KJ_IF_MAYBE
# IncludeBlocks:   Preserve
IncludeBlocks:   Regroup
# IncludeCategories:
#   - Regex:           '^"(llvm|llvm-c|clang|clang-c)/'
#     Priority:        2
#     SortPriority:    0
#     CaseSensitive:   false
#   - Regex:           '^(<|"(gtest|gmock|isl|json)/)'
#     Priority:        3
#     SortPriority:    0
#     CaseSensitive:   false
#   - Regex:           '.*'
#     Priority:        1
#     SortPriority:    0
#     CaseSensitive:   false
IncludeCategories:
  - Regex:           '^<(yvals|yvals_core)\.h>$'
    Priority:        10
  - Regex:           '^<__msvc_.*\.hpp>$'
    Priority:        20
  - Regex:           '^<initguid\.h>$' # <initguid.h> should be included before any header that includes <guiddef.h>
    Priority:        30
    SortPriority:    30
  - Regex:           '^<(DbgEng|DbgHelp|Shlwapi|Windows)\.h>$'
    Priority:        30
    SortPriority:    31
  - Regex:           '^<winioctl\.h>$'
    Priority:        30
    SortPriority:    32
  - Regex:           '\.hpp[>"]$'
    Priority:        40
  - Regex:           '.*'
    Priority:        20
# IncludeIsMainRegex: '(Test)?$'
# IncludeIsMainSourceRegex: ''
# IndentAccessModifiers: false
# IndentCaseBlocks: false
IndentCaseBlocks: true
# IndentCaseLabels: false
# IndentExportBlock: true
# IndentExternBlock: AfterExternBlock
# IndentGotoLabels: true
# IndentPPDirectives: None
# IndentRequiresClause: true
# IndentWidth:     2
IndentWidth:     4
# IndentWrappedFunctionNames: false
IndentWrappedFunctionNames: true
# InsertBraces:    false
InsertBraces:    true
# InsertNewlineAtEOF: false
InsertNewlineAtEOF: true
# InsertTrailingCommas: None
# IntegerLiteralSeparator:
#   Binary:          0
#   BinaryMinDigits: 0
#   Decimal:         0
#   DecimalMinDigits: 0
#   Hex:             0
#   HexMinDigits:    0
# JavaScriptQuotes: Leave
# JavaScriptWrapImports: true
# KeepEmptyLines:
#   AtEndOfFile:     false
#   AtStartOfBlock:  true
#   AtStartOfFile:   true
KeepEmptyLines:
  AtStartOfFile:   false
# KeepFormFeed:    false
# LambdaBodyIndentation: Signature
# LineEnding:      DeriveLF
LineEnding:      CRLF
# NOTE: MacroBlockBegin/MacroBlockEnd don't work with _CATCH_ALL.
# MacroBlockBegin: ''
# MacroBlockEnd:   ''
# MainIncludeChar: Quote
# MaxEmptyLinesToKeep: 1
MaxEmptyLinesToKeep: 2
# NamespaceIndentation: None
NamespaceIndentation: All
# ObjCBinPackProtocolList: Auto
# ObjCBlockIndentWidth: 2
# ObjCBreakBeforeNestedBlockParam: true
# ObjCSpaceAfterProperty: false
# ObjCSpaceBeforeProtocolList: true
# PackConstructorInitializers: BinPack
# PenaltyBreakAssignment: 2
# PenaltyBreakBeforeFirstCallParameter: 19
# PenaltyBreakBeforeMemberAccess: 150
# PenaltyBreakComment: 300
# PenaltyBreakFirstLessLess: 120
# PenaltyBreakOpenParenthesis: 0
# PenaltyBreakScopeResolution: 500
# PenaltyBreakString: 1000
# PenaltyBreakTemplateDeclaration: 10
# PenaltyExcessCharacter: 1000000
# PenaltyIndentedWhitespace: 0
# PenaltyReturnTypeOnItsOwnLine: 60
# PointerAlignment: Right
PointerAlignment: Left
# PPIndentWidth:   -1
# QualifierAlignment: Leave
# ReferenceAlignment: Pointer
# ReflowComments:  Always
# RemoveBracesLLVM: false
# RemoveEmptyLinesInUnwrappedLines: false
# RemoveParentheses: Leave
# RemoveSemicolon: false
RemoveSemicolon: true
# RequiresClausePosition: OwnLine
# RequiresExpressionIndentation: OuterScope
# SeparateDefinitionBlocks: Leave
# ShortNamespaceLines: 1
# SkipMacroDefinitionBody: false
# SortIncludes:    CaseSensitive
# SortJavaStaticImport: Before
# SortUsingDeclarations: LexicographicNumeric
# SpaceAfterCStyleCast: false
SpaceAfterCStyleCast: true
# SpaceAfterLogicalNot: false
# SpaceAfterTemplateKeyword: true
# SpaceAroundPointerQualifiers: Default
# SpaceBeforeAssignmentOperators: true
# SpaceBeforeCaseColon: false
# SpaceBeforeCpp11BracedList: false
# SpaceBeforeCtorInitializerColon: true
# SpaceBeforeInheritanceColon: true
# SpaceBeforeJsonColon: false
# SpaceBeforeParens: ControlStatements
# SpaceBeforeParensOptions:
#   AfterControlStatements: true
#   AfterForeachMacros: true
#   AfterFunctionDefinitionName: false
#   AfterFunctionDeclarationName: false
#   AfterIfMacros:   true
#   AfterOverloadedOperator: false
#   AfterPlacementOperator: true
#   AfterRequiresInClause: false
#   AfterRequiresInExpression: false
#   BeforeNonEmptyParentheses: false
SpaceBeforeParens: Custom
SpaceBeforeParensOptions:
  AfterRequiresInClause: true
# SpaceBeforeRangeBasedForLoopColon: true
# SpaceBeforeSquareBrackets: false
# SpaceInEmptyBlock: false
# SpacesBeforeTrailingComments: 1
# SpacesInAngles:  Never
# SpacesInContainerLiterals: true
# SpacesInLineCommentPrefix:
#   Minimum:         1
#   Maximum:         -1
# SpacesInParens:  Never
# SpacesInParensOptions:
#   ExceptDoubleParentheses: false
#   InCStyleCasts:   false
#   InConditionalStatements: false
#   InEmptyParentheses: false
#   Other:           false
# SpacesInSquareBrackets: false
# Standard:        Latest
# StatementAttributeLikeMacros:
#   - Q_EMIT
# StatementMacros:
#   - Q_UNUSED
#   - QT_REQUIRE_VERSION
# NOTE: _STD_BEGIN, _STD_END, etc. aren't macros for complete statements, but telling
# clang-format that they are produces the behavior that we want (with no block indentation).
StatementMacros:
  - _EXTERN_CXX_WORKAROUND
  - _END_EXTERN_CXX_WORKAROUND
  - _STD_BEGIN
  - _STD_END
  - _STDEXT_BEGIN
  - _STDEXT_END
  - _FMT_P2286_BEGIN
  - _FMT_P2286_END
  - _EXTERN_C_UNLESS_PURE
  - _END_EXTERN_C_UNLESS_PURE
# TableGenBreakInsideDAGArg: DontBreak
# TabWidth:        8
# UseTab:          Never
# VerilogBreakBetweenInstancePorts: true
# WhitespaceSensitiveMacros:
#   - BOOST_PP_STRINGIZE
#   - CF_SWIFT_NAME
#   - NS_SWIFT_NAME
#   - PP_STRINGIZE
#   - STRINGIZE
# WrapNamespaceBodyWithEmptyLines: Leave
...


================================================
FILE: .gitattributes
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Disable CRLF-mapping for all files.
* -text

# Ensure GitHub detects our C++ code as C++ code.
/stl/inc/** linguist-language=C++
/stl/modules/** linguist-language=C++
/stl/src/** linguist-language=C++
*.h linguist-language=C++

# Ensure GitHub detects lit.cfg and lit.local.cfg as Python instead of HAProxy.
*.cfg linguist-language=Python

# Ensure GitHub detects our Perl legacy test harness code as Perl code instead of Raku.
*.pl linguist-language=Perl


================================================
FILE: .github/CODEOWNERS
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

* @microsoft/vclibs


================================================
FILE: .github/ISSUE_TEMPLATE/bug-report.md
================================================
---
name: Bug Report
about: Report a bug in the STL
title: "`<header>`: Problem"
labels: ''
assignees: ''

---

# Describe the bug
A clear and concise description of what the bug is. Please check that you've
read the guidelines for submitting STL bug reports in `README.md`. If you are
having problems with any component that is not the STL, instructions to get
to the right place are there.

Even if your project is using an older version of the MSVC Build Tools, please
check the Latest production release (or better yet, the Preview release) before
reporting bugs. This will save time by avoiding reports of already-fixed bugs.

# Command-line test case
```
C:\Temp>type repro.cpp
#include <iostream>

int main() {
    // Replace this program with one demonstrating your actual bug report,
    // along with the following compilation command. Please leave compiler
    // version banners in the output (don't use /nologo), and include output
    // of your test program, if any.
    std::cout << "test failure\n";
}

C:\Temp>cl /EHsc /W4 /WX /std:c++latest .\repro.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 19.36.32522 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

/std:c++latest is provided as a preview of language features from the latest C++
working draft, and we're eager to hear about bugs and suggestions for improvements.
However, note that these features are provided as-is without support, and subject
to changes or removal as the working draft evolves. See
https://go.microsoft.com/fwlink/?linkid=2045807 for details.

repro.cpp
Microsoft (R) Incremental Linker Version 14.36.32522.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:repro.exe
repro.obj

C:\Temp>.\repro.exe
test failure
```

# Expected behavior
A clear and concise description of what you expected to happen.
Alternatively, include `static_assert` or `assert` lines in your
test case above whose failure clearly indicates the problem.

# STL version
* Option 1: MSVC Compiler version
  + Example:
    ```
    C:\Temp>cl.exe
    Microsoft (R) C/C++ Optimizing Compiler Version 19.50.35503 for x64
    Copyright (C) Microsoft Corporation.  All rights reserved.

    usage: cl [ option... ] filename... [ /link linkoption... ]
    ```
* Option 2: `_MSVC_STL_UPDATE` value
  + Example:
    ```
    C:\Temp>type meow.cpp
    #include <iostream>
    int main() {
        std::cout << _MSVC_STL_UPDATE << "\n";
    }

    C:\Temp>cl /EHsc /nologo /W4 meow.cpp && meow
    meow.cpp
    202507
    ```
* Option 3: git commit hash
  + Example:
    ```
    https://github.com/microsoft/STL/commit/219514876ea86491de191ceaa88632616bbc0f19
    ```

# Additional context
Add any other context about the problem here.


================================================
FILE: .github/ISSUE_TEMPLATE/question.md
================================================
---
name: Question
about: Ask a question about this STL implementation
title: ""
labels: question
assignees: ''

---

Instructions
============
Here, you can ask a question about this STL implementation, and a maintainer
will answer. Please read the examples below, then delete all of this text and
replace it with your question. If you aren't sure whether a question is
on-topic, just go ahead and ask it! :-)

On-Topic Examples
-----------------
* What is this code in the STL doing? You can link to the relevant code:
https://help.github.com/en/github/managing-your-work-on-github/creating-a-permanent-link-to-a-code-snippet
* What are the preferred conventions for writing something?
* What are the maintainers planning to do in the future?
* Would the maintainers be interested in specific enhancements?

Off-Topic Examples
------------------
* Questions about non-STL components, such as the compiler, the CRT,
the Windows API, the Visual Studio IDE, etc.
* Questions about how to use the STL or C++ in general. For such questions,
consider https://stackoverflow.com or https://www.reddit.com/r/cpp_questions/ .
* Questions about whether you've encountered a bug in the STL. Instead of this
Question template, please use the Bug Report template, because we'll need
a command-line test case and the other information requested there.


================================================
FILE: .github/pull_request_template.md
================================================
<!-- Before submitting a pull request, please ensure that:

* Any AI-generated code has been clearly disclosed in your PR description.
  We strongly discourage AI-generated changes to product code because the STL
  is a highly unusual codebase with complex correctness and performance
  requirements imposed by the Standard, and highly unusual code patterns that
  don't look like typical codebases. Our intensive code review process
  (to avoid bugs) is intentionally a bottleneck, so we ask that you be
  considerate of the time and effort that we'll need to spend, by starting
  with changes that you fully understand. Test code has weaker requirements,
  so AI-generated changes for tests can be acceptable if properly disclosed.

* Your PR description explains your intent behind the changes.
  We discourage AI-generated PR descriptions because we can read the changes,
  and we have access to the same AI tools that you have, so we can get
  an AI-generated summary if we want.

* Identifiers in product code changes are properly `_Ugly` as per
  https://eel.is/c++draft/lex.name#3.1 or there are no product code changes.

* These changes introduce no known ABI breaks (adding members, renaming
  members, adding virtual functions, changing whether a type is an aggregate
  or trivially copyable, etc.).

* Your changes are written from scratch using only this repository, the C++
  Working Draft (including any cited standards), other WG21 papers (excluding
  reference implementations outside of proposed standard wording), and LWG
  issues as reference material. If your changes are derived from a project
  that's already listed in NOTICE.txt, that's fine, but please mention it.
  If your changes are derived from any other project, you *must* mention it
  here, so we can determine whether the license is compatible and what else
  needs to be done.
-->


================================================
FILE: .github/workflows/update-status-chart.yml
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: Update Status Chart
on:
  schedule:
    - cron: "0 7 * * *"
  workflow_dispatch:
permissions:
  contents: write
jobs:
  build:
    if: ${{ github.repository == 'microsoft/STL' }}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout gh-pages
        uses: actions/checkout@v6
        with:
          ref: gh-pages
      - name: Setup Node.js
        uses: actions/setup-node@v6
        with:
          node-version: ">=25.2.1"
      - name: Install Packages
        run: |
          npm ci
      - name: Compile And Run gather_stats.mts
        run: |
          SECRET_GITHUB_PERSONAL_ACCESS_TOKEN="${{ github.token }}" npm run gather
      - name: Compile And Bundle status_chart.mts
        run: |
          npm run make
      - name: Commit Changes
        run: |
          git config user.name "github-actions[bot]"
          git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
          git add src/daily_table.mts src/monthly_table.mts built/status_chart.mjs
          git diff-index --quiet HEAD || git commit -m "Automated update."
          git push origin gh-pages


================================================
FILE: .gitignore
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

__pycache__/
.vs/
.vscode/
/build/
/out/
/tools/out/
/CMakeLists.txt.user
*.log


================================================
FILE: .gitmodules
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

[submodule "llvm-project"]
	path = llvm-project
	url = https://github.com/llvm/llvm-project.git
[submodule "boost-math"]
	path = boost-math
	url = https://github.com/boostorg/math.git
[submodule "benchmarks/google-benchmark"]
	path = benchmarks/google-benchmark
	url = https://github.com/google/benchmark.git


================================================
FILE: .mailmap
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# This file maps author and committer email addresses to canonical names and email
# addresses for display in the output of `git log` and `git blame`.
# Format:
# Canonical Name <canonical@example.com> <commit@example.com>


Amy Wishnousky <amyw@microsoft.com> <stwish@microsoft.com>
Anju del Moral Gonzalez <delMoralGonzalez.Anju@microsoft.com> <judelmor@microsoft.com>


================================================
FILE: CMakeLists.txt
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

cmake_minimum_required(VERSION 4.2.3)

set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
project(msvc_standard_libraries LANGUAGES CXX)

if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.51.36122")
    message(FATAL_ERROR "The STL must be built with MSVC Compiler 19.51.36122 or later. Follow the README instructions.")
endif()

include(CheckCXXSourceCompiles)
check_cxx_source_compiles([=[
#include <sdkddkver.h>
static_assert(WDK_NTDDI_VERSION >= NTDDI_WIN11_GE, "Inspecting WDK_NTDDI_VERSION, the Windows SDK version.");
int main() {}
]=] WINDOWS_SDK_VERSION_CHECK)

if(NOT WINDOWS_SDK_VERSION_CHECK)
    message(FATAL_ERROR "The STL must be built with the Windows 11 SDK (10.0.26100) or later. Follow the README instructions.")
endif()

if(NOT DEFINED VCLIBS_TARGET_ARCHITECTURE)
    set(VCLIBS_TARGET_ARCHITECTURE "${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}")
endif()

string(TOLOWER "${VCLIBS_TARGET_ARCHITECTURE}" VCLIBS_TARGET_ARCHITECTURE)

if(VCLIBS_TARGET_ARCHITECTURE MATCHES "^(x86|x64)$")
    enable_language(ASM_MASM)
endif()

# add the tools subdirectory _before_ we change all the flags
add_subdirectory(tools EXCLUDE_FROM_ALL)

# these allow the targets to show up in the top-level
# (as opposed to under the tools subdirectory)
if(TARGET run-format)
    add_custom_target(format)
    add_dependencies(format run-format)
endif()

if(TARGET run-validate)
    add_custom_target(validate)
    add_dependencies(validate run-validate)
endif()

option(CONFIGURE_TESTING "Enable testing" ON)
set(VCLIBS_SUFFIX "_oss" CACHE STRING "suffix for built DLL names to avoid conflicts with distributed DLLs")

option(STL_USE_ANALYZE "Pass the /analyze flag to MSVC" OFF)
option(STL_ASAN_BUILD "Build the STL with ASan enabled" OFF)

set(VCLIBS_EXPLICIT_MACHINE "")

if(VCLIBS_TARGET_ARCHITECTURE STREQUAL "x86")
    set(VCLIBS_TARGET_ARCHITECTURE "x86")
    set(VCLIBS_I386_OR_AMD64 "i386")
    set(VCLIBS_X86_OR_X64 "x86")
elseif(VCLIBS_TARGET_ARCHITECTURE STREQUAL "x64")
    set(VCLIBS_TARGET_ARCHITECTURE "x64")
    set(VCLIBS_I386_OR_AMD64 "amd64")
    set(VCLIBS_X86_OR_X64 "x64")
elseif(VCLIBS_TARGET_ARCHITECTURE STREQUAL "arm64")
    set(VCLIBS_TARGET_ARCHITECTURE "arm64")
    set(VCLIBS_I386_OR_AMD64 "arm64")
    set(VCLIBS_X86_OR_X64 "arm64")
elseif(VCLIBS_TARGET_ARCHITECTURE STREQUAL "arm64ec")
    set(VCLIBS_TARGET_ARCHITECTURE "arm64ec")
    set(VCLIBS_I386_OR_AMD64 "arm64ec")
    set(VCLIBS_X86_OR_X64 "arm64") # Yes, really: `%VCToolsInstallDir%lib\arm64ec` only contains the Link Options
    add_compile_options($<$<COMPILE_LANGUAGE:CXX>:/arm64EC>)
    set(VCLIBS_EXPLICIT_MACHINE "/machine:arm64ec")
else()
    message(FATAL_ERROR "Could not determine target architecture: VCLIBS_TARGET_ARCHITECTURE: ${VCLIBS_TARGET_ARCHITECTURE}")
endif()

get_filename_component(TOOLSET_BINARIES_DIR "${CMAKE_CXX_COMPILER}" DIRECTORY) # Example: $\VC\Tools\MSVC\14.23.27931\bin\Hostx86\x86
get_filename_component(TOOLSET_ROOT_DIR "${TOOLSET_BINARIES_DIR}" DIRECTORY) # $\VC\Tools\MSVC\14.23.27931\bin\Hostx86
get_filename_component(TOOLSET_ROOT_DIR "${TOOLSET_ROOT_DIR}" DIRECTORY) # $\VC\Tools\MSVC\14.23.27931\bin
get_filename_component(TOOLSET_ROOT_DIR "${TOOLSET_ROOT_DIR}" DIRECTORY) # $\VC\Tools\MSVC\14.23.27931
set(TOOLSET_LIB "${TOOLSET_ROOT_DIR}/lib/${VCLIBS_X86_OR_X64}")
set(STL_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/out/lib/${VCLIBS_I386_OR_AMD64}")
set(STL_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/out/lib/${VCLIBS_I386_OR_AMD64}")
set(STL_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/out/bin/${VCLIBS_I386_OR_AMD64}")

# Note that we set _WIN32_WINNT to a high level to make declarations available.
add_compile_definitions(
    _ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH WIN32_LEAN_AND_MEAN STRICT _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS
    _WIN32_WINNT=0x0A00 NTDDI_VERSION=NTDDI_WIN11_GE)

if(STL_USE_ANALYZE)
    # TRANSITION, Windows SDK 10.0.26100 emits
    # "warning C6553: The annotation for function 'LCMapStringEx' on _Param_(9) does not apply to a value type."
    # Reported as OS-40109504 "Windows SDK: incorrect SAL annotations on functions the STL uses".
    add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:/analyze:autolog-;/wd6553>")

    if(VCLIBS_TARGET_ARCHITECTURE STREQUAL "arm64ec")
        # TRANSITION, Windows SDK 10.0.26100 emits
        # "warning C28301: No annotations for first declaration of 'meow'"
        # for various intrinsics when building for ARM64EC.
        add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:/wd28301>")
    endif()
endif()

set(VCLIBS_DEBUG_OPTIONS "$<$<COMPILE_LANGUAGE:CXX>:/Od>")
set(VCLIBS_RELEASE_OPTIONS "$<$<COMPILE_LANGUAGE:CXX>:/O2>")

if(CONFIGURE_TESTING)
    add_subdirectory(tests)
endif()

if(STL_ASAN_BUILD)
    message(STATUS "Building with ASan enabled")
    add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:-fsanitize=address;-fno-sanitize-address-vcasan-lib>")
endif()

add_subdirectory(boost-math)
add_subdirectory(stl)


================================================
FILE: CMakePresets.json
================================================
{
  "version": 5,
  "cmakeMinimumRequired": {
    "major": 3,
    "minor": 26,
    "patch": 0
  },
  "configurePresets": [
    {
      "name": "base",
      "hidden": true,
      "generator": "Ninja",
      "binaryDir": "${sourceDir}/out/${presetName}",
      "toolset": {
        "strategy": "external",
        "value": "version=preview"
      }
    },
    {
      "name": "x64",
      "inherits": "base",
      "description": "x64 Ninja Config",
      "architecture": {
        "strategy": "external",
        "value": "x64"
      },
      "condition": {
        "type": "inList",
        "string": "$env{VSCMD_ARG_TGT_ARCH}",
        "list": [
          "x64",
          ""
        ]
      }
    },
    {
      "name": "x86",
      "inherits": "base",
      "description": "x86 Ninja Config",
      "architecture": {
        "strategy": "external",
        "value": "x86"
      },
      "condition": {
        "type": "inList",
        "string": "$env{VSCMD_ARG_TGT_ARCH}",
        "list": [
          "x86",
          ""
        ]
      }
    },
    {
      "name": "ARM64",
      "inherits": "base",
      "description": "ARM64 Ninja Config",
      "architecture": {
        "strategy": "external",
        "value": "ARM64"
      },
      "condition": {
        "type": "inList",
        "string": "$env{VSCMD_ARG_TGT_ARCH}",
        "list": [
          "arm64",
          ""
        ]
      },
      "cacheVariables": {
        "TESTS_BUILD_ONLY": true
      }
    },
    {
      "name": "ARM64EC",
      "inherits": "base",
      "description": "ARM64EC Ninja Config",
      "architecture": {
        "strategy": "external",
        "value": "ARM64EC"
      },
      "condition": {
        "type": "inList",
        "string": "$env{VSCMD_ARG_TGT_ARCH}",
        "list": [
          "arm64",
          ""
        ]
      },
      "cacheVariables": {
        "TESTS_BUILD_ONLY": true,
        "VCLIBS_TARGET_ARCHITECTURE": "ARM64EC"
      }
    }
  ],
  "buildPresets": [
    {
      "name": "x64",
      "configurePreset": "x64",
      "description": "Build x64 STL"
    },
    {
      "name": "x86",
      "configurePreset": "x86",
      "description": "Build x86 STL"
    },
    {
      "name": "ARM64",
      "configurePreset": "ARM64",
      "description": "Build ARM64 STL"
    },
    {
      "name": "ARM64EC",
      "configurePreset": "ARM64EC",
      "description": "Build ARM64EC STL"
    }
  ]
}


================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Microsoft Open Source Code of Conduct

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).

Resources:

- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
- Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns
- Employees can reach out at [aka.ms/opensource/moderation-support](https://aka.ms/opensource/moderation-support)


================================================
FILE: CONTRIBUTING.md
================================================
# Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide
a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
provided by the bot. You will only need to do this once across all repos using our CLA.

## Types of Contributions

### Submitting a Pull Request

The STL repo has many open issues that track work which needs to be completed.
If you're unsure of where to start, you may want to:

* look for pinned issues, or
* check issues under the labels [`good first issue`][label:"good first issue"],
  [`high priority`][label:"high priority"], or [`help wanted`][label:"help wanted"].

### Reviewing a Pull Request

We love code reviews from contributors! Reviews from other contributors can often accelerate the reviewing process
by helping a PR reach a more finished state before maintainers review the changes. As a result, such a PR may require
fewer maintainer review iterations before reaching a "Ready to Merge" state.

To gain insight into our Code Review process, you can check out:

* pull requests which are [undergoing review][review:changes-requested],
* [Advice for Reviewing Pull Requests][wiki:advice-for-reviewing], and
* [Code Review Videos][wiki:videos].

## PR Checklist

Before submitting a pull request, please ensure:

1. Any non-standard identifiers in product code (including local variables, exposition-only members, etc.)
   begin with an underscore and a capital letter, as per [\[lex.name\]/3.1][].

2. Your changes don't affect the ABI for any type or function that a user may use (including adding or removing
   non-static data members, adding or removing virtual member functions, changing whether a type is an aggregate
   or trivially copyable, etc.).

3. Your changes are written from scratch using only acceptable sources:
   * this repository,
   * the C++ Working Draft (including any cited standards),
   * other WG21 papers (excluding reference implementations outside of proposed standard wording),
   * LWG issues, or
   * a project listed in [NOTICE.txt][] (make sure to cite the project in the PR description!).

If your changes are derived from any other project, you _must_ mention it in the pull request description,
so we can determine whether the license is compatible and whether any other steps need to be taken.

# Code of Conduct

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).

See [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) for more information.

[label:"good first issue"]:
   https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22
[label:"high priority"]: https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3A%22high+priority%22
[label:"help wanted"]: https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22
[review:changes-requested]: https://github.com/microsoft/STL/pulls?q=is%3Apr+is%3Aopen+review%3Achanges-requested
[wiki:advice-for-reviewing]: https://github.com/microsoft/STL/wiki/Advice-for-Reviewing-Pull-Requests
[NOTICE.txt]: https://github.com/microsoft/STL/blob/main/NOTICE.txt
[wiki:videos]: https://github.com/microsoft/STL/wiki/Code-Review-Videos
[\[lex.name\]/3.1]: https://eel.is/c++draft/lex.name#3.1


================================================
FILE: LICENSE.txt
================================================
The Microsoft C++ Standard Library is under the Apache License v2.0 with LLVM Exception:

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

---- LLVM Exceptions to the Apache 2.0 License ----

As an exception, if, as a result of your compiling your source code, portions
of this Software are embedded into an Object form of such source code, you
may redistribute such embedded portions in such Object form without complying
with the conditions of Sections 4(a), 4(b) and 4(d) of the License.

In addition, if you combine or link compiled forms of this Software with
software that is licensed under the GPLv2 ("Combined Software") and if a
court of competent jurisdiction determines that the patent provision (Section
3), the indemnity provision (Section 9) or other Section of the License
conflicts with the conditions of the GPLv2, you may retroactively and
prospectively choose to deem waived or otherwise exclude such Section(s) of
the License, but only in their entirety and only with respect to the Combined
Software.


================================================
FILE: NOTICE.txt
================================================
Microsoft C++ Standard Library

Copyright (c) Microsoft Corporation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


---- LLVM Exceptions to the Apache 2.0 License ----

As an exception, if, as a result of your compiling your source code, portions
of this Software are embedded into an Object form of such source code, you
may redistribute such embedded portions in such Object form without complying
with the conditions of Sections 4(a), 4(b) and 4(d) of the License.

In addition, if you combine or link compiled forms of this Software with
software that is licensed under the GPLv2 ("Combined Software") and if a
court of competent jurisdiction determines that the patent provision (Section
3), the indemnity provision (Section 9) or other Section of the License
conflicts with the conditions of the GPLv2, you may retroactively and
prospectively choose to deem waived or otherwise exclude such Section(s) of
the License, but only in their entirety and only with respect to the Combined
Software.

----------------------------------------------------

In addition, certain files include the notices provided below.



// Copyright 2018 Ulf Adams
// Copyright (c) Microsoft Corporation. All rights reserved.

// Boost Software License - Version 1.0 - August 17th, 2003

// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:

// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.

// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.

----------------------

/*
* This file is derived from software bearing the following
* restrictions:
*
* (c) Copyright William E. Kempf 2001
*
* Permission to use, copy, modify, distribute and sell this
* software and its documentation for any purpose is hereby
* granted without fee, provided that the above copyright
* notice appear in all copies and that both that copyright
* notice and this permission notice appear in supporting
* documentation. William E. Kempf makes no representations
* about the suitability of this software for any purpose.
* It is provided "as is" without express or implied warranty.
*/

----------------------

// NOTE:
//  The conversion data in this header has been derived by Dinkumware
//  from a Unicode, Inc. file with the preamble reproduced below, under
//  the grant of right described in that preamble. This header contains
//  no other material from that file.
//
// Copyright (c) 1994-2011 Unicode, Inc.  All Rights reserved.
//
// This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
// No claims are made as to fitness for any particular purpose.  No
// warranties of any kind are expressed or implied.  The recipient
// agrees to determine applicability of information provided.  If this
// file has been provided on magnetic media by Unicode, Inc., the sole
// remedy for any claim will be exchange of defective media within 90
// days of receipt.
//
//  Unicode, Inc. hereby grants the right to freely use the information
//  supplied in this file in the creation of products supporting the
//  Unicode Standard, and to make copies of this file in any form for
//  internal or external distribution as long as this notice remains
//  attached.

----------------------

/// NOTE:
//  The conversion data in this header has been derived by Dinkumware
//  from a Unicode, Inc. file with the preamble reproduced below, under
//  the grant of right described in that preamble. This header contains
//  no other material from that file.
//
//  Copyright (c) 1991-1994 Unicode, Inc.  All Rights reserved.
//
//  This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
//  No claims are made as to fitness for any particular purpose.  No
//  warranties of any kind are expressed or implied.  The recipient
//  agrees to determine applicability of information provided.  If this
//  file has been provided on magnetic media by Unicode, Inc., the sole
//  remedy for any claim will be exchange of defective media within 90
//  days of receipt.
//
//  Recipient is granted the right to make copies in any form for
//  internal distribution and to freely use the information supplied
//  in the creation of products supporting Unicode.

----------------------

//===----------------------------------------------------------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//

----------------------

// Copyright (c) 2012 - present, Victor Zverovich
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.

// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// --- Optional exception to the license ---
//
// As an exception, if, as a result of your compiling your source code, portions
// of this Software are embedded into a machine-executable object form of such
// source code, you may redistribute such embedded portions in such object form
// without including the above copyright and permission notices.

----------------------

// UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
//
// See Terms of Use <https://www.unicode.org/copyright.html>
// for definitions of Unicode Inc.'s Data Files and Software.
//
// NOTICE TO USER: Carefully read the following legal agreement.
// BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S
// DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"),
// YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
// TERMS AND CONDITIONS OF THIS AGREEMENT.
// IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE
// THE DATA FILES OR SOFTWARE.
//
// COPYRIGHT AND PERMISSION NOTICE
//
// Copyright (c) 1991-2022 Unicode, Inc. All rights reserved.
// Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of the Unicode data files and any associated documentation
// (the "Data Files") or Unicode software and any associated documentation
// (the "Software") to deal in the Data Files or Software
// without restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, and/or sell copies of
// the Data Files or Software, and to permit persons to whom the Data Files
// or Software are furnished to do so, provided that either
// (a) this copyright and permission notice appear with all copies
// of the Data Files or Software, or
// (b) this copyright and permission notice appear in associated
// Documentation.
//
// THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT OF THIRD PARTY RIGHTS.
// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
// NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
// DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THE DATA FILES OR SOFTWARE.
//
// Except as contained in this notice, the name of a copyright holder
// shall not be used in advertising or otherwise to promote the sale,
// use or other dealings in these Data Files or Software without prior
// written authorization of the copyright holder.


================================================
FILE: README.md
================================================
# Microsoft's C++ Standard Library

This is the official repository for Microsoft's implementation of the C++ Standard Library (also known as the STL),
which ships as part of the MSVC toolset and the Visual Studio IDE.

* Our [Changelog][] tracks which updates to this repository appear in each VS release.
* Our [Status Chart][] displays our overall progress over time.
* Join our [Discord server][].
* [![CI Status Badge][STL-CI-badge]][STL-CI-link] (STL-CI build status)
* [![ASan CI Status Badge][STL-ASan-CI-badge]][STL-ASan-CI-link] (STL-ASan-CI build status)

# What This Repo Is Useful For

If you're a programmer who just wants to use the STL, you **don't** need this repo. Simply install the Visual Studio IDE
and select the "Desktop development with C++" workload.

If you want to participate in the STL's development, welcome! You can report issues, comment on pull requests, and learn
about what we're working on. You can also submit pull requests to fix bugs or add features: see [CONTRIBUTING.md][] for
more information.

Finally, you can take our code and use it in other apps and libraries (according to the terms of our license, like
everything else).

# GitHub Migration Status

We're in the process of moving all of our work on the STL to GitHub. Current status:

* Code: **Done.** Our source code is available under the Apache License v2.0 with LLVM Exception. (See
[LICENSE.txt][] and [NOTICE.txt][] for more information.)

* Build System: **In progress.** We're working on a CMake build system, which is currently capable of building one
flavor of the STL (native desktop). We need to extend this to build all of the flavors required for the MSVC toolset
(e.g. `/clr`, `/clr:pure`, OneCore, Spectre). Until that's done, we're keeping our legacy build system around in the
`stl/msbuild` subdirectory. (We're keeping those files in this repo, even though they're unusable outside of Microsoft,
because they need to be updated whenever source files are added/renamed/deleted. We'll delete the legacy machinery as
soon as possible.)

* Tests: **In progress.** We rely on three test suites: std, tr1, and [libcxx][]. We've partially ported std and tr1,
and fully ported libcxx to run under [lit][] using the various configurations/compilers we test internally.

* Continuous Integration: **In progress.** We've set up Azure Pipelines to validate changes to the repository.
Currently, it builds the STL for x64, x86, ARM64, and ARM64EC. Also, it strictly verifies that all of our
files have been formatted with [clang-format][] and follow our other whitespace conventions.

* Contribution Guidelines: **Coming soon.** Working on the STL's code involves following many rules. We have codebase
conventions, Standard requirements, Microsoft-specific requirements, binary compatibility (ABI) requirements, and more.
We're eager to begin accepting features and fixes from the community, but in addition to setting up a CI system, we need
to write down all of the rules that are currently stored in our brains. (The ABI rules may be useful to other C++
libraries.)

* Issues: **In progress.** We're going to use GitHub issues to track all of the things that we need to work on. This
includes C++20 features, [LWG issues][], conformance bugs, performance improvements, and other todos. There are
approximately 200 active bugs in the STL's Microsoft-internal database; we need to manually replicate all of them to
GitHub issues. Currently, the [cxx20 tag][] and [LWG tag][] are done; every remaining work item is tracked by a GitHub
issue. The [bug tag][] and [enhancement tag][] are being populated.

* Plans: **In progress.** We're writing up our [Roadmap][].

# Goals

We're implementing the latest C++ Working Draft, currently [N5032][], which will eventually become the next C++
International Standard. The terms Working Draft (WD) and Working Paper (WP) are interchangeable; we often
informally refer to these drafts as "the Standard" while being aware of the difference. (There are other relevant
Standards; for example, supporting `/std:c++14` and `/std:c++17` involves understanding how the C++14 and C++17
Standards differ from the Working Paper, and we often need to refer to the C Standard Library and ECMAScript regular
expression specifications.)

Our primary goals are conformance, performance, usability, and compatibility.

* Conformance: The Working Paper is a moving target; as features and LWG issue resolutions are added, we need to
implement them. That can involve a lot of work because the STL is required to behave in very specific ways and to
handle users doing very unusual things.

* Performance: The STL needs to be extremely fast at runtime; speed is one of C++'s core strengths and most C++
programs use the STL extensively. As a result, we spend more time on optimization than most general-purpose libraries.
(However, we're wary of changes that improve some scenarios at the expense of others, or changes that make code
significantly more complicated and fragile. That is, there's a "complexity budget" that must be spent carefully.)

* Usability: This includes parts of the programming experience like compiler throughput, diagnostic messages, and
debugging checks. For example, we've extensively marked the STL with `[[nodiscard]]` attributes because this helps
programmers avoid bugs.

* Compatibility: This includes binary compatibility and source compatibility. We're keeping VS 2026 binary-compatible
with VS 2015-2022, which restricts what we can change in VS 2026 updates. (We've found that significant changes
are possible even though other changes are impossible, which we'll be documenting in our Contribution Guidelines soon.)
While there are a few exceptions to this rule (e.g. if a feature is added to the Working Paper, we implement it, and
then the feature is significantly changed before the International Standard is finalized, we reserve the right to break
binary compatibility because `/std:c++latest` offers an experimental preview of such features), binary compatibility
generally overrides all other considerations, even conformance. Source compatibility refers to being able to
successfully recompile user code without changes. We consider source compatibility to be important, but not
all-important; breaking source compatibility can be an acceptable cost if done for the right reasons in the right way
(e.g. in a controlled manner with escape hatches).

# Non-Goals

There are things that we aren't interested in doing with this project, for various reasons (most importantly, we need to
focus development effort on our goals). Some examples:

* Non-goal: Porting to other platforms.

* Non-goal: Adding non-Standard extensions.

* Non-goal: Implementing Technical Specifications. (We're prioritizing features in the Working Paper. Occasionally, we
might implement some or all of a TS, often when we're working on the specification itself.)

If you're proposing a feature to WG21 (the C++ Standardization Committee), you're welcome (and encouraged!) to use our
code as a base for a proof-of-concept implementation. These non-goals simply mean that we're unable to consider pull
requests for a proposed feature until it has been voted into a Working Paper. After that happens, we'll be delighted to
review a production-ready pull request.

# Reporting Issues

You can report STL bugs here, where they'll be directly reviewed by maintainers. You can also report STL bugs through
[Developer Community][], or the VS IDE (Help > Send Feedback > Report a Problem...).

**Please help us** efficiently process bug reports by following these rules:

* Only STL bugs should be reported here. If it's a bug in the compiler, CRT, or IDE, please report it through Developer
Community or Report A Problem. If it's a bug in the Windows SDK, please report it through the [Feedback Hub][hub] app.
If you aren't sure, try to reduce your test case and see if you can eliminate the STL's involvement while still
reproducing the bug.

* You should be reasonably confident that you're looking at an actual implementation bug, instead of undefined behavior
or surprising-yet-Standard behavior. Comparing against other implementations can help (but remember that implementations
can differ while conforming to the Standard); try [Compiler Explorer][]. If you still aren't
sure, ask the nearest C++ expert.

* You should prepare a self-contained command-line test case, ideally as small as possible. We need a source file, a
command line, what happened (e.g. a compiler error, runtime misbehavior), and what you expected to happen. By
"self-contained", we mean that your source file has to avoid including code that we don't have. Ideally, only CRT and
STL headers should be included. If you have to include other MSVC libraries, or the Windows SDK, to trigger an STL bug,
that's okay. But if you need parts of your own source code to trigger the STL bug, you need to extract that for us. (On
Developer Community, we'll accept zipped IDE projects if you have no other way to reproduce a bug, but this is very
time-consuming for us to reduce.)

* A good title is helpful. We prefer "`<header_name>`: Short description of your issue". You don't usually need to
mention `std::` or C++. For example, "`<type_traits>`: `is_cute` should be true for `enum class FluffyKittens`".

It's okay if you report an apparent STL bug that turns out to be a compiler bug or surprising-yet-Standard behavior.
Just try to follow these rules, so we can spend more time fixing bugs and implementing features.

# Visual Studio Installer Prerequisites

* Install [VS 2026 Insiders][] and keep it up to date.
  + **You must install the Insiders IDE and the Preview build tools for STL development.** *See Note 1 below.*
  + Select the "Desktop development with C++" workload.
  + Select the following components at a minimum:
    - "MSVC Build Tools for x64/x86 (Preview)"
    - "C++ CMake tools for Windows"
    - "MSVC AddressSanitizer"
    - "Windows 11 SDK (10.0.26100)" or later
    - "C++ Clang tools for Windows (20.1.8 - x64/x86)"
    - *Optional, see Note 2 below:* "MSVC Build Tools for ARM64/ARM64EC (Preview)"
* Install [Python][] 3.14.3 or later.
  + Select "Add python.exe to PATH" if you want to follow the instructions below that invoke `python`.
    Otherwise, you should be familiar with alternative methods.

*Note 1:* The STL and the compiler ship together, and we frequently need recently implemented
compiler fixes and features, so the Latest build tools (i.e. latest production) are too old.
Because the Insiders IDE supports having the Latest and Preview build tools installed simultaneously,
you need to ensure that you're using the Preview build tools. If you build with the IDE, we've arranged for
this to happen automatically. If you build with the Command Prompt, you need to pass `-vcvars_ver=preview`
as explained below. For more info, read the [C++ Team Blog post][preview] that announced this release process.

*Note 2:* The x64/x86 build tools are usually sufficient.
You'll need the ARM64/ARM64EC build tools if you're working with architecture-sensitive code.
For example, `<atomic>` has conditionally compiled code for the `_M_ARM64` and `_M_ARM64EC` predefined macros.

# How To Build With The Visual Studio IDE

1. Open Visual Studio and select "Clone a repository".
2. Enter `https://github.com/microsoft/STL.git` as the repository location. Choose a local path. Click "Clone".
3. File > Open > Folder... > Select the folder that you just cloned the repository into.
4. Use the IDE's dropdown menu to choose the architecture you want to build. We recommend x64 for general development.
5. Build > Build All.

# How To Build With The Command Prompt

1. Open a command prompt.
2. Change directories to a location where you'd like a clone of this STL repository.
3. `git clone https://github.com/microsoft/STL.git --recurse-submodules`
4. `pushd STL`

The following instructions assume that you're starting in the previously cloned `STL` directory.
If you installed VS to a non-default location, change the `vcvarsall.bat` paths below accordingly.

To build the x64 target (recommended):

1. `pushd "%ProgramFiles%\Microsoft Visual Studio\18\Insiders\VC\Auxiliary\Build"`
1. `vcvarsall.bat x64 -vcvars_ver=preview`
1. `popd`
1. `cmake --preset x64`
1. `cmake --build --preset x64`

To build the x86 target:

1. `pushd "%ProgramFiles%\Microsoft Visual Studio\18\Insiders\VC\Auxiliary\Build"`
1. `vcvarsall.bat x86 -vcvars_ver=preview`
1. `popd`
1. `cmake --preset x86`
1. `cmake --build --preset x86`

To build the ARM64 target:

1. `pushd "%ProgramFiles%\Microsoft Visual Studio\18\Insiders\VC\Auxiliary\Build"`
1. `vcvarsall.bat x64_arm64 -vcvars_ver=preview`
1. `popd`
1. `cmake --preset ARM64`
1. `cmake --build --preset ARM64`

To build the ARM64EC target:

1. `pushd "%ProgramFiles%\Microsoft Visual Studio\18\Insiders\VC\Auxiliary\Build"`
1. `vcvarsall.bat x64_arm64 -vcvars_ver=preview`
1. `popd`
1. `cmake --preset ARM64EC`
1. `cmake --build --preset ARM64EC`

# How To Consume

Consumption of the built library is largely based on the build system you're using. There are at least 2 directories
you need to hook up. Assuming you built the x64 target with the Visual Studio IDE, with the STL repository cloned to
`C:\Dev\STL`, build outputs will end up at `C:\Dev\STL\out\x64\out`. Ensure that the `inc` directory is searched
for headers, and that `lib\{architecture}` is searched for link libraries, before any defaults supplied by MSVC. The
names of the import and static libraries are the same as those that ship with MSVC. As a result, the compiler `/MD`,
`/MDd`, `/MT`, or `/MTd` switches will work without modification of your build scripts or command-line muscle memory.

Should you choose to use the DLL flavors, the DLLs to deploy are built to `bin\{architecture}`. Note that the DLLs
generated by the CMake build system here have a suffix, defaulting to `_oss`, which distinguishes them from the binaries
that ship with MSVC. That avoids any conflict with the DLLs installed by the [redistributables][] into System32 and
ensures that other components wanting to be a "guest in your process", like print drivers and shell extensions, see the
export surface of the STL they were built with. Otherwise, the "`msvcp140.dll`" you deployed in the same directory as
your .exe would "win" over the versions in System32.

The compiler looks for include directories according to the `INCLUDE` environment variable, and the linker looks for
import library directories according to the `LIB` environment variable, and the Windows loader will (eventually) look
for DLL dependencies according to directories in the `PATH` environment variable.
The build generates a batch script named `set_environment.bat` in the output directory. If you run this script,
it will insert the proper directories into the `INCLUDE`, `LIB`, and `PATH` environment
variables to ensure that the built headers and libraries are used.

## Complete Example Using x64 DLL Flavor

```
C:\Temp>pushd D:\GitHub\STL

D:\GitHub\STL>pushd "%ProgramFiles%\Microsoft Visual Studio\18\Insiders\VC\Auxiliary\Build"

C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Auxiliary\Build>vcvarsall.bat x64 -vcvars_ver=preview
**********************************************************************
** Visual Studio 2026 Developer Command Prompt v18.4.0-insiders
** Copyright (c) 2026 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Auxiliary\Build>popd

D:\GitHub\STL>cmake --preset x64
[...]
-- Build files have been written to: D:/GitHub/STL/out/x64

D:\GitHub\STL>cmake --build --preset x64
[762/762] Linking CXX static library out\lib\amd64\libcpmtd0.lib

D:\GitHub\STL>out\x64\set_environment.bat

D:\GitHub\STL>popd

C:\Temp>type .\example.cpp
```
```cpp
#include <print>

int main() {
    std::println("Hello STL OSS world!");
}
```
```
C:\Temp>cl /EHsc /nologo /W4 /WX /MDd /std:c++latest .\example.cpp
example.cpp

C:\Temp>.\example.exe
Hello STL OSS world!

C:\Temp>dumpbin /DEPENDENTS .\example.exe | findstr msvcp
    msvcp140d_oss.dll
```

# How To Run The Tests

Our tests are currently split across three test suites that are located at `tests\std`, `tests\tr1`, and
`llvm-project\libcxx\test\std`. The test runner `${PROJECT_BINARY_DIR}\tests\utils\stl-lit\stl-lit.py` accepts paths to
directories in the test suites and runs all tests located in the subtree rooted at those paths. This can mean executing
the entirety of a single test suite, running all tests under a category in `libcxx`, or running a single test in `std`
and `tr1`.

Some useful `stl-lit.py` options:
* `-v` (verbose) tells `stl-lit.py` to show us output from failed test cases.
* `-Dnotags=ASAN` disables the "extra ASan configs" that we typically run only in CI. This is useful to limit runtime
  for full validation runs, but often omitted when running just a few test cases to enable the extra ASan coverage.

## Examples

These examples assume that your current directory is `C:\Dev\STL\out\x64`.

* This command will run all of the test suites:
  + `python tests\utils\stl-lit\stl-lit.py -Dnotags=ASAN ..\..\llvm-project\libcxx\test ..\..\tests\std ..\..\tests\tr1`
* This command will run only the std test suite.
  + `python tests\utils\stl-lit\stl-lit.py -Dnotags=ASAN ..\..\tests\std`
* If you want to run a subset of a test suite, you need to point it to the right place in the sources. The following
will run the single test found under `VSO_0000000_any_calling_conventions`.
  + `python tests\utils\stl-lit\stl-lit.py -Dnotags=ASAN ..\..\tests\std\tests\VSO_0000000_any_calling_conventions`
* You can invoke `stl-lit` with any arbitrary subdirectory of a test suite. In libcxx this allows you to have finer
control over what category of tests you would like to run. The following will run all the libcxx map tests.
  + `python tests\utils\stl-lit\stl-lit.py -Dnotags=ASAN ..\..\llvm-project\libcxx\test\std\containers\associative\map`
* You can also use the `--filter` option to include tests whose names match a regular expression. The following
  command will run tests with "atomic_wait" in their names in both the std and libcxx test suites.
  + `python tests\utils\stl-lit\stl-lit.py ..\..\llvm-project\libcxx\test ..\..\tests\std --filter=atomic_wait`
* There's also a `--filter-out` option to exclude tests matching a regular expression;
  `--filter=iota --filter-out=view` would run tests with names matching "iota" but not "view".

## Interpreting The Results Of Tests

`stl-lit.py` prints the result of each test. The format of each result is
`{Result Code}: {Test Suite Name} :: {Test Name}:{Configuration Number}`.

Example:
```
-- Testing: 28 tests, 12 workers --
PASS: tr1 :: tests/cwchar1:01 (1 of 28)
PASS: tr1 :: tests/cwchar1:11 (2 of 28)
PASS: tr1 :: tests/cwchar1:02 (3 of 28)
PASS: tr1 :: tests/cwchar1:03 (4 of 28)
PASS: tr1 :: tests/cwchar1:00 (5 of 28)
PASS: tr1 :: tests/cwchar1:04 (6 of 28)
PASS: tr1 :: tests/cwchar1:05 (7 of 28)
PASS: tr1 :: tests/cwchar1:09 (8 of 28)
PASS: tr1 :: tests/cwchar1:06 (9 of 28)
UNSUPPORTED: tr1 :: tests/cwchar1:20 (10 of 28)
UNSUPPORTED: tr1 :: tests/cwchar1:21 (11 of 28)
UNSUPPORTED: tr1 :: tests/cwchar1:22 (12 of 28)
UNSUPPORTED: tr1 :: tests/cwchar1:23 (13 of 28)
UNSUPPORTED: tr1 :: tests/cwchar1:24 (14 of 28)
PASS: tr1 :: tests/cwchar1:07 (15 of 28)
PASS: tr1 :: tests/cwchar1:08 (16 of 28)
PASS: tr1 :: tests/cwchar1:10 (17 of 28)
PASS: tr1 :: tests/cwchar1:16 (18 of 28)
PASS: tr1 :: tests/cwchar1:17 (19 of 28)
PASS: tr1 :: tests/cwchar1:14 (20 of 28)
PASS: tr1 :: tests/cwchar1:12 (21 of 28)
PASS: tr1 :: tests/cwchar1:13 (22 of 28)
PASS: tr1 :: tests/cwchar1:19 (23 of 28)
PASS: tr1 :: tests/cwchar1:18 (24 of 28)
PASS: tr1 :: tests/cwchar1:15 (25 of 28)
PASS: tr1 :: tests/cwchar1:25 (26 of 28)
PASS: tr1 :: tests/cwchar1:26 (27 of 28)
PASS: tr1 :: tests/cwchar1:27 (28 of 28)

Testing Time: 3.96s
  Expected Passes    : 23
  Unsupported Tests  : 5
```

In the above example, we see that 23 tests succeeded and 5 were unsupported.

### Result Code Values

Our tests use the standard [lit result codes][], and an undocumented result code: `SKIPPED`. For our tests, only the
`PASS`, `XFAIL`, `XPASS`, `FAIL`, `UNSUPPORTED`, and `SKIPPED` result codes are relevant.

The `PASS` and `FAIL` result codes are self-explanatory. We want our tests to `PASS` and not `FAIL`.

The `XPASS` and `XFAIL` result codes are less obvious. `XPASS` is actually a failure result and indicates that we
expected a test to fail but it passed. `XFAIL` is a successful result and indicates that we expected the test to fail
and it did. Typically an `XPASS` result means that the `expected_results.txt` file for the test suite needs to be
modified. If the `XPASS` result is a test legitimately passing, the usual course of action would be to remove a `FAIL`
entry from the `expected_results.txt`. However, some tests from `libcxx` mark themselves as `XFAIL` (meaning they
expect to fail) for features they have added tests for but have yet to implement in `libcxx`. If the STL implements
those features first the tests will begin passing unexpectedly for us and return `XPASS` results. In order to resolve
this it is necessary to add a `PASS` entry to the `expected_results.txt` of the test suite in question.

The `UNSUPPORTED` result code means that the requirements for a test are not met and so it will not be run. Currently,
all tests which use the `/clr` or `/clr:pure` options are unsupported. Also, the `/BE` option is unsupported for x86.

The `SKIPPED` result code indicates that a given test was explicitly skipped by adding a `SKIPPED` entry to the
`expected_results.txt`. A test may be skipped for a number of reasons, which include, but are not limited to:
* being an incorrect test
* taking a very long time to run
* failing or passing for an incorrect reason

### Debugging Individual Tests

While `stl-lit` is super awesome in finding out that *something* is wrong or not even compiling, it is not really
helpful in debugging *what* is going wrong. However, debugging individual tests is rather simple given some additional
steps. Let's assume we want to debug a new feature with tests located in `tests\std\tests\GH_XXXX_meow`.

As always, build the STL from your branch and run the tests:
```
C:\Dev\STL\out\x64> ninja
C:\Dev\STL\out\x64> python tests\utils\stl-lit\stl-lit.py -v C:\Dev\STL\tests\std\tests\GH_XXXX_meow
```

Let's assume one of the tests fails an assert and we want to debug that configuration. `stl-lit` will conveniently print
the build command, which is far too long to provide here in full. The important part is to add the following options to
provide debug symbols: `/Zi /Fdbark.pdb`.

You can replace `bark` with any descriptive name you like. Add these before the `"-link"` option in the command line
and recompile. Example:
```
C:\Dev\STL\out\x64>cl "C:\Dev\STL\tests\std\tests\GH_XXXX_meow\test.cpp" [... more arguments ...]
"-FeC:\Dev\STL\out\x64\tests\std\tests\GH_XXXX_meow\Output\02\GH_XXXX_meow.exe" /Zi /Fdbark.pdb "-link"
[... more arguments ...]
```

You can now start debugging the test via:
```
devenv "C:\Dev\STL\out\x64\tests\std\tests\GH_XXXX_meow\Output\02\GH_XXXX_meow.exe"
       "C:\Dev\STL\tests\std\tests\GH_XXXX_meow\test.cpp"
```

However, this might not work right away, as Visual Studio may complain about a missing `msvcp140_oss.dll`. The reason
is that the STL builds those and other DLLs itself and we should under no circumstances overwrite the installed ones.
If you are testing one of the configurations with dynamic linkage (`/MD` or `/MDd`) the easiest solution is to add the
build folder to your path:
```
set PATH=C:\Dev\STL\out\x64\out\bin\amd64;%PATH%
```

## Running Tests With Address Sanitizer (ASan)

You don't need any extra steps to run with test code and the code in STL headers instrumented with [ASan][].
The test matrices include both ASan and non-ASan configurations if you don't pass `-Dtags=ASAN` or `-Dnotags=ASAN`
to exclude one or the other.

However, to instrument the separately-compiled code (the DLL, the satellites, the [Import Library][] - everything that's
in `stl\src`), you need to build the STL with ASan. Change the build steps to add `-DSTL_ASAN_BUILD=ON`:

```
cmake --preset x64 -DSTL_ASAN_BUILD=ON
cmake --build --preset x64
```

ASan-instrumented STL binaries require that the executable be instrumented as well, so you'll have to skip the non-ASan
configurations by passing `-Dtags=ASAN` to `stl-lit.py`:

(This example assumes that your current directory is `C:\Dev\STL\out\x64`.)

```
python tests\utils\stl-lit\stl-lit.py ..\..\tests\std\tests\VSO_0000000_vector_algorithms -Dtags=ASAN -v
```

# Benchmarking

For performance-sensitive code (e.g. containers and algorithms)
you may wish to write and/or run benchmarks, and the STL team will likely
run any benchmarks we do have in our PR process. Additionally,
if you are writing a "performance improvement" PR, please add and run benchmarks
to show that the PR does, in fact, improve performance.

The benchmarking code is located in `benchmarks`. Adding a new benchmark is as easy as adding a new file
to `benchmarks/src`, and then adding `add_benchmark(<name> <source_file>)`
to `benchmarks/CMakeLists.txt`.
You may also modify an existing benchmark file. We use Google's [Benchmark][gbenchmark] library,
so you may find [their documentation][gbenchmark:docs] helpful, and you can also read the existing code
for how _we_ use it.

To run benchmarks, you'll need to first build the STL, then build the benchmarks:

```cmd
cmake --preset x64
cmake --build --preset x64
cmake -B out\bench -S benchmarks -G Ninja -DSTL_BINARY_DIR=out\x64
cmake --build out\bench
```

You can then run your benchmark with:

```cmd
out\bench\benchmark-<benchmark-name> --benchmark_out=<file> --benchmark_out_format=csv
```

And then you can copy this CSV file into Excel, or another spreadsheet program. For example:

```cmd
out\bench\benchmark-std_copy --benchmark_out=benchmark-std_copy-results.csv --benchmark_out_format=csv
```

If you want to see all the other flags you can pass, run:

```cmd
out\bench\benchmark-<benchmark-name> --help
```

## Other Useful Incantations

To compile the benchmarks with additional compiler options, use the [`CXXFLAGS` environment variable][CXXFLAGS].
Set it after configuring and building the STL, but before configuring and building the benchmarks.
For example, to examine how the `/arch:AVX2` option affects auto-vectorization and bit algorithm intrinsics:

```
set CXXFLAGS=/arch:AVX2
cmake -B out\bench -S benchmarks -G Ninja -DSTL_BINARY_DIR=out\x64
cmake --build out\bench
```

To compile the benchmarks with Clang, use `-DCMAKE_CXX_COMPILER=clang-cl`:

```
cmake -B out\bench -S benchmarks -G Ninja -DSTL_BINARY_DIR=out\x64 -DCMAKE_CXX_COMPILER=clang-cl
cmake --build out\bench
```

To run a benchmark on specific cores (e.g. P-cores vs. E-cores) and with higher priority
(to avoid interference), use the [`start` command][start-command]:

```
start /b /wait /high /affinity 0F out\bench\benchmark-std_copy
```

# Editing And Testing The Debugger Visualizer

### Modify The Visualizer

To modify how components are visualized in the debugger, edit the file `stl\debugger\STL.natvis`. For more information
on how to modify this file, check the [natvis documentation][].

### Test Your Changes

You can add the natvis file to any Visual Studio C++ project if you right-click your project > Add > Existing Item and
select the STL.natvis file. After doing this you should be able to see your changes in a Visual Studio debugging
session.

# Block Diagram

The STL is built atop other compiler support libraries that ship with Windows and Visual Studio, like the UCRT,
VCRuntime, and VCStartup. The following diagram describes the dependencies between those components and their ship
vehicles.

```mermaid
flowchart TB
%%{ init: {"flowchart": {"htmlLabels": true}} }%%
    classDef default text-align:left
    subgraph VisualStudioSubgraph[Visual Studio]
        direction TB
        STLNode("<b>STL</b>
        This repo; provides C++ Standard Library headers, separately
        compiled implementations of most of the iostreams functionality,
        and a few runtime support components like std::exception_ptr.")
        subgraph VCRuntimeSubgraph[VCRuntime]
            direction TB
            VCStartupNode("<b>VCStartup</b>
            Provides compiler support mechanisms that
            live in each binary; such as machinery to
            call constructors and destructors for global
            variables, the entry point, and the /GS cookie.<br>
            Merged into static and import libraries of VCRuntime.")
            VCRuntimeNode("<b>VCRuntime</b>
            Provides compiler support mechanisms that can be
            shared between binaries; code that the compiler calls
            on your behalf, such as the C++ exception handling
            runtime, string.h intrinsics, math intrinsics, and
            declarations for CPU-vendor-specific intrinsics.")
        end
    end
    subgraph WindowsSDKSubgraph[Windows SDK]
        UniversalCRTNode("<b>Universal CRT</b>
        Windows component that provides C library support, such as printf,
        C locales, and some POSIX-like shims for the Windows API, like _stat.")
    end
    STLNode ==> VCRuntimeSubgraph & UniversalCRTNode
    VCStartupNode ==> VCRuntimeNode ==> UniversalCRTNode
```

# Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide
a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
provided by the bot. You will only need to do this once across all repos using our CLA.

See [CONTRIBUTING.md][] for more information.

# Code Of Conduct

This project has adopted the [Microsoft Open Source Code of Conduct][].

See [CODE_OF_CONDUCT.md][] for more information.

# License

Copyright (c) Microsoft Corporation.

SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

[Changelog]: https://github.com/microsoft/STL/wiki/Changelog
[clang-format]: https://clang.llvm.org/docs/ClangFormat.html
[CODE_OF_CONDUCT.md]: CODE_OF_CONDUCT.md
[Compiler Explorer]: https://godbolt.org
[CONTRIBUTING.md]: CONTRIBUTING.md
[Developer Community]: https://aka.ms/feedback/report?space=62
[Discord server]: https://discord.gg/XWanNww
[LICENSE.txt]: LICENSE.txt
[LWG issues]: https://cplusplus.github.io/LWG/lwg-toc.html
[LWG tag]: https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3ALWG
[Microsoft Open Source Code of Conduct]: https://opensource.microsoft.com/codeofconduct/
[N5032]: https://wg21.link/N5032
[NOTICE.txt]: NOTICE.txt
[STL-CI-badge]: https://dev.azure.com/vclibs/STL/_apis/build/status%2FSTL-CI?branchName=main "STL-CI"
[STL-CI-link]: https://dev.azure.com/vclibs/STL/_build/latest?definitionId=4&branchName=main
[STL-ASan-CI-badge]: https://dev.azure.com/vclibs/STL/_apis/build/status%2FSTL-ASan-CI?branchName=main "STL-ASan-CI"
[STL-ASan-CI-link]: https://dev.azure.com/vclibs/STL/_build/latest?definitionId=5&branchName=main
[Python]: https://www.python.org/downloads/windows/
[Roadmap]: https://github.com/microsoft/STL/wiki/Roadmap
[Status Chart]: https://microsoft.github.io/STL/
[bug tag]: https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3Abug
[cxx20 tag]: https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3Acxx20
[enhancement tag]: https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement
[gbenchmark]: https://github.com/google/benchmark
[gbenchmark:docs]: https://github.com/google/benchmark/blob/main/docs/user_guide.md
[hub]: https://support.microsoft.com/help/4021566
[libcxx]: https://libcxx.llvm.org
[lit]: https://llvm.org/docs/CommandGuide/lit.html
[lit result codes]: https://llvm.org/docs/CommandGuide/lit.html#test-status-results
[redistributables]: https://learn.microsoft.com/cpp/windows/latest-supported-vc-redist
[natvis documentation]: https://learn.microsoft.com/visualstudio/debugger/create-custom-views-of-native-objects
[ASan]: https://learn.microsoft.com/cpp/sanitizers/asan
[Import Library]: /docs/import_library.md
[VS 2026 Insiders]: https://visualstudio.microsoft.com/insiders/
[CXXFLAGS]: https://cmake.org/cmake/help/latest/envvar/CXXFLAGS.html
[start-command]: https://learn.microsoft.com/windows-server/administration/windows-commands/start
[preview]: https://devblogs.microsoft.com/cppblog/microsoft-c-msvc-build-tools-v14-51-preview-released-how-to-opt-in/


================================================
FILE: SECURITY.md
================================================
<!-- BEGIN MICROSOFT SECURITY.MD V0.0.9 BLOCK -->

## Security

Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet) and [Xamarin](https://github.com/xamarin).

If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/security.md/definition), please report it to us as described below.

## Reporting Security Issues

**Please do not report security vulnerabilities through public GitHub issues.**

Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/security.md/msrc/create-report).

If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com).  If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/security.md/msrc/pgp).

You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). 

Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:

  * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
  * Full paths of source file(s) related to the manifestation of the issue
  * The location of the affected source code (tag/branch/commit or direct URL)
  * Any special configuration required to reproduce the issue
  * Step-by-step instructions to reproduce the issue
  * Proof-of-concept or exploit code (if possible)
  * Impact of the issue, including how an attacker might exploit the issue

This information will help us triage your report more quickly.

If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/security.md/msrc/bounty) page for more details about our active programs.

## Preferred Languages

We prefer all communications to be in English.

## Policy

Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/security.md/cvd).

<!-- END MICROSOFT SECURITY.MD BLOCK -->


================================================
FILE: azure-devops/asan-pipeline.yml
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Build STL targeting x64, x86, and arm64, then run extra ASan testing

variables:
  - template: config.yml

trigger: none

schedules:
- cron: '0 2 * * *'
  displayName: ASan-Daily-CI
  branches:
    include:
    - main

stages:
  - stage: Test_x64_ASan
    displayName: 'Test x64 ASan'
    dependsOn: []
    pool:
      name: ${{ variables.x64SlowPoolName }}
      demands: ${{ variables.poolDemands }}
    jobs:
      - template: build-and-test.yml
        parameters:
          hostArch: x64
          targetArch: x64
          targetPlatform: x64
          asanBuild: true
          testTargets: STL-ASan-CI

  - stage: Test_x86_ASan
    displayName: 'Test x86 ASan'
    dependsOn: []
    pool:
      name: ${{ variables.x64SlowPoolName }}
      demands: ${{ variables.poolDemands }}
    jobs:
      - template: build-and-test.yml
        parameters:
          hostArch: x86
          targetArch: x86
          targetPlatform: x86
          asanBuild: true
          testTargets: STL-ASan-CI

  - stage: Test_ARM64_ASan
    displayName: 'Test ARM64 ASan'
    dependsOn: []
    pool:
      name: ${{ variables.arm64PoolName }}
      demands: ${{ variables.poolDemands }}
    jobs:
      - template: build-and-test.yml
        parameters:
          hostArch: arm64
          targetArch: arm64
          targetPlatform: arm64
          asanBuild: true
          testTargets: STL-ASan-CI


================================================
FILE: azure-devops/build-and-test.yml
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

parameters:
- name: hostArch
  type: string
- name: targetArch
  type: string
- name: targetPlatform
  type: string
- name: analyzeBuild
  type: boolean
  default: false
- name: asanBuild
  type: boolean
  default: false
- name: buildBenchmarks
  type: boolean
  default: false
- name: testTargets
  type: string
  default: 'STL-CI'
- name: numShards
  type: number
  default: 10
- name: configureTesting
  type: boolean
  default: true
- name: buildStl
  type: boolean
  default: true
- name: runTesting
  type: boolean
  default: true
- name: testsBuildOnly
  type: boolean
  default: false
jobs:
- job: '${{ parameters.targetPlatform }}'
  strategy:
    parallel: ${{ parameters.numShards }}
  timeoutInMinutes: 30
  steps:
  - template: checkout-self.yml
  - template: checkout-submodule.yml
    parameters:
      enabled: ${{ parameters.configureTesting }}
      path: 'llvm-project'
      url: 'https://github.com/llvm/llvm-project.git'
  - template: checkout-submodule.yml
    parameters:
      enabled: true
      path: 'boost-math'
      url: 'https://github.com/boostorg/math.git'
  - template: checkout-submodule.yml
    parameters:
      enabled: ${{ parameters.buildBenchmarks }}
      path: 'benchmarks/google-benchmark'
      url: 'https://github.com/google/benchmark.git'
  - template: cmake-configure-build.yml
    parameters:
      hostArch: ${{ parameters.hostArch }}
      targetArch: ${{ parameters.targetArch }}
      targetPlatform: ${{ parameters.targetPlatform }}
      analyzeBuild: ${{ parameters.analyzeBuild }}
      asanBuild: ${{ parameters.asanBuild }}
      configureTesting: ${{ parameters.configureTesting }}
      buildStl: ${{ parameters.buildStl }}
      testsBuildOnly: ${{ parameters.testsBuildOnly }}
  - template: build-benchmarks.yml
    parameters:
      hostArch: ${{ parameters.hostArch }}
      targetArch: ${{ parameters.targetArch }}
      targetPlatform: ${{ parameters.targetPlatform }}
      buildBenchmarks: ${{ parameters.buildBenchmarks }}
      compiler: cl
  - template: build-benchmarks.yml
    parameters:
      hostArch: ${{ parameters.hostArch }}
      targetArch: ${{ parameters.targetArch }}
      targetPlatform: ${{ parameters.targetPlatform }}
      buildBenchmarks: ${{ parameters.buildBenchmarks }}
      compiler: clang-cl
  - template: run-tests.yml
    parameters:
      hostArch: ${{ parameters.hostArch }}
      targetArch: ${{ parameters.targetArch }}
      targetPlatform: ${{ parameters.targetPlatform }}
      testTargets: ${{ parameters.testTargets }}
      runTesting: ${{ parameters.runTesting }}


================================================
FILE: azure-devops/build-benchmarks.yml
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

parameters:
- name: hostArch
  type: string
- name: targetArch
  type: string
- name: targetPlatform
  type: string
- name: buildBenchmarks
  type: boolean
- name: compiler
  type: string

steps:
- task: PowerShell@2
  displayName: 'Configure Benchmarks for ${{ parameters.compiler }}'
  inputs:
    pwsh: true
    targetType: inline
    script: |
      $PSNativeCommandUseErrorActionPreference = $true
      if (Test-Path -LiteralPath "$(benchmarkBuildOutputLocation)\${{ parameters.compiler }}") {
          Remove-Item -LiteralPath "$(benchmarkBuildOutputLocation)\${{ parameters.compiler }}" -Recurse -Force
      }
      & "$(launchVsDevShell)" -HostArch ${{ parameters.hostArch }} -Arch ${{ parameters.targetArch }}
      cmake -G Ninja `
      -DCMAKE_CXX_COMPILER=${{ parameters.compiler }} `
      -DCMAKE_BUILD_TYPE=Release `
      -DSTL_BINARY_DIR="$(buildOutputLocation)" `
      -DVCLIBS_TARGET_ARCHITECTURE=${{ parameters.targetPlatform }} `
      -S $(Build.SourcesDirectory)/benchmarks -B "$(benchmarkBuildOutputLocation)\${{ parameters.compiler }}"
  timeoutInMinutes: 2
  env: { TMP: $(tmpDir), TEMP: $(tmpDir) }
  # TRANSITION, we currently only build the benchmarks with Clang for x64
  condition: >
    and(succeeded(), ${{ parameters.buildBenchmarks }},
      not(and(eq('${{ parameters.compiler }}', 'clang-cl'),
        not(eq('${{ parameters.targetPlatform }}', 'x64')))))
- task: PowerShell@2
  displayName: 'Build Benchmarks for ${{ parameters.compiler }}'
  inputs:
    pwsh: true
    targetType: inline
    script: |
      $PSNativeCommandUseErrorActionPreference = $true
      & "$(launchVsDevShell)" -HostArch ${{ parameters.hostArch }} -Arch ${{ parameters.targetArch }}
      cmake --build "$(benchmarkBuildOutputLocation)\${{ parameters.compiler }}"
  timeoutInMinutes: 2
  env: { TMP: $(tmpDir), TEMP: $(tmpDir) }
  # TRANSITION, we currently only build the benchmarks with Clang for x64
  condition: >
    and(succeeded(), ${{ parameters.buildBenchmarks }},
      not(and(eq('${{ parameters.compiler }}', 'clang-cl'),
        not(eq('${{ parameters.targetPlatform }}', 'x64')))))


================================================
FILE: azure-devops/checkout-self.yml
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

steps:
- checkout: self
  clean: true
  submodules: false
  fetchDepth: 1
  fetchTags: false
  retryCountOnTaskFailure: 4
- task: PowerShell@2
  displayName: 'Clean After Checkout'
  inputs:
    pwsh: true
    targetType: inline
    script: |
      $PSNativeCommandUseErrorActionPreference = $true
      git clean --quiet -x -d -f -f
      if (Test-Path -LiteralPath "$(tmpDir)") {
          Remove-Item -LiteralPath "$(tmpDir)" -Recurse -Force
      }
      mkdir "$(tmpDir)" -Force | Out-Null


================================================
FILE: azure-devops/checkout-submodule.yml
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

parameters:
- name: enabled
  type: boolean
- name: path
  type: string
- name: url
  type: string
steps:
- task: PowerShell@2
  displayName: 'Checkout ${{ parameters.path }} Submodule'
  condition: and(succeeded(), ${{ parameters.enabled }})
  retryCountOnTaskFailure: 4
  inputs:
    pwsh: true
    targetType: inline
    script: |
      $PSNativeCommandUseErrorActionPreference = $true
      $submodule = '${{ parameters.path }}'
      $rawStatus = git submodule status --cached $submodule
      $sha = $rawStatus -creplace '^[ \-+]([0-9a-f]+) .*$', '$1'
      cd $submodule
      git init
      if ((git remote) -eq $null) {
        git remote add submodule-upstream ${{ parameters.url }}
      }
      git fetch --filter=tree:0 --depth=1 submodule-upstream $sha
      if ($submodule -ceq 'llvm-project') {
        git sparse-checkout set --sparse-index libcxx/test libcxx/utils/libcxx llvm/utils/lit
      }
      git reset --quiet --hard FETCH_HEAD
      git clean --quiet -x -d -f -f


================================================
FILE: azure-devops/cmake-configure-build.yml
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

parameters:
- name: hostArch
  type: string
- name: targetArch
  type: string
- name: targetPlatform
  type: string
- name: analyzeBuild
  type: boolean
- name: asanBuild
  type: boolean
- name: configureTesting
  type: boolean
- name: buildStl
  type: boolean
- name: testsBuildOnly
  type: boolean
- name: litFlags
  type: object
  default:
    - '--xunit-xml-output=$(buildOutputLocation)/test-results.xml'
    - '--order=lexical'
    - '--num-shards=$(System.TotalJobsInPhase)'
    - '--run-shard=$(System.JobPositionInPhase)'

steps:
- task: PowerShell@2
  displayName: 'Configure STL'
  inputs:
    pwsh: true
    targetType: inline
    script: |
      $PSNativeCommandUseErrorActionPreference = $true
      if (Test-Path -LiteralPath "$(buildOutputLocation)") {
          Remove-Item -LiteralPath "$(buildOutputLocation)" -Recurse -Force
      }
      & "$(launchVsDevShell)" -HostArch ${{ parameters.hostArch }} -Arch ${{ parameters.targetArch }}
      cmake -G Ninja `
      -DCMAKE_CXX_COMPILER=cl `
      -DCMAKE_BUILD_TYPE=Release `
      -DLIT_FLAGS="${{ join(';', parameters.litFlags) }}" `
      -DSTL_USE_ANALYZE=${{ parameters.analyzeBuild }} `
      -DSTL_ASAN_BUILD=${{ parameters.asanBuild }} `
      -DCONFIGURE_TESTING=${{ parameters.configureTesting }} `
      -DTESTS_BUILD_ONLY=${{ parameters.testsBuildOnly }} `
      -DVCLIBS_TARGET_ARCHITECTURE=${{ parameters.targetPlatform }} `
      -S $(Build.SourcesDirectory) -B "$(buildOutputLocation)"
  timeoutInMinutes: 2
  env: { TMP: $(tmpDir), TEMP: $(tmpDir) }
- task: PowerShell@2
  displayName: 'Build STL'
  inputs:
    pwsh: true
    targetType: inline
    script: |
      $PSNativeCommandUseErrorActionPreference = $true
      & "$(launchVsDevShell)" -HostArch ${{ parameters.hostArch }} -Arch ${{ parameters.targetArch }}
      cmake --build "$(buildOutputLocation)"
  timeoutInMinutes: 5
  condition: and(succeeded(), ${{ parameters.buildStl }})
  env: { TMP: $(tmpDir), TEMP: $(tmpDir) }


================================================
FILE: azure-devops/config.yml
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Common configuration used by both pipelines

variables:
- name: x64SlowPoolName
  value: 'Stl-2026-03-11T0936-x64-Fasv6-Pool'
  readonly: true
- name: x64FastPoolName
  value: 'Stl-2026-03-11T0936-x64-Fasv7-Pool'
  readonly: true
- name: arm64PoolName
  value: 'Stl-2026-03-11T0936-arm64-Dpsv6-Pool'
  readonly: true
- name: poolDemands
  value: 'EnableSpotVM -equals false'
  readonly: true
- name: launchVsDevShell
  value: 'C:\Program Files\Microsoft Visual Studio\18\Insiders\Common7\Tools\Launch-VsDevShell.ps1'
  readonly: true
- name: tmpDir
  value: 'C:\stlTemp'
  readonly: true
- name: buildOutputLocation
  value: 'C:\stlBuild'
  readonly: true
- name: benchmarkBuildOutputLocation
  value: 'C:\stlBenchmark'
  readonly: true
- name: validationBuildOutputLocation
  value: 'C:\stlValidation'
  readonly: true
- name: Codeql.SkipTaskAutoInjection
  value: true
  readonly: true
- name: skipComponentGovernanceDetection
  value: true
  readonly: true


================================================
FILE: azure-devops/create-1es-hosted-pool.ps1
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

<#
.SYNOPSIS
Creates a 1ES Hosted Pool, set up for the STL's CI.

.DESCRIPTION
See https://github.com/microsoft/STL/wiki/Checklist-for-Toolset-Updates for more information.

.PARAMETER VMSku
The VM SKU can be Fasv6, Fasv7, or Dpsv6.
#>
[CmdletBinding(PositionalBinding=$false)]
Param(
  [Parameter(Mandatory)][ValidateSet('Fasv6', 'Fasv7', 'Dpsv6')][String]$VMSku
)

$ErrorActionPreference = 'Stop'

$CurrentDate = Get-Date
$Timestamp = $CurrentDate.ToString('yyyy-MM-ddTHHmm')

# | SKU   | Location      | Cores | Notes              |
# |-------|---------------|------:|--------------------|
# | Fasv6 | eastus2       |  4096 |                    |
# | Fasv7 | australiaeast |   740 |                    |
# | Fasv7 | northeurope   |   640 |                    |
# | Fasv7 | southeastasia |   640 |                    |
# | Dpsv6 | eastus2       |  1024 |                    |
# | Dpsv6 | northeurope   |  1024 |                    |
# | Dpsv6 | westcentralus |   672 | Not currently used |

if ($VMSku -ieq 'Fasv6') {
  $Arch = 'x64'
  $VMSize = 'Standard_F32as_v6'
  $PoolSize = 64
  $AvailableLocations = @('eastus2')
} elseif ($VMSku -ieq 'Fasv7') {
  $Arch = 'x64'
  $VMSize = 'Standard_F32as_v7'
  $PoolSize = 20
  $AvailableLocations = @('australiaeast', 'northeurope', 'southeastasia')
} elseif ($VMSku -ieq 'Dpsv6') {
  $Arch = 'arm64'
  $VMSize = 'Standard_D32ps_v6'
  $PoolSize = 32
  $AvailableLocations = @('eastus2', 'northeurope') # Locations where CPP_STL_GitHub has quota for 1024 cores (32 VMs).
}

$AvailableLocationIdx = 6 # Increment for each new set of pools, to cycle through the available locations.
$Location = $AvailableLocations[$AvailableLocationIdx % $AvailableLocations.Length]

if ($Arch -ieq 'x64') {
  $ImagePublisher = 'MicrosoftWindowsServer'
  $ImageOffer = 'WindowsServer'
  $ImageSku = '2025-datacenter-azure-edition'
} else {
  $ImageId = '/SharedGalleries/WindowsServer.1P/Images/2025-datacenter-azure-edition-arm64/Versions/latest'
}

$ProtoVMName = 'PROTOTYPE'

$LogFile = "1es-hosted-pool-$Timestamp-$Arch-$VMSku.log"
$ProgressActivity = 'Preparing STL CI pool'
$TotalProgress = 38
$CurrentProgress = 1

<#
.SYNOPSIS
Displays an updated progress bar.

.DESCRIPTION
Display-ProgressBar increments $CurrentProgress and displays $Status in the progress bar.

.PARAMETER Status
A message describing the current operation being performed.
#>
function Display-ProgressBar {
  [CmdletBinding(PositionalBinding=$false)]
  Param([Parameter(Mandatory)][string]$Status)

  Write-Progress `
    -Activity $ProgressActivity `
    -Status $Status `
    -PercentComplete (100 * $script:CurrentProgress++ / $TotalProgress)
}

<#
.SYNOPSIS
Generates a random password.

.DESCRIPTION
New-Password generates a password, randomly, of length $Length, containing
only alphanumeric characters, underscore, and dash.

.PARAMETER Length
The length of the returned password.
#>
function New-Password {
  [CmdletBinding(PositionalBinding=$false)]
  Param([int]$Length = 32)

  # This 64-character alphabet generates 6 bits of entropy per character.
  $alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-'.ToCharArray()

  [SecureString] $result = [SecureString]::new()
  for ($idx = 0; $idx -lt $Length; $idx++) {
    $result.AppendChar((Get-SecureRandom -InputObject $alphabet))
  }

  return $result
}

####################################################################################################
Display-ProgressBar -Status 'Silencing breaking change warnings'

# https://aka.ms/azps-changewarnings
$Env:SuppressAzurePowerShellBreakingChangeWarnings = 'true'

Update-AzConfig `
  -DisplayBreakingChangeWarning $false `
  -Scope 'Process' >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Getting the subscription context'

if ((Get-AzContext).Subscription.Name -cne 'CPP_STL_GitHub') {
  Write-Error 'Please sign in with `Connect-AzAccount -Subscription ''CPP_STL_GitHub''` before running this script.'
}

####################################################################################################
Display-ProgressBar -Status 'Creating resource group'

$ResourceGroupName = "Stl-$Timestamp-$Arch-$VMSku"

New-AzResourceGroup `
  -Name $ResourceGroupName `
  -Location $Location >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Creating credentials'

$AdminPWSecure = New-Password
$Credential = New-Object System.Management.Automation.PSCredential ('AdminUser', $AdminPWSecure)

####################################################################################################
Display-ProgressBar -Status 'Creating public IP address'

$PublicIpAddressName = "$ResourceGroupName-PublicIpAddress"
$PublicIpAddress = New-AzPublicIpAddress `
  -Name $PublicIpAddressName `
  -ResourceGroupName $ResourceGroupName `
  -Location $Location `
  -Sku 'Standard' `
  -AllocationMethod 'Static'

####################################################################################################
Display-ProgressBar -Status 'Creating NAT gateway'

$NatGatewayName = "$ResourceGroupName-NatGateway"
$NatGateway = New-AzNatGateway `
  -Name $NatGatewayName `
  -ResourceGroupName $ResourceGroupName `
  -Location $Location `
  -IdleTimeoutInMinutes 10 `
  -Sku 'Standard' `
  -PublicIpAddress $PublicIpAddress

####################################################################################################
Display-ProgressBar -Status 'Creating network security group'

$NetworkSecurityGroupName = "$ResourceGroupName-NetworkSecurity"
$NetworkSecurityGroup = New-AzNetworkSecurityGroup `
  -Name $NetworkSecurityGroupName `
  -ResourceGroupName $ResourceGroupName `
  -Location $Location

####################################################################################################
Display-ProgressBar -Status 'Creating virtual network subnet config'

# TRANSITION, 2026-03-31: "After March 31, 2026, new virtual networks will default to using private subnets,
# meaning that an explicit outbound method must be enabled in order to reach public endpoints on the Internet
# and within Microsoft."
# https://learn.microsoft.com/azure/virtual-network/ip-services/default-outbound-access
# We're using `-DefaultOutboundAccess $false` to opt-in early.
$SubnetName = "$ResourceGroupName-Subnet"
$Subnet = New-AzVirtualNetworkSubnetConfig `
  -Name $SubnetName `
  -AddressPrefix '10.0.0.0/16' `
  -DefaultOutboundAccess $false `
  -NatGateway $NatGateway `
  -NetworkSecurityGroup $NetworkSecurityGroup

####################################################################################################
Display-ProgressBar -Status 'Creating virtual network'

$VirtualNetworkName = "$ResourceGroupName-Network"
$VirtualNetwork = New-AzVirtualNetwork `
  -Name $VirtualNetworkName `
  -ResourceGroupName $ResourceGroupName `
  -Location $Location `
  -AddressPrefix '10.0.0.0/16' `
  -Subnet $Subnet

####################################################################################################
Display-ProgressBar -Status 'Creating network interface'

$NicName = "$ResourceGroupName-NIC"
$Nic = New-AzNetworkInterface `
  -Name $NicName `
  -ResourceGroupName $ResourceGroupName `
  -Location $Location `
  -Subnet $VirtualNetwork.Subnets[0]

####################################################################################################
Display-ProgressBar -Status 'Creating prototype VM config'

if ($Arch -ieq 'x64') {
  $VM = New-AzVMConfig `
    -VMName $ProtoVMName `
    -VMSize $VMSize `
    -DiskControllerType 'NVMe' `
    -Priority 'Regular'
} else {
  $VM = New-AzVMConfig `
    -VMName $ProtoVMName `
    -VMSize $VMSize `
    -DiskControllerType 'SCSI' `
    -Priority 'Regular' `
    -SecurityType 'TrustedLaunch' `
    -SharedGalleryImageId $ImageId
}

####################################################################################################
Display-ProgressBar -Status 'Setting prototype VM OS'

$VM = Set-AzVMOperatingSystem `
  -VM $VM `
  -Windows `
  -ComputerName $ProtoVMName `
  -Credential $Credential `
  -ProvisionVMAgent

####################################################################################################
Display-ProgressBar -Status 'Adding prototype VM network interface'

$VM = Add-AzVMNetworkInterface `
  -VM $VM `
  -Id $Nic.Id

####################################################################################################
Display-ProgressBar -Status 'Setting prototype VM source image'

if ($Arch -ieq 'x64') {
  $VM = Set-AzVMSourceImage `
    -VM $VM `
    -PublisherName $ImagePublisher `
    -Offer $ImageOffer `
    -Skus $ImageSku `
    -Version 'latest'
} else {
  # We passed -SharedGalleryImageId to New-AzVMConfig above.
}

####################################################################################################
Display-ProgressBar -Status 'Setting prototype VM boot diagnostic'

$VM = Set-AzVMBootDiagnostic `
  -VM $VM `
  -Disable

####################################################################################################
Display-ProgressBar -Status 'Creating prototype VM'

New-AzVm `
  -ResourceGroupName $ResourceGroupName `
  -Location $Location `
  -VM $VM >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Getting prototype VM OS disk name'

$VM = Get-AzVM `
  -ResourceGroupName $ResourceGroupName `
  -Name $ProtoVMName

$PrototypeOSDiskName = $VM.StorageProfile.OsDisk.Name

####################################################################################################
Display-ProgressBar -Status 'Running provision-image.ps1 in VM'

$ProvisionImageResult = Invoke-AzVMRunCommand `
  -ResourceId $VM.ID `
  -CommandId 'RunPowerShellScript' `
  -ScriptPath "$PSScriptRoot\provision-image.ps1" `
  -Parameter @{ 'Arch' = $Arch; }

Write-Host $ProvisionImageResult.value.Message

if ($ProvisionImageResult.value.Message -cnotmatch 'PROVISION_IMAGE_SUCCEEDED') {
  Write-Host 'provision-image.ps1 failed, stopping VM...'

  Stop-AzVM `
    -Id $VM.ID `
    -Force >> $LogFile

  Write-Error "VM stopped. Remember to delete unusable resource group: $ResourceGroupName"
}

####################################################################################################
Display-ProgressBar -Status 'Restarting VM'

Restart-AzVM `
  -Id $VM.ID >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Sleeping after restart'

# The VM appears to be busy immediately after restarting.
# This workaround waits for a minute before attempting to run sysprep.
Start-Sleep -Seconds 60

####################################################################################################
Display-ProgressBar -Status 'Running sysprep in VM'

Invoke-AzVMRunCommand `
  -ResourceId $VM.ID `
  -CommandId 'RunPowerShellScript' `
  -ScriptString 'C:\Windows\system32\sysprep\sysprep.exe /oobe /generalize /mode:vm /shutdown' >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Waiting for VM to shut down'

while ('PowerState/stopped' -notin (Get-AzVM -ResourceId $VM.ID -Status).Statuses.Code) {
  Start-Sleep -Seconds 10
}

####################################################################################################
Display-ProgressBar -Status 'Stopping VM'

Stop-AzVM `
  -Id $VM.ID `
  -Force >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Generalizing VM'

Set-AzVM `
  -Id $VM.ID `
  -Generalized >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Creating gallery'

$GalleryName = "$ResourceGroupName-Gallery" -replace '-', '_'
$Gallery = New-AzGallery `
  -Location $Location `
  -ResourceGroupName $ResourceGroupName `
  -Name $GalleryName

####################################################################################################
Display-ProgressBar -Status 'Granting access to 1ES Resource Management'

$ServicePrincipalObjectId = (Get-AzADServicePrincipal -DisplayName '1ES Resource Management' -First 1).Id

New-AzRoleAssignment `
  -ObjectId $ServicePrincipalObjectId `
  -RoleDefinitionName 'Reader' `
  -Scope $Gallery.Id >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Creating image definition'

$ImageDefinitionName = "$ResourceGroupName-ImageDefinition"
$FeatureTrustedLaunch = @{ Name = 'SecurityType'; Value = 'TrustedLaunch'; }
if ($Arch -ieq 'x64') {
  $FeatureNVMe = @{ Name = 'DiskControllerTypes'; Value = 'SCSI, NVMe'; }
} else {
  $FeatureNVMe = @{ Name = 'DiskControllerTypes'; Value = 'SCSI'; }
}
$ImageDefinitionFeatures = @($FeatureTrustedLaunch, $FeatureNVMe)
New-AzGalleryImageDefinition `
  -Location $Location `
  -ResourceGroupName $ResourceGroupName `
  -GalleryName $GalleryName `
  -Name $ImageDefinitionName `
  -OsState 'Generalized' `
  -OsType 'Windows' `
  -Publisher 'StlPublisher' `
  -Offer 'StlOffer' `
  -Sku 'StlSku' `
  -Architecture $Arch `
  -Feature $ImageDefinitionFeatures `
  -HyperVGeneration 'V2' >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Creating image version'

$ImageVersionName = $CurrentDate.ToString('yyyyMMdd.HHmm.0')
$ImageVersion = New-AzGalleryImageVersion `
  -Location $Location `
  -ResourceGroupName $ResourceGroupName `
  -GalleryName $GalleryName `
  -GalleryImageDefinitionName $ImageDefinitionName `
  -Name $ImageVersionName `
  -SourceImageVMId $VM.ID

####################################################################################################
Display-ProgressBar -Status 'Registering CloudTest resource provider'

Register-AzResourceProvider `
  -ProviderNamespace 'Microsoft.CloudTest' >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Creating 1ES image'

$ImageName = "$ResourceGroupName-Image"
New-AzResource `
  -Location $Location `
  -ResourceGroupName $ResourceGroupName `
  -ResourceType 'Microsoft.CloudTest/Images' `
  -ResourceName $ImageName `
  -Properties @{ 'imageType' = 'SharedImageGallery'; 'resourceId' = $ImageVersion.Id; } `
  -Force >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Creating 1ES Hosted Pool'

$PoolName = "$ResourceGroupName-Pool"

$PoolProperties = @{
  'organization' = 'https://dev.azure.com/vclibs'
  'projects' = @('STL')
  'sku' = @{ 'name' = $VMSize; 'tier' = 'StandardSSD'; 'enableSpot' = $false; }
  'images' = @(@{ 'imageName' = $ImageName; 'poolBufferPercentage' = '100'; })
  'maxPoolSize' = $PoolSize
  'agentProfile' = @{ 'type' = 'Stateless'; }
}

New-AzResource `
  -Location $Location `
  -ResourceGroupName $ResourceGroupName `
  -ResourceType 'Microsoft.CloudTest/hostedpools' `
  -ResourceName $PoolName `
  -Properties $PoolProperties `
  -Force >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Deleting unused VM'

Remove-AzVM `
  -Id $VM.ID `
  -Force >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Deleting unused disk'

Remove-AzDisk `
  -ResourceGroupName $ResourceGroupName `
  -DiskName $PrototypeOSDiskName `
  -Force >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Deleting unused network interface'

Remove-AzNetworkInterface `
  -ResourceGroupName $ResourceGroupName `
  -Name $NicName `
  -Force >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Deleting unused virtual network'

Remove-AzVirtualNetwork `
  -ResourceGroupName $ResourceGroupName `
  -Name $VirtualNetworkName `
  -Force >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Deleting unused network security group'

Remove-AzNetworkSecurityGroup `
  -ResourceGroupName $ResourceGroupName `
  -Name $NetworkSecurityGroupName `
  -Force >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Deleting unused NAT gateway'

Remove-AzNatGateway `
  -ResourceGroupName $ResourceGroupName `
  -Name $NatGatewayName `
  -Force >> $LogFile

####################################################################################################
Display-ProgressBar -Status 'Deleting unused public IP address'

Remove-AzPublicIpAddress `
  -ResourceGroupName $ResourceGroupName `
  -Name $PublicIpAddressName `
  -Force >> $LogFile

####################################################################################################
Write-Progress -Activity $ProgressActivity -Completed

Write-Host "Elapsed time: $(((Get-Date) - $CurrentDate).ToString('hh\:mm\:ss'))"

if ((Get-AzResource -ResourceGroupName $ResourceGroupName -Name $PoolName) -ne $null) {
  Write-Host "Created pool: $PoolName"
} else {
  Write-Error "Failed to create pool: $PoolName"
}


================================================
FILE: azure-devops/format-validation.yml
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# run the `validator` tool, and ensure code is properly clang-formatted

jobs:
- job: Code_Format_Validation
  timeoutInMinutes: 5
  displayName: 'Validation'
  steps:
    - template: checkout-self.yml
    - task: PowerShell@2
      displayName: 'Build Validation Tools'
      inputs:
        pwsh: true
        targetType: inline
        script: |
          $PSNativeCommandUseErrorActionPreference = $true
          if (Test-Path -LiteralPath "$(validationBuildOutputLocation)") {
              Remove-Item -LiteralPath "$(validationBuildOutputLocation)" -Recurse -Force
          }
          & "$(launchVsDevShell)" -HostArch x64 -Arch x64
          cmake -G Ninja -S $(Build.SourcesDirectory)/tools -B "$(validationBuildOutputLocation)"
          cmake --build "$(validationBuildOutputLocation)"
      timeoutInMinutes: 5
      env: { TMP: $(tmpDir), TEMP: $(tmpDir) }
    - task: PowerShell@2
      displayName: 'clang-format Files'
      inputs:
        pwsh: true
        targetType: inline
        script: |
          $PSNativeCommandUseErrorActionPreference = $true
          & "$(launchVsDevShell)" -HostArch x64 -Arch x64
          cmake --build "$(validationBuildOutputLocation)" --target run-format
      timeoutInMinutes: 5
      env: { TMP: $(tmpDir), TEMP: $(tmpDir) }
    - task: PowerShell@2
      displayName: 'Validate Files'
      inputs:
        pwsh: true
        targetType: inline
        script: |
          $PSNativeCommandUseErrorActionPreference = $true
          & "$(launchVsDevShell)" -HostArch x64 -Arch x64
          cmake --build "$(validationBuildOutputLocation)" --target run-validate
      timeoutInMinutes: 2
      env: { TMP: $(tmpDir), TEMP: $(tmpDir) }
    - task: PowerShell@2
      displayName: 'Create Diff'
      inputs:
        pwsh: true
        targetType: inline
        script: |
          $PSNativeCommandUseErrorActionPreference = $true
          $TempSubDir = Join-Path ([System.IO.Path]::GetTempPath()) ([System.IO.Path]::GetRandomFileName())
          mkdir $TempSubDir -Force | Out-Null
          $DiffFile = Join-Path $TempSubDir 'format.diff'
          git diff --ignore-submodules > $DiffFile
          if ((Get-Item -LiteralPath $DiffFile).Length -ne 0) {
            $message = @(
              '##vso[task.logissue type=error]The files in the repo need to be properly formatted.'
              ''
              '##[section]To fix this, you can clang-format the entire repo with:'
              '  cmake --preset x64'
              '  cmake --build --preset x64 --target format'
              ''
              '##[section]Please avoid this in the future by configuring your editor to format-on-save.'
              ''
              '##[section]View expected formatting:'
              '##[group]  >>>>> Click this line to expand the diff: <<<<<'
              Get-Content -LiteralPath $DiffFile -Raw
              '##[endgroup]'
              ''
              '##[section]You can also download this as format.diff and apply it with `git apply`:'
              '  1. Click the failed Validation job (upper left, marked with a red X)'
              '  2. Click "1 artifact produced"'
              '  3. Click the ">" chevron to the left of "format-artifact"'
              '  4. Hover over "format.diff"'
              '  5. Click the three dots that appear on the right'
              '  6. Click "Download artifacts"'
              ''
              "##vso[artifact.upload artifactname=format-artifact]$DiffFile"
              '##vso[task.complete result=Failed]'
            )
            Write-Host ($message -join "`n")
          }
      condition: succeededOrFailed()
      env: { TMP: $(tmpDir), TEMP: $(tmpDir) }


================================================
FILE: azure-devops/provision-image.ps1
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

<#
.SYNOPSIS
Sets up a virtual machine to be an image for a hosted pool.

.DESCRIPTION
create-1es-hosted-pool.ps1 (running on an STL maintainer's machine) creates a "prototype" virtual machine in Azure,
then runs provision-image.ps1 on that VM. This gives us full control over what we install for building and testing
the STL. After provision-image.ps1 is done, create-1es-hosted-pool.ps1 makes an image of the prototype VM,
creates a 1ES Hosted Pool that will spin up copies of the image as worker VMs, and finally deletes the prototype VM.

.PARAMETER Arch
The architecture can be either x64 or arm64.
#>
[CmdletBinding(PositionalBinding=$false)]
Param(
  [Parameter(Mandatory)][ValidateSet('x64', 'arm64')][String]$Arch
)

$ErrorActionPreference = 'Stop'
$ProgressPreference = 'SilentlyContinue'

if ($Env:COMPUTERNAME -cne 'PROTOTYPE') {
  Write-Error 'You should not run provision-image.ps1 on your local machine.'
}

if ($Arch -ieq 'x64') {
  Write-Host 'Provisioning x64.'
  $Provisioning_x64 = $true
} else {
  Write-Host 'Provisioning ARM64.'
  $Provisioning_x64 = $false
}

$VisualStudioWorkloads = @(
  'Microsoft.VisualStudio.Component.VC.ASAN',
  'Microsoft.VisualStudio.Component.VC.CMake.Project',
  'Microsoft.VisualStudio.Component.VC.CoreIde',
  'Microsoft.VisualStudio.Component.VC.Llvm.Clang',
  'Microsoft.VisualStudio.Component.VC.Preview.ARM64',
  'Microsoft.VisualStudio.Component.VC.Preview.CLI.Support',
  'Microsoft.VisualStudio.Component.VC.Preview.Tools.x86.x64',
  'Microsoft.VisualStudio.Component.Windows11SDK.26100'
)

# https://learn.microsoft.com/visualstudio/install/visual-studio-on-arm-devices
# "There's a single installer for both Visual Studio x64 and Visual Studio Arm64 architectures.
# The Visual Studio Installer detects whether the system architecture is Arm64.
# If it is, the installer downloads and installs the Arm64 version of Visual Studio."
$VisualStudioUrl = 'https://aka.ms/vs/18/insiders/vs_Community.exe'
$VisualStudioArgs = @('--quiet', '--norestart', '--wait', '--nocache')
foreach ($workload in $VisualStudioWorkloads) {
  $VisualStudioArgs += '--add'
  $VisualStudioArgs += $workload
}

# https://github.com/PowerShell/PowerShell/releases/latest
if ($Provisioning_x64) {
  $PowerShellUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.5.4/PowerShell-7.5.4-win-x64.msi'
} else {
  $PowerShellUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.5.4/PowerShell-7.5.4-win-arm64.msi'
}
$PowerShellArgs = @('/quiet', '/norestart')

# https://www.python.org
if ($Provisioning_x64) {
  $PythonUrl = 'https://www.python.org/ftp/python/3.14.3/python-3.14.3-amd64.exe'
} else {
  $PythonUrl = 'https://www.python.org/ftp/python/3.14.3/python-3.14.3-arm64.exe'
}
$PythonArgs = @('/quiet', 'InstallAllUsers=1', 'PrependPath=1', 'CompileAll=1', 'Include_doc=0')

# https://developer.nvidia.com/cuda-toolkit
if ($Provisioning_x64) {
  $CudaUrl = 'https://developer.download.nvidia.com/compute/cuda/13.2.0/local_installers/cuda_13.2.0_windows.exe'
} else {
  $CudaUrl = 'CUDA is not installed for ARM64'
}
$CudaArgs = @('-s', '-n')

<#
.SYNOPSIS
Download and install a component.

.DESCRIPTION
DownloadAndInstall downloads an executable from the given URL, and runs it with the given command-line arguments.

.PARAMETER Name
The name of the component, to be displayed in logging messages.

.PARAMETER Url
The URL of the installer.

.PARAMETER Args
The command-line arguments to pass to the installer.
#>
Function DownloadAndInstall {
  [CmdletBinding(PositionalBinding=$false)]
  Param(
    [Parameter(Mandatory)][String]$Name,
    [Parameter(Mandatory)][String]$Url,
    [Parameter(Mandatory)][String[]]$Args
  )

  try {
    Write-Host "Downloading $Name..."
    $tempPath = 'C:\installerTemp'
    mkdir $tempPath -Force | Out-Null
    $fileName = [uri]::new($Url).Segments[-1]
    $installerPath = Join-Path $tempPath $fileName
    curl.exe -L -o $installerPath -s -S $Url

    Write-Host "Installing $Name..."
    $proc = Start-Process -FilePath $installerPath -ArgumentList $Args -Wait -PassThru
    $exitCode = $proc.ExitCode

    if ($exitCode -eq 0) {
      Write-Host 'Installation successful!'
    } elseif ($exitCode -eq 3010) {
      Write-Host 'Installation successful! Exited with 3010 (ERROR_SUCCESS_REBOOT_REQUIRED).'
    } else {
      Write-Error "Installation failed! Exited with $exitCode."
    }
  } catch {
    Write-Error "Installation failed! Exception: $($_.Exception.Message)"
  }

  try {
    # Briefly sleep before removing the installer, attempting to avoid "Access to the path '$installerPath' is denied."
    Start-Sleep -Seconds 5
    Remove-Item -Path $installerPath
  } catch {
    Write-Error "Remove-Item failed! Exception: $($_.Exception.Message)"
  }
}

<#
.SYNOPSIS
Enables native NVMe support.

.DESCRIPTION
Native NVMe support is opt-in for Windows Server 2025.
TRANSITION, this will be enabled by default for the next version of Windows Server.
#>
Function EnableNativeNVMe {
  $registryKey = 'HKLM:\SYSTEM\CurrentControlSet\Policies\Microsoft\FeatureManagement\Overrides'
  $valueName = '1176759950'
  $valueData = 1

  if (!(Test-Path $registryKey)) {
    New-Item -Path $registryKey -Force | Out-Null
  }

  New-ItemProperty -Path $registryKey -Name $valueName -Value $valueData -PropertyType DWORD -Force | Out-Null
}

Write-Host "Old PowerShell version: $($PSVersionTable.PSVersion)"

# Print the Windows version, so we can verify whether Patch Tuesday has been picked up.
# Skip a blank line to improve the output.
(cmd /c ver)[1]

DownloadAndInstall   -Name 'PowerShell'    -Url $PowerShellUrl   -Args $PowerShellArgs
DownloadAndInstall   -Name 'Python'        -Url $PythonUrl       -Args $PythonArgs
DownloadAndInstall   -Name 'Visual Studio' -Url $VisualStudioUrl -Args $VisualStudioArgs
if ($Provisioning_x64) {
  DownloadAndInstall -Name 'CUDA'          -Url $CudaUrl         -Args $CudaArgs
}

Write-Host 'Setting environment variables...'

# The STL's PR/CI builds are totally unrepresentative of customer usage.
[Environment]::SetEnvironmentVariable('VSCMD_SKIP_SENDTELEMETRY', '1', 'Machine')

Write-Host 'Enabling long paths...'

# https://learn.microsoft.com/windows/win32/fileio/maximum-file-path-limitation
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' `
  -Value 1 -PropertyType DWORD -Force | Out-Null

if ($Provisioning_x64) {
  Write-Host 'Enabling native NVMe...'
  EnableNativeNVMe
}

# TRANSITION, patch Launch-VsDevShell.ps1 to pass `-vcvars_ver=preview` before a proper parameter is available.
Write-Host 'Patching Launch-VsDevShell.ps1...'
$launchVsDevShell = 'C:\Program Files\Microsoft Visual Studio\18\Insiders\Common7\Tools\Launch-VsDevShell.ps1'
$paramRegex = 'VsInstanceId = \$instanceId'
$paramSubst = '$&; DevCmdArguments = "-vcvars_ver=preview";'
(Get-Content -Raw $launchVsDevShell) -creplace $paramRegex, $paramSubst | Set-Content -NoNewLine $launchVsDevShell

# Tell create-1es-hosted-pool.ps1 that we succeeded.
Write-Host 'PROVISION_IMAGE_SUCCEEDED'

exit


================================================
FILE: azure-devops/run-tests.yml
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

parameters:
- name: hostArch
  type: string
- name: targetArch
  type: string
- name: targetPlatform
  type: string
- name: testTargets
  type: string
- name: runTesting
  type: boolean
steps:
- task: PowerShell@2
  displayName: 'Run Tests'
  inputs:
    pwsh: true
    workingDirectory: $(buildOutputLocation)
    targetType: inline
    script: |
      $PSNativeCommandUseErrorActionPreference = $true
      & "$(launchVsDevShell)" -HostArch ${{ parameters.hostArch }} -Arch ${{ parameters.targetArch }}
      ninja --verbose -k 0 ${{ parameters.testTargets }}
  timeoutInMinutes: 30
  condition: and(succeeded(), ${{ parameters.runTesting }})
  env: { TMP: $(tmpDir), TEMP: $(tmpDir) }
- task: PublishTestResults@2
  displayName: 'Publish Tests'
  timeoutInMinutes: 5
  condition: and(succeededOrFailed(), ${{ parameters.runTesting }})
  inputs:
    searchFolder: $(buildOutputLocation)
    testResultsFormat: JUnit
    testResultsFiles: '**/test-results.xml'
    testRunTitle: 'test-${{ parameters.targetPlatform }}-$(System.JobPositionInPhase)'
- publish: $(buildOutputLocation)/test-results.xml
  artifact: '${{ parameters.targetPlatform }}-$(System.JobPositionInPhase)-xml-$(System.JobId)'
  condition: and(failed(), ${{ parameters.runTesting }})
  displayName: 'Publish XML Artifact'


================================================
FILE: azure-pipelines.yml
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Build STL targeting x64, x86, arm64, arm64ec

variables:
  - template: azure-devops/config.yml

pr:
  drafts: false

stages:
  - stage: Code_Format
    dependsOn: []
    displayName: 'Code Format'
    pool:
      name: ${{ variables.x64SlowPoolName }}
      demands: ${{ variables.poolDemands }}
    jobs:
      - template: azure-devops/format-validation.yml

  - stage: Build_x64
    dependsOn: []
    displayName: 'Build x64'
    pool:
      name: ${{ variables.x64SlowPoolName }}
      demands: ${{ variables.poolDemands }}
    jobs:
      - template: azure-devops/build-and-test.yml
        parameters:
          hostArch: x64
          targetArch: x64
          targetPlatform: x64
          analyzeBuild: true
          buildBenchmarks: true
          numShards: 1
          configureTesting: false
          runTesting: false

  - stage: Build_x86
    dependsOn: []
    displayName: 'Build x86'
    pool:
      name: ${{ variables.x64SlowPoolName }}
      demands: ${{ variables.poolDemands }}
    jobs:
      - template: azure-devops/build-and-test.yml
        parameters:
          hostArch: x86
          targetArch: x86
          targetPlatform: x86
          analyzeBuild: true
          buildBenchmarks: true
          numShards: 1
          configureTesting: false
          runTesting: false

  - stage: Build_ARM64_Cross
    dependsOn: []
    displayName: 'Build ARM64 (Cross)'
    pool:
      name: ${{ variables.x64SlowPoolName }}
      demands: ${{ variables.poolDemands }}
    jobs:
      - template: azure-devops/build-and-test.yml
        parameters:
          hostArch: x64
          targetArch: arm64
          targetPlatform: arm64
          analyzeBuild: true
          buildBenchmarks: true
          numShards: 1
          configureTesting: false
          runTesting: false

  - stage: Build_ARM64EC_Cross
    dependsOn: []
    displayName: 'Build ARM64EC (Cross)'
    pool:
      name: ${{ variables.x64SlowPoolName }}
      demands: ${{ variables.poolDemands }}
    jobs:
      - template: azure-devops/build-and-test.yml
        parameters:
          hostArch: x64
          targetArch: arm64
          targetPlatform: arm64ec
          analyzeBuild: true
          buildBenchmarks: true
          numShards: 1
          configureTesting: false
          runTesting: false

  # This ARM64-native build will detect problems with the ARM64 pool as early as possible.
  # The stage dependencies are structured to optimize the critical path.
  - stage: Build_ARM64_Native
    dependsOn: []
    displayName: 'Build ARM64 (Native)'
    pool:
      name: ${{ variables.arm64PoolName }}
      demands: ${{ variables.poolDemands }}
    jobs:
      - template: azure-devops/build-and-test.yml
        parameters:
          hostArch: arm64
          targetArch: arm64
          targetPlatform: arm64
          analyzeBuild: true
          buildBenchmarks: true
          numShards: 1
          configureTesting: false
          runTesting: false

  - stage: Configure_Tests
    dependsOn: []
    displayName: 'Configure Tests'
    pool:
      name: ${{ variables.x64SlowPoolName }}
      demands: ${{ variables.poolDemands }}
    jobs:
      - template: azure-devops/build-and-test.yml
        parameters:
          hostArch: x64
          targetArch: x64
          targetPlatform: x64
          numShards: 1
          buildStl: false
          runTesting: false

  - stage: Test_x64
    dependsOn:
      - Code_Format
      - Build_x64
      - Build_x86
      - Build_ARM64_Cross
      - Build_ARM64EC_Cross
      - Configure_Tests
    displayName: 'Test x64'
    pool:
      name: ${{ variables.x64FastPoolName }}
      demands: ${{ variables.poolDemands }}
    jobs:
      - template: azure-devops/build-and-test.yml
        parameters:
          hostArch: x64
          targetArch: x64
          targetPlatform: x64

  - stage: Test_x86
    dependsOn: Test_x64
    displayName: 'Test x86'
    pool:
      name: ${{ variables.x64SlowPoolName }}
      demands: ${{ variables.poolDemands }}
    jobs:
      - template: azure-devops/build-and-test.yml
        parameters:
          hostArch: x86
          targetArch: x86
          targetPlatform: x86

  - stage: Test_ARM64
    dependsOn:
      - Build_ARM64_Native
      - Test_x64
    displayName: 'Test ARM64'
    pool:
      name: ${{ variables.arm64PoolName }}
      demands: ${{ variables.poolDemands }}
    jobs:
      - template: azure-devops/build-and-test.yml
        parameters:
          hostArch: arm64
          targetArch: arm64
          targetPlatform: arm64

  - stage: Test_ARM64EC
    dependsOn:
      - Build_ARM64_Native
      - Test_x64
    displayName: 'Test ARM64EC'
    pool:
      name: ${{ variables.arm64PoolName }}
      demands: ${{ variables.poolDemands }}
    jobs:
      - template: azure-devops/build-and-test.yml
        parameters:
          hostArch: arm64
          targetArch: arm64
          targetPlatform: arm64ec


================================================
FILE: benchmarks/CMakeLists.txt
================================================
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

cmake_minimum_required(VERSION 4.2.3)
project(msvc_standard_libraries_benchmarks LANGUAGES CXX)

if(DEFINED STL_BINARY_DIR)
    cmake_path(ABSOLUTE_PATH STL_BINARY_DIR
        BASE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/.."
        NORMALIZE
    )
    if(NOT EXISTS "${STL_BINARY_DIR}/out")
        message(FATAL_ERROR "Invalid STL_BINARY_DIR '${STL_BINARY_DIR}'")
    endif()

    if(NOT DEFINED VCLIBS_TARGET_ARCHITECTURE)
        set(VCLIBS_TARGET_ARCHITECTURE "${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}")
    endif()

    string(TOLOWER "${VCLIBS_TARGET_ARCHITECTURE}" VCLIBS_TARGET_ARCHITECTURE)

    if(VCLIBS_TARGET_ARCHITECTURE STREQUAL "x86")
        set(VCLIBS_I386_OR_AMD64 "i386")
    elseif(VCLIBS_TARGET_ARCHITECTURE STREQUAL "x64")
        set(VCLIBS_I386_OR_AMD64 "amd64")
    elseif(VCLIBS_TARGET_ARCHITECTURE STREQUAL "arm64")
        set(VCLIBS_I386_OR_AMD64 "arm64")
    elseif(VCLIBS_TARGET_ARCHITECTURE STREQUAL "arm64ec")
        set(VCLIBS_I386_OR_AMD64 "arm64ec")
        add_compile_options($<$<COMPILE_LANGUAGE:CXX>:/arm64EC>)
        add_link_options("/machine:arm64ec")
        set(CMAKE_STATIC_LINKER_FLAGS "/machine:arm64ec")
    else()
        message(FATAL_ERROR "Could not determine target architecture: VCLIBS_TARGET_ARCHITECTURE: ${VCLIBS_TARGET_ARCHITECTURE}")
    endif()

    include_directories(BEFORE "${STL_BINARY_DIR}/out/inc")
    link_directories(BEFORE "${STL_BINARY_DIR}/out/lib/${VCLIBS_I386_OR_AMD64}")
else()
    message(WARNING "STL_BINARY_DIR not set; benchmarking the globally installed standard library")
endif()

set(STL_BENCHMARK_MSVC_RUNTIME_LIBRARY
    MultiThreaded
    CACHE STRING "The flavor of the standard library to use; see https://cmake.org/cmake/help/latest/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html for more information.")
set_property(CACHE STL_BENCHMARK_MSVC_RUNTIME_LIBRARY
    PROPERTY STRINGS
    "MultiThreaded;MultiThreadedDLL;MultiThreadedDebug;MultiThreadedDebugDLL"
)
set(CMAKE_MSVC_RUNTIME_LIBRARY "${STL_BENCHMARK_MSVC_RUNTIME_LIBRARY}")

# Building the benchmarks as Release optimizes them with `/O2 /Ob2`.
# Compiling with `/Zi` and linking with `/DEBUG` below makes profiling possible.
# (RelWithDebInfo would use `/O2 /Ob1 /Zi`.) See GH-4496.
set(CMAKE_BUILD_TYPE Release)

# /utf-8 affects <format>.
add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:/Zi;/nologo;/diagnostics:caret;/W4;/WX;/w14265;/w15038;/w15262;/utf-8>")
add_compile_options("$<$<COMPILE_LANG_AND_ID:CXX,MSVC>:/Zc:preprocessor>") # TRANSITION, LLVM-48220 clang-cl: ignore /Zc:preprocessor

add_link_options("/DEBUG")

if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/google-benchmark/.git")
    message(FATAL_ERROR "google-benchmark is not checked out; make sure to run\n    git submodule update --init benchmarks/google-benchmark")
endif()

set(BENCHMARK_ENABLE_DOXYGEN OFF)
set(BENCHMARK_ENABLE_INSTALL OFF)
set(BENCHMARK_ENABLE_TESTING OFF)

add_subdirectory(google-benchmark EXCLUDE_FROM_ALL)

set(benchmark_headers
    "inc/lorem.hpp"
    "inc/skewed_allocator.hpp"
    "inc/udt.hpp"
    "inc/utility.hpp"
)

function(add_benchmark name)
    cmake_parse_arguments(PARSE_ARGV 1 "arg" "" "CXX_STANDARD" "")

    if(NOT DEFINED arg_CXX_STANDARD)
        set(arg_CXX_STANDARD 23)
    elseif(NOT arg_CXX_STANDARD MATCHES "^[0-9][0-9]$")
        message(FATAL_ERROR "Unexpected value for CXX_STANDARD: ${arg_CXX_STANDARD}")
    endif()

    if(NOT DEFINED arg_UNPARSED_ARGUMENTS)
        message(FATAL_ERROR "benchmark ${name} does not have any source files")
    endif()

    add_executable(benchmark-${name}
        ${benchmark_headers}
        ${arg_UNPARSED_ARGUMENTS}
    )

    target_compile_features(benchmark-${name} PRIVATE cxx_std_${arg_CXX_STANDARD})
    target_include_directories(benchmark-${name} PRIVATE inc)
    target_link_libraries(benchmark-${name} PRIVATE benchmark::benchmark)
endfunction()

add_benchmark(adjacent_difference src/adjacent_difference.cpp)
add_benchmark(adjacent_find src/adjacent_find.cpp)
add_benchmark(any_swap src/any_swap.cpp)
add_benchmark(bitset_from_string src/bitset_from_string.cpp)
add_benchmark(bitset_to_string src/bitset_to_string.cpp)
add_benchmark(charconv_floats src/charconv_floats.cpp)
add_benchmark(efficient_nonlocking_print src/efficient_nonlocking_print.cpp)
add_benchmark(filesystem src/filesystem.cpp)
add_benchmark(fill src/fill.cpp)
add_benchmark(find_and_count src/find_and_count.cpp)
add_benchmark(find_first_of src/find_first_of.cpp)
add_benchmark(flat_meow_assign src/flat_meow_assign.cpp)
add_benchmark(has_single_bit src/has_single_bit.cpp)
add_benchmark(includes src/includes.cpp)
add_benchmark(integer_to_string src/integer_to_string.cpp)
add_benchmark(iota src/iota.cpp)
add_benchmark(is_sorted_until src/is_sorted_until.cpp)
add_benchmark(locale_classic src/locale_classic.cpp)
add_benchmark(locate_zone src/locate_zone.cpp)
add_benchmark(minmax_element src/minmax_element.cpp)
add_benchmark(mismatch src/mismatch.cpp)
add_benchmark(move_only_function src/move_only_function.cpp)
add_benchmark(nth_element src/nth_element.cpp)
add_benchmark(path_lexically_normal src/path_lexically_normal.cpp)
add_benchmark(priority_queue_push_range src/priority_queue_push_range.cpp)
add_benchmark(random_integer_generation src/random_integer_generation.cpp)
add_benchmark(ranges_div_ceil src/ranges_div_ceil.cpp)
add_benchmark(regex_match src/regex_match.cpp)
add_benchmark(regex_search src/regex_search.cpp)
add_benchmark(remove src/remove.cpp)
add_benchmark(replace src/replace.cpp)
add_benchmark(reverse src/reverse.cpp)
add_benchmark(rotate src/rotate.cpp)
add_benchmark(sample src/sample.cpp)
add_benchmark(search src/search.cpp)
add_benchmark(search_n src/search_n.cpp)
add_benchmark(shuffle src/shuffle.cpp)
add_benchmark(std_copy src/std_copy.cpp)
add_benchmark(sv_equal src/sv_equal.cpp)
add_benchmark(swap_ranges src/swap_ranges.cpp)
add_benchmark(unique src/unique.cpp)
add_benchmark(vector_bool_copy src/vector_bool_copy.cpp)
add_benchmark(vector_bool_copy_n src/vector_bool_copy_n.cpp)
add_benchmark(vector_bool_count src/vector_bool_count.cpp)
add_benchmark(vector_bool_meow_of src/vector_bool_meow_of.cpp)
add_benchmark(vector_bool_move src/vector_bool_move.cpp)
add_benchmark(vector_bool_transform src/vector_bool_transform.cpp)


================================================
FILE: benchmarks/inc/lorem.hpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#pragma once

#include <string_view>

inline constexpr std::string_view lorem_ipsum =
    "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam mollis imperdiet massa, at dapibus elit interdum "
    "ac. In eget sollicitudin mi. Nam at tellus at sapien tincidunt sollicitudin vel non eros. Pellentesque nunc nunc, "
    "ullamcorper eu accumsan at, pulvinar non turpis. Quisque vel mauris pulvinar, pretium purus vel, ultricies erat. "
    "Curabitur a magna in ligula tristique ornare. Quisque commodo, massa viverra laoreet luctus, sem nisi aliquam "
    "velit, fermentum pulvinar velit leo eget justo. Suspendisse vel erat efficitur, pulvinar eros volutpat, vulputate "
    "ex. Phasellus non purus vel velit tristique tristique id at ligula. Quisque mollis sodales magna. Mauris et quam "
    "eu quam viverra tempus. Nullam tempus maximus porta. Nunc mattis eleifend fermentum. Nullam aliquam libero "
    "accumsan velit elementum, eu laoreet metus convallis. Donec pellentesque lacus ut iaculis iaculis. Curabitur orci "
    "elit, bibendum sit amet feugiat at, iaculis sit amet massa. Maecenas imperdiet lacus at vehicula iaculis. Donec "
    "volutpat nunc sit amet accumsan tempor. Quisque pretium vestibulum ultricies. Suspendisse potenti. Aenean at diam "
    "iaculis, condimentum felis venenatis, condimentum erat. Nam quis elit dui. Duis quis odio vitae metus hendrerit "
    "rhoncus ut et magna. Cras ac augue quis nibh pharetra sagittis. Donec ullamcorper vel eros semper pretium. Proin "
    "vel sollicitudin eros. Nulla sollicitudin mattis turpis id suscipit. Aliquam sed risus velit. Aliquam iaculis nec "
    "nibh ac egestas. Duis finibus semper est sed consequat. Sed in sapien quis nibh dignissim mattis. Vestibulum nec "
    "metus sodales, euismod mauris ac, sollicitudin libero. Maecenas non arcu ac velit ullamcorper fringilla et quis "
    "nulla. Curabitur posuere leo eget ipsum tincidunt dignissim. Cras ultricies suscipit neque, quis suscipit tortor "
    "venenatis non. Cras nisl mi, bibendum in vulputate quis, vestibulum ornare enim. Nunc hendrerit placerat dui, "
    "aliquam mollis sem convallis et. Integer vitae urna diam. Phasellus et imperdiet est. Maecenas auctor facilisis "
    "nibh non commodo. Suspendisse iaculis quam id bibendum feugiat. Pellentesque felis erat, egestas a libero ac, "
    "laoreet consectetur elit. Cras ut suscipit ex. Etiam gravida sem quis ex porta, eu lacinia tortor fermentum. "
    "Nulla consequat odio enim, sed condimentum est sagittis a. Quisque nec commodo tellus. Phasellus elementum "
    "feugiat dolor et feugiat. Praesent sed mattis tortor. In vitae sodales purus. Morbi accumsan, ligula et interdum "
    "lacinia, leo risus suscipit urna, non luctus mi justo eu ipsum. Curabitur venenatis pretium orci id porttitor. "
    "Quisque dapibus nisl sit amet elit lobortis sagittis. Orci varius natoque penatibus et magnis dis parturient "
    "montes, nascetur ridiculus mus. Mauris varius dui sit amet tortor facilisis vestibulum. Curabitur condimentum "
    "justo nec orci mattis auctor. Quisque aliquet condimentum arcu ac sollicitudin. Maecenas elit elit, condimentum "
    "vitae auctor a, cursus et sem. Cras vehicula ante in consequat fermentum. Praesent at massa nisi. Mauris pretium "
    "euismod eros, ut posuere ligula ullamcorper id. Nullam aliquet malesuada est at dignissim. Pellentesque finibus "
    "sagittis libero nec bibendum. Phasellus dolor ipsum, finibus quis turpis quis, mollis interdum felis.";


================================================
FILE: benchmarks/inc/skewed_allocator.hpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#pragma once

#include <cstddef>
#include <cstdlib>
#include <new>

template <class T, size_t Alignment, size_t Skew>
struct skewed_allocator {
    using value_type = T;
    static_assert(Alignment % alignof(T) == 0, "Chosen Alignment will produce unaligned T objects");
    static_assert(Skew % alignof(T) == 0, "Chosen Skew will produce unaligned T objects");

    template <class U>
    struct rebind {
        using other = skewed_allocator<U, Alignment, Skew>;
    };

    skewed_allocator() = default;
    template <class U>
    skewed_allocator(const skewed_allocator<U, Alignment, Skew>&) {}

    template <class U>
    bool operator==(const skewed_allocator<U, Alignment, Skew>&) const {
        return true;
    }

    T* allocate(const size_t n) {
        const auto p = static_cast<unsigned char*>(_aligned_malloc(n * sizeof(T) + Skew, Alignment));
        if (!p) {
            throw std::bad_alloc{};
        }
        return reinterpret_cast<T*>(p + Skew);
    }

    void deallocate(T* const p, size_t) {
        if (p) {
            _aligned_free(reinterpret_cast<unsigned char*>(p) - Skew);
        }
    }
};

// The purpose is to provide consistent behavior for benchmarks.
// 64 would be a reasonable alignment for practical perf uses,
// as it is both the cache line size and the maximum vector instruction size (on x64).
// However, aligning to the page size will provide even more consistency
// by ensuring that the same number of page boundaries is crossed each time.
inline constexpr size_t page_size = 4096;

// A realistic skew relative to allocation granularity, when a variable is placed
// next to a pointer in a structure or on the stack. Also corresponds to the default packing.
inline constexpr size_t realistic_skew = 8;

template <class T>
using highly_aligned_allocator = skewed_allocator<T, page_size, 0>;

template <class T>
using not_highly_aligned_allocator = skewed_allocator<T, page_size, realistic_skew>;

#pragma warning(push)
#pragma warning(disable : 4324) // structure was padded due to alignment specifier

template <class T>
struct alignas(page_size) highly_aligned {
    T value;
};

template <class T>
struct alignas(page_size) not_highly_aligned {
    char pad[realistic_skew];
    T value;
};

#pragma warning(pop)


================================================
FILE: benchmarks/inc/udt.hpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#pragma once

template <typename Data>
struct aggregate {
    Data c;

    friend bool operator==(const aggregate&, const aggregate&) = default;
};

template <typename Data>
struct non_trivial {
    Data c;
    non_trivial() : c() {}
    non_trivial(const Data& src) : c(src) {}
    non_trivial(const non_trivial& other) : c(other.c) {}
    non_trivial& operator=(const non_trivial& other) {
        c = other.c;
        return *this;
    }
    ~non_trivial() {}

    friend bool operator==(const non_trivial&, const non_trivial&) = default;
};


================================================
FILE: benchmarks/inc/utility.hpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#pragma once

#include <algorithm>
#include <cstddef>
#include <memory>
#include <random>
#include <type_traits>
#include <vector>

template <class Contained, template <class> class Alloc = std::allocator, class... Seed>
std::vector<Contained, Alloc<Contained>> random_vector(size_t n, Seed... seed) {
    std::vector<Contained, Alloc<Contained>> res(n);
    std::mt19937_64 prng{seed...};

    if constexpr (std::is_same_v<Contained, bool>) {
        std::generate(res.begin(), res.end(), [&prng] { return static_cast<bool>(prng() & 1); });
    } else {
// Here, the type Contained can be char, int, aggregate<Data>, or non_trivial<Data> where Data is char or int.
// (aggregate<Data> and non_trivial<Data> are defined in udt.hpp.)
// static_cast<Contained> silences truncation warnings when Contained is directly char or int,
// but is insufficient for aggregate<Data> or non_trivial<Data>.
#pragma warning(push)
#pragma warning(disable : 4244) // warning C4244: conversion from 'uint64_t' to 'Data', possible loss of data
        std::generate(res.begin(), res.end(), [&prng] { return static_cast<Contained>(prng()); });
#pragma warning(pop)
    }

    return res;
}


================================================
FILE: benchmarks/src/adjacent_difference.cpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#include <algorithm>
#include <benchmark/benchmark.h>
#include <cstddef>
#include <cstdint>
#include <limits>
#include <numeric>
#include <random>
#include <type_traits>
#include <vector>

#include "skewed_allocator.hpp"

using namespace std;

template <class T>
void bm(benchmark::State& state) {
    mt19937 gen(96337);

    const size_t size = static_cast<size_t>(state.range(0));

    vector<T, not_highly_aligned_allocator<T>> input(size);
    vector<T, not_highly_aligned_allocator<T>> output(size);

    if constexpr (is_floating_point_v<T>) {
        normal_distribution<T> dis(0, 100000.0);
        ranges::generate(input, [&] { return dis(gen); });
    } else {
        static_assert(is_unsigned_v<T>, "This avoids signed integers to avoid UB; they shouldn't perform differently");
        uniform_int_distribution<conditional_t<sizeof(T) != 1, T, unsigned int>> dis(0, numeric_limits<T>::max());
        ranges::generate(input, [&] { return static_cast<T>(dis(gen)); });
    }

    for (auto _ : state) {
        benchmark::DoNotOptimize(input);
        adjacent_difference(input.begin(), input.end(), output.begin());
        benchmark::DoNotOptimize(output);
    }
}

void common_args(benchmark::Benchmark* bm) {
    bm->Arg(2255);
}

#pragma warning(push)
#pragma warning(disable : 4244) // warning C4244: '=': conversion from 'int' to 'unsigned char', possible loss of data
BENCHMARK(bm<uint8_t>)->Apply(common_args);
BENCHMARK(bm<uint16_t>)->Apply(common_args);
#pragma warning(pop)

BENCHMARK(bm<uint32_t>)->Apply(common_args);
BENCHMARK(bm<uint64_t>)->Apply(common_args);

BENCHMARK(bm<float>)->Apply(common_args);
BENCHMARK(bm<double>)->Apply(common_args);

BENCHMARK_MAIN();


================================================
FILE: benchmarks/src/adjacent_find.cpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#include <algorithm>
#include <benchmark/benchmark.h>
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <vector>

#include "skewed_allocator.hpp"

using namespace std;

enum class AlgType { Std, Rng };

template <AlgType Alg, class T>
void bm(benchmark::State& state) {
    const size_t size = static_cast<size_t>(state.range(0));
    const size_t pos  = static_cast<size_t>(state.range(1));

    vector<T, not_highly_aligned_allocator<T>> v(size);

    for (size_t i = 0; i != size; ++i) {
        v[i] = static_cast<T>(i & 3);
    }

    if (pos == 0 || pos >= size) {
        abort();
    }

    v[pos] = v[pos - 1];

    for (auto _ : state) {
        benchmark::DoNotOptimize(v);
        if constexpr (Alg == AlgType::Std) {
            benchmark::DoNotOptimize(adjacent_find(v.begin(), v.end()));
        } else {
            benchmark::DoNotOptimize(ranges::adjacent_find(v));
        }
    }
}

void common_args(benchmark::Benchmark* bm) {
    bm->ArgPair(2525, 1142);
}

BENCHMARK(bm<AlgType::Std, int8_t>)->Apply(common_args);
BENCHMARK(bm<AlgType::Std, int16_t>)->Apply(common_args);
BENCHMARK(bm<AlgType::Std, int32_t>)->Apply(common_args);
BENCHMARK(bm<AlgType::Std, int64_t>)->Apply(common_args);

BENCHMARK(bm<AlgType::Rng, int8_t>)->Apply(common_args);
BENCHMARK(bm<AlgType::Rng, int16_t>)->Apply(common_args);
BENCHMARK(bm<AlgType::Rng, int32_t>)->Apply(common_args);
BENCHMARK(bm<AlgType::Rng, int64_t>)->Apply(common_args);

BENCHMARK_MAIN();


================================================
FILE: benchmarks/src/any_swap.cpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#include <any>
#include <array>
#include <benchmark/benchmark.h>
#include <type_traits>

using trivial = std::array<int, 2>;
static_assert(std::is_trivially_copyable_v<trivial>);

struct small {
    std::array<int, 4> c{};
    small()                            = default;
    small(const small&)                = default;
    small& operator=(const small&)     = default;
    small(small&&) noexcept            = default;
    small& operator=(small&&) noexcept = default;
    ~small() {}
};
static_assert(!std::is_trivially_copyable_v<small>);
static_assert(std::is_nothrow_move_constructible_v<small>);

using large = std::array<int, 32>;

template <class T>
void bm(benchmark::State& state) {
    std::any a = T{};
    std::any b = T{};

    for (auto _ : state) {
        a.swap(b);
        benchmark::DoNotOptimize(a);
        benchmark::DoNotOptimize(b);
    }
}

BENCHMARK(bm<trivial>);
BENCHMARK(bm<small>);
BENCHMARK(bm<large>);

BENCHMARK_MAIN();


================================================
FILE: benchmarks/src/bitset_from_string.cpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#include <algorithm>
#include <array>
#include <benchmark/benchmark.h>
#include <bitset>
#include <cstddef>
#include <random>
#include <sstream>
#include <string>

using namespace std;

template <size_t N, class charT, size_t Min_length>
auto random_digits_init() {
    mt19937_64 rnd{};
    uniform_int_distribution<> dis('0', '1');

    constexpr size_t number_of_bitsets = (Min_length + N - 1) / N;
    static_assert(number_of_bitsets != 0);

    constexpr size_t actual_size = number_of_bitsets * (N + 1); // +1 for \0

    array<charT, actual_size> result;

    for (size_t i = 0; i < actual_size; ++i) {
        if (i % (N + 1) == N) {
            result[i] = charT{'\0'}; // write null terminators
        } else {
            result[i] = static_cast<charT>(dis(rnd)); // fill random digits
        }
    }

    return result;
}

enum class length_type : bool { char_count, null_term };

template <size_t N, class charT>
const auto random_digits = random_digits_init<N, charT, 2048>();

template <length_type Length, size_t N, class charT>
void bitset_from_string(benchmark::State& state) {
    auto digit_array = random_digits<N, charT>;
    for (auto _ : state) {
        benchmark::DoNotOptimize(digit_array);
        const auto arr_data = digit_array.data();
        const auto arr_size = digit_array.size();
        for (size_t pos = 0; pos != arr_size; pos += N + 1) {
            if constexpr (Length == length_type::char_count) {
                bitset<N> bs(arr_data + pos, N);
                benchmark::DoNotOptimize(bs);
            } else {
                bitset<N> bs(arr_data + pos);
                benchmark::DoNotOptimize(bs);
            }
        }
    }
}

template <class charT, size_t Length>
basic_string<charT> random_digits_contiguous_string_init() {
    mt19937_64 rnd{};
    uniform_int_distribution<> dis('0', '1');

    basic_string<charT> result;

    result.resize_and_overwrite(Length, [&](charT* ptr, size_t) {
        generate_n(ptr, Length, [&] { return static_cast<charT>(dis(rnd)); });
        return Length;
    });

    return result;
}

template <class charT, size_t Length>
const auto random_digits_contiguous_string = random_digits_contiguous_string_init<charT, Length>();

template <size_t N, class charT>
void bitset_from_stream(benchmark::State& state) {
    constexpr size_t string_length = 2048;
    constexpr size_t count         = string_length / N;
    basic_istringstream<charT> stream(random_digits_contiguous_string<charT, string_length>);
    bitset<N> bs;
    for (auto _ : state) {
        benchmark::DoNotOptimize(stream);
        for (size_t i = 0; i != count; ++i) {
            stream >> bs;
        }
        benchmark::DoNotOptimize(bs);
        stream.seekg(0);
    }
}

BENCHMARK(bitset_from_string<length_type::char_count, 15, char>);
BENCHMARK(bitset_from_string<length_type::char_count, 16, char>);
BENCHMARK(bitset_from_string<length_type::char_count, 36, char>);
BENCHMARK(bitset_from_string<length_type::char_count, 64, char>);
BENCHMARK(bitset_from_string<length_type::char_count, 512, char>);
BENCHMARK(bitset_from_string<length_type::char_count, 2048, char>);

BENCHMARK(bitset_from_string<length_type::char_count, 15, wchar_t>);
BENCHMARK(bitset_from_string<length_type::char_count, 16, wchar_t>);
BENCHMARK(bitset_from_string<length_type::char_count, 36, wchar_t>);
BENCHMARK(bitset_from_string<length_type::char_count, 64, wchar_t>);
BENCHMARK(bitset_from_string<length_type::char_count, 512, wchar_t>);
BENCHMARK(bitset_from_string<length_type::char_count, 2048, wchar_t>);

BENCHMARK(bitset_from_string<length_type::null_term, 15, char>);
BENCHMARK(bitset_from_string<length_type::null_term, 16, char>);
BENCHMARK(bitset_from_string<length_type::null_term, 36, char>);
BENCHMARK(bitset_from_string<length_type::null_term, 64, char>);
BENCHMARK(bitset_from_string<length_type::null_term, 512, char>);
BENCHMARK(bitset_from_string<length_type::null_term, 2048, char>);

BENCHMARK(bitset_from_string<length_type::null_term, 15, wchar_t>);
BENCHMARK(bitset_from_string<length_type::null_term, 16, wchar_t>);
BENCHMARK(bitset_from_string<length_type::null_term, 36, wchar_t>);
BENCHMARK(bitset_from_string<length_type::null_term, 64, wchar_t>);
BENCHMARK(bitset_from_string<length_type::null_term, 512, wchar_t>);
BENCHMARK(bitset_from_string<length_type::null_term, 2048, wchar_t>);

BENCHMARK(bitset_from_stream<15, char>);
BENCHMARK(bitset_from_stream<16, char>);
BENCHMARK(bitset_from_stream<36, char>);
BENCHMARK(bitset_from_stream<64, char>);
BENCHMARK(bitset_from_stream<512, char>);
BENCHMARK(bitset_from_stream<2048, char>);

BENCHMARK(bitset_from_stream<15, wchar_t>);
BENCHMARK(bitset_from_stream<16, wchar_t>);
BENCHMARK(bitset_from_stream<36, wchar_t>);
BENCHMARK(bitset_from_stream<64, wchar_t>);
BENCHMARK(bitset_from_stream<512, wchar_t>);
BENCHMARK(bitset_from_stream<2048, wchar_t>);

BENCHMARK_MAIN();


================================================
FILE: benchmarks/src/bitset_to_string.cpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#include <array>
#include <benchmark/benchmark.h>
#include <bit>
#include <bitset>
#include <climits>
#include <cstddef>
#include <cstdint>
#include <random>

using namespace std;

template <size_t Elems>
auto random_bits_init() {
    mt19937_64 rnd{};
    array<uint64_t, Elems> arr;
    for (auto& d : arr) {
        d = rnd();
    }
    return arr;
}

template <size_t Elems = 32>
const auto random_bits = random_bits_init<Elems>();

template <size_t N, class charT>
void BM_bitset_to_string(benchmark::State& state) {
    static_assert(N <= 64);

    for (auto _ : state) {
        // make a copy, so that it can be potentially modified by DoNotOptimize
        for (auto bits : random_bits<>) {
            benchmark::DoNotOptimize(bits);
            bitset<N> bs{bits};
            benchmark::DoNotOptimize(bs.template to_string<charT>());
        }
    }
}

template <size_t N, class charT>
void BM_bitset_to_string_large_single(benchmark::State& state) {
    static_assert(N % 64 == 0 && N >= 64);
    const auto& bitset_data = random_bits<N / 64>;

    auto large_bitset = bit_cast<bitset<N>>(bitset_data);
    for (auto _ : state) {
        benchmark::DoNotOptimize(large_bitset);
        benchmark::DoNotOptimize(large_bitset.template to_string<charT>());
    }
}

BENCHMARK(BM_bitset_to_string<15, char>);
BENCHMARK(BM_bitset_to_string<64, char>);
BENCHMARK(BM_bitset_to_string_large_single<512, char>);
BENCHMARK(BM_bitset_to_string_large_single<2048, char>);
BENCHMARK(BM_bitset_to_string<7, wchar_t>);
BENCHMARK(BM_bitset_to_string<64, wchar_t>);
BENCHMARK(BM_bitset_to_string_large_single<512, wchar_t>);
BENCHMARK(BM_bitset_to_string_large_single<2048, wchar_t>);

BENCHMARK_MAIN();


================================================
FILE: benchmarks/src/charconv_floats.cpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#include <benchmark/benchmark.h>
#include <bit>
#include <charconv>
#include <cstddef>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <random>
#include <system_error>
#include <type_traits>
#include <vector>

using namespace std;

void verify(const bool b) {
    if (!b) {
        puts("FAIL");
        exit(EXIT_FAILURE);
    }
}

enum class RoundTrip { Sci, Fix, Gen, Hex, Lossy };

consteval chars_format chars_format_from_RoundTrip(const RoundTrip rt) {
    switch (rt) {
    case RoundTrip::Sci:
        return chars_format::scientific;
    case RoundTrip::Fix:
        return chars_format::fixed;
    case RoundTrip::Gen:
        return chars_format::general;
    case RoundTrip::Hex:
        return chars_format::hex;
    case RoundTrip::Lossy:
    default:
        exit(EXIT_FAILURE);
    }
}

template <RoundTrip Rt, typename Floating, auto... Args>
void test_to_chars(benchmark::State& state) {
    constexpr size_t n = 2'000'000; // how many floating-point values to test
    vector<Floating> vec;
    vec.reserve(n);

    {
        mt19937_64 mt64;
        while (vec.size() < n) {
            using Integral             = conditional_t<sizeof(Floating) == 4, uint32_t, uint64_t>;
            const Integral val         = static_cast<Integral>(mt64());
            constexpr Integral inf_nan = sizeof(Floating) == 4 ? 0x7F800000U : 0x7FF0000000000000ULL;
            if ((val & inf_nan) == inf_nan) {
                continue; // skip INF/NAN
            }
            vec.push_back(bit_cast<Floating>(val));
        }
    }

    char buf[2'000]; // more than enough

    {
        auto it = vec.begin();
        for (auto _ : state) {
            auto result = to_chars(buf, end(buf), *it, Args...);

            benchmark::DoNotOptimize(result.ptr);
            benchmark::DoNotOptimize(buf);

            ++it;
            if (it == vec.end()) {
                it = vec.begin();
            }
        }
    }

    for (const auto& elem : vec) {
        const auto result = to_chars(buf, end(buf), elem, Args...);
        verify(result.ec == errc{});

        if constexpr (Rt == RoundTrip::Lossy) {
            // skip lossy conversions
        } else {
            Floating round_trip;
            const auto from_result = from_chars(buf, result.ptr, round_trip, chars_format_from_RoundTrip(Rt));
            verify(from_result.ec == errc{});
            verify(from_result.ptr == result.ptr);
            verify(round_trip == elem);
        }
    }
}

BENCHMARK(test_to_chars<RoundTrip::Gen, float>)->Name("STL_float_plain_shortest");
BENCHMARK(test_to_chars<RoundTrip::Gen, double>)->Name("STL_double_plain_shortest");
BENCHMARK(test_to_chars<RoundTrip::Sci, float, chars_format::scientific>)->Name("STL_float_scientific_shortest");
BENCHMARK(test_to_chars<RoundTrip::Sci, double, chars_format::scientific>)->Name("STL_double_scientific_shortest");
BENCHMARK(test_to_chars<RoundTrip::Fix, float, chars_format::fixed>)->Name("STL_float_fixed_shortest");
BENCHMARK(test_to_chars<RoundTrip::Fix, double, chars_format::fixed>)->Name("STL_double_fixed_shortest");
BENCHMARK(test_to_chars<RoundTrip::Gen, float, chars_format::general>)->Name("STL_float_general_shortest");
BENCHMARK(test_to_chars<RoundTrip::Gen, double, chars_format::general>)->Name("STL_double_general_shortest");
BENCHMARK(test_to_chars<RoundTrip::Hex, float, chars_format::hex>)->Name("STL_float_hex_shortest");
BENCHMARK(test_to_chars<RoundTrip::Hex, double, chars_format::hex>)->Name("STL_double_hex_shortest");
BENCHMARK(test_to_chars<RoundTrip::Sci, float, chars_format::scientific, 8>)->Name("STL_float_scientific_8");
BENCHMARK(test_to_chars<RoundTrip::Sci, double, chars_format::scientific, 16>)->Name("STL_double_scientific_16");
BENCHMARK(test_to_chars<RoundTrip::Lossy, float, chars_format::fixed, 6>)->Name("STL_float_fixed_6_lossy");
BENCHMARK(test_to_chars<RoundTrip::Lossy, double, chars_format::fixed, 6>)->Name("STL_double_fixed_6_lossy");
BENCHMARK(test_to_chars<RoundTrip::Gen, float, chars_format::general, 9>)->Name("STL_float_general_9");
BENCHMARK(test_to_chars<RoundTrip::Gen, double, chars_format::general, 17>)->Name("STL_double_general_17");
BENCHMARK(test_to_chars<RoundTrip::Hex, float, chars_format::hex, 6>)->Name("STL_float_hex_6");
BENCHMARK(test_to_chars<RoundTrip::Hex, double, chars_format::hex, 13>)->Name("STL_double_hex_13");

BENCHMARK_MAIN();


================================================
FILE: benchmarks/src/efficient_nonlocking_print.cpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

// This benchmark inherently prints many lines to stdout. To view its results, run it with these options:
// --benchmark_out=efficient_nonlocking_print.log --benchmark_out_format=console

#include <benchmark/benchmark.h>
#include <cstdio>
#include <format>
#include <print>
#include <string>
#include <string_view>
#include <utility>

using PrintType = void (*)(FILE*, std::string_view, std::format_args);

template <PrintType PrintFunction>
void BM_vprint(benchmark::State& state) {
    for (auto _ : state) {
        PrintFunction(stdout, "Hello cool I am going to print as unicode\n", std::make_format_args());
    }
}
BENCHMARK(BM_vprint<&std::vprint_unicode>);
BENCHMARK(BM_vprint<&std::vprint_unicode_buffered>);

template <PrintType PrintFunction>
void BM_vprint_complex(benchmark::State& state) {
    const int i           = 42;
    const std::string str = "Hello world!!!!!!!!!!!!!!!!!!!!!!!!";
    const double f        = -902.16283758;
    const std::pair<int, double> p{16, 2.073f};
    for (auto _ : state) {
        PrintFunction(stdout,
            "Hello cool I am going to print as unicode!! {:X}, {}, {:a}, "
            "I am a big string, lots of words, multiple {} formats\n",
            std::make_format_args(i, str, f, p));
    }
}
BENCHMARK(BM_vprint_complex<&std::vprint_unicode>);
BENCHMARK(BM_vprint_complex<&std::vprint_unicode_buffered>);

BENCHMARK_MAIN();


================================================
FILE: benchmarks/src/filesystem.cpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#include <benchmark/benchmark.h>
#include <filesystem>
#include <system_error>

void symlink_status(benchmark::State& state) {
    auto path = std::filesystem::temp_directory_path();

    for (auto _ : state) {
        std::error_code ec;
        benchmark::DoNotOptimize(path);
        auto status = std::filesystem::symlink_status(path, ec);
        benchmark::DoNotOptimize(status);
        benchmark::DoNotOptimize(ec);
    }
}

BENCHMARK(symlink_status);

BENCHMARK_MAIN();


================================================
FILE: benchmarks/src/fill.cpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#include <algorithm>
#include <benchmark/benchmark.h>
#include <cstring>
#include <vector>

#include <skewed_allocator.hpp>

template <typename Contained, Contained Value>
void handwritten_loop(benchmark::State& state) {
    const size_t r0 = static_cast<size_t>(state.range(0));
    std::vector<Contained, not_highly_aligned_allocator<Contained>> buffer(r0);
    for ([[maybe_unused]] auto _ : state) {
        benchmark::DoNotOptimize(buffer.data());
        Contained* ptr                 = buffer.data();
        const Contained* const ptr_end = ptr + r0;
        while (ptr != ptr_end) {
            *ptr++ = Value;
        }
        benchmark::DoNotOptimize(buffer.data());
    }
}

template <typename Contained, Contained Value>
void handwritten_loop_n(benchmark::State& state) {
    const size_t r0 = static_cast<size_t>(state.range(0));
    std::vector<Contained, not_highly_aligned_allocator<Contained>> buffer(r0);
    for ([[maybe_unused]] auto _ : state) {
        benchmark::DoNotOptimize(buffer.data());
        Contained* ptr = buffer.data();
        for (size_t idx = 0; idx < r0; ++idx) {
            ptr[idx] = Value;
        }
        benchmark::DoNotOptimize(buffer.data());
    }
}

// Ensure that Contained and Value are ok for std::memset.
template <typename Contained, Contained Value>
void memset_call(benchmark::State& state) {
    const size_t r0 = static_cast<size_t>(state.range(0));
    std::vector<Contained, not_highly_aligned_allocator<Contained>> buffer(r0);
    for ([[maybe_unused]] auto _ : state) {
        benchmark::DoNotOptimize(buffer.data());
        Contained* ptr = buffer.data();
        std::memset(ptr, Value, r0 * sizeof(Contained));
        benchmark::DoNotOptimize(buffer.data());
    }
}

template <typename Contained, Contained Value>
void std_fill_call(benchmark::State& state) {
    const size_t r0 = static_cast<size_t>(state.range(0));
    std::vector<Contained, not_highly_aligned_allocator<Contained>> buffer(r0);
    for ([[maybe_unused]] auto _ : state) {
        benchmark::DoNotOptimize(buffer.data());
        auto begin_it = buffer.data();
        auto end_it   = buffer.data() + r0;
        std::fill(begin_it, end_it, Value);
        benchmark::DoNotOptimize(buffer.data());
    }
}

template <typename Contained, Contained Value>
void std_fill_n_call(benchmark::State& state) {
    const size_t r0 = static_cast<size_t>(state.range(0));
    std::vector<Contained, not_highly_aligned_allocator<Contained>> buffer(r0);
    for ([[maybe_unused]] auto _ : state) {
        benchmark::DoNotOptimize(buffer.data());
        auto begin_it = buffer.data();
        std::fill_n(begin_it, r0, Value);
        benchmark::DoNotOptimize(buffer.data());
    }
}

BENCHMARK(handwritten_loop<char, 0>)->Range(0, 1 << 18);
BENCHMARK(handwritten_loop<char, 1>)->Range(0, 1 << 18);
BENCHMARK(handwritten_loop_n<char, 0>)->Range(0, 1 << 18);
BENCHMARK(handwritten_loop_n<char, 1>)->Range(0, 1 << 18);
BENCHMARK(memset_call<char, 0>)->Range(0, 1 << 18);
BENCHMARK(memset_call<char, 1>)->Range(0, 1 << 18);
BENCHMARK(std_fill_call<char, 0>)->Range(0, 1 << 18);
BENCHMARK(std_fill_call<char, 1>)->Range(0, 1 << 18);
BENCHMARK(std_fill_n_call<char, 0>)->Range(0, 1 << 18);
BENCHMARK(std_fill_n_call<char, 1>)->Range(0, 1 << 18);

BENCHMARK_MAIN();


================================================
FILE: benchmarks/src/find_and_count.cpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#include <algorithm>
#include <benchmark/benchmark.h>
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <ranges>
#include <string>
#include <type_traits>
#include <vector>

#include "skewed_allocator.hpp"

enum class Op {
    FindSized,
    FindUnsized,
    Count,
    StringFind,
    StringRFind,
    StringFindNotFirstOne,
    StringFindNotLastOne,
};

using namespace std;

template <class T, template <class> class Alloc, Op Operation, T FillVal = T{'0'}, T FoundVal = T{'1'}>
void bm(benchmark::State& state) {
    const auto size = static_cast<size_t>(state.range(0));
    const auto pos  = static_cast<size_t>(state.range(1));

    using Container =
        conditional_t<Operation >= Op::StringFind, basic_string<T, char_traits<T>, Alloc<T>>, vector<T, Alloc<T>>>;

    Container a(size, FillVal);

    if (pos < size) {
        if constexpr (Operation == Op::StringRFind || Operation == Op::StringFindNotLastOne) {
            a[size - pos - 1] = FoundVal;
        } else {
            a[pos] = FoundVal;
        }
    } else {
        if constexpr (Operation == Op::FindUnsized) {
            abort();
        }
    }

    for (auto _ : state) {
        if constexpr (Operation == Op::FindSized) {
            benchmark::DoNotOptimize(ranges::find(a.begin(), a.end(), FoundVal));
        } else if constexpr (Operation == Op::FindUnsized) {
            benchmark::DoNotOptimize(ranges::find(a.begin(), unreachable_sentinel, FoundVal));
        } else if constexpr (Operation == Op::Count) {
            benchmark::DoNotOptimize(ranges::count(a.begin(), a.end(), FoundVal));
        } else if constexpr (Operation == Op::StringFind) {
            benchmark::DoNotOptimize(a.find(FoundVal));
        } else if constexpr (Operation == Op::StringRFind) {
            benchmark::DoNotOptimize(a.rfind(FoundVal));
        } else if constexpr (Operation == Op::StringFindNotFirstOne) {
            benchmark::DoNotOptimize(a.find_first_not_of(FillVal));
        } else if constexpr (Operation == Op::StringFindNotLastOne) {
            benchmark::DoNotOptimize(a.find_last_not_of(FillVal));
        }
    }
}

void common_args(benchmark::Benchmark* bm) {
    bm->Args({8021, 3056});
    // AVX tail tests
    bm->Args({63, 62})->Args({31, 30})->Args({15, 14})->Args({7, 6});
}

struct point {
    int16_t x{};
    int16_t y{};

    bool operator==(const point&) const = default;
};

BENCHMARK(bm<uint8_t, not_highly_aligned_allocator, Op::FindSized>)->Apply(common_args);
BENCHMARK(bm<uint8_t, highly_aligned_allocator, Op::FindSized>)->Apply(common_args);
BENCHMARK(bm<uint8_t, not_highly_aligned_allocator, Op::FindUnsized>)->Apply(common_args);
BENCHMARK(bm<uint8_t, highly_aligned_allocator, Op::FindUnsized>)->Apply(common_args);
BENCHMARK(bm<uint8_t, not_highly_aligned_allocator, Op::Count>)->Apply(common_args);
BENCHMARK(bm<char, not_highly_aligned_allocator, Op::StringFind>)->Apply(common_args);
BENCHMARK(bm<char, not_highly_aligned_allocator, Op::StringRFind>)->Apply(common_args);
BENCHMARK(bm<char, not_highly_aligned_allocator, Op::StringFindNotFirstOne>)->Apply(common_args);
BENCHMARK(bm<char, not_highly_aligned_allocator, Op::StringFindNotLastOne>)->Apply(common_args);

BENCHMARK(bm<uint16_t, not_highly_aligned_allocator, Op::FindSized>)->Apply(common_args);
BENCHMARK(bm<uint16_t, not_highly_aligned_allocator, Op::Count>)->Apply(common_args);
BENCHMARK(bm<wchar_t, not_highly_aligned_allocator, Op::StringFind>)->Apply(common_args);
BENCHMARK(bm<wchar_t, not_highly_aligned_allocator, Op::StringRFind>)->Apply(common_args);
BENCHMARK(bm<wchar_t, not_highly_aligned_allocator, Op::StringFindNotFirstOne>)->Apply(common_args);
BENCHMARK(bm<wchar_t, not_highly_aligned_allocator, Op::StringFindNotLastOne>)->Apply(common_args);

BENCHMARK(bm<uint32_t, not_highly_aligned_allocator, Op::FindSized>)->Apply(common_args);
BENCHMARK(bm<uint32_t, not_highly_aligned_allocator, Op::Count>)->Apply(common_args);
BENCHMARK(bm<char32_t, not_highly_aligned_allocator, Op::StringFind>)->Apply(common_args);
BENCHMARK(bm<char32_t, not_highly_aligned_allocator, Op::StringRFind>)->Apply(common_args);
BENCHMARK(bm<char32_t, not_highly_aligned_allocator, Op::StringFindNotFirstOne>)->Apply(common_args);
BENCHMARK(bm<char32_t, not_highly_aligned_allocator, Op::StringFindNotLastOne>)->Apply(common_args);

BENCHMARK(bm<uint64_t, not_highly_aligned_allocator, Op::FindSized>)->Apply(common_args);
BENCHMARK(bm<uint64_t, not_highly_aligned_allocator, Op::Count>)->Apply(common_args);

BENCHMARK(bm<point, not_highly_aligned_allocator, Op::FindSized>)->Apply(common_args);
BENCHMARK(bm<point, not_highly_aligned_allocator, Op::Count>)->Apply(common_args);

BENCHMARK_MAIN();


================================================
FILE: benchmarks/src/find_first_of.cpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#include <algorithm>
#include <benchmark/benchmark.h>
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <string>
#include <type_traits>
#include <vector>

#include "skewed_allocator.hpp"

using namespace std;

enum class AlgType {
    std_func,
    str_member_first,
    str_member_last,
    str_member_first_not,
    str_member_last_not,
};

template <AlgType Alg, class T, T NeedleFillerBase = T{'a'}>
void bm(benchmark::State& state) {
    const size_t Pos   = static_cast<size_t>(state.range(0));
    const size_t NSize = static_cast<size_t>(state.range(1));
    const size_t HSize = Pos * 2;
    const size_t Which = 0;

    using container = conditional_t<Alg == AlgType::std_func, vector<T, not_highly_aligned_allocator<T>>,
        basic_string<T, char_traits<T>, not_highly_aligned_allocator<T>>>;

    constexpr size_t IncrementCap = 16;

    constexpr T HaystackFillerBase = T{' '};
    static_assert(
        NeedleFillerBase + IncrementCap <= HaystackFillerBase || HaystackFillerBase + IncrementCap <= NeedleFillerBase,
        "Would match where it shouldn't");

    container h(HSize, T{0});
    container n(NSize, T{0});

    for (size_t i = 0; i != NSize; ++i) {
        n[i] = NeedleFillerBase + i % IncrementCap;
    }

    if (Pos >= HSize || Which >= NSize) {
        abort();
    }

    if constexpr (Alg == AlgType::str_member_first_not || Alg == AlgType::str_member_last_not) {
        for (size_t i = 0; i != HSize; ++i) {
            h[i] = n[(i + Which) % NSize];
        }

        h[Pos] = HaystackFillerBase;
    } else {
        for (size_t i = 0; i != HSize; ++i) {
            h[i] = HaystackFillerBase + i % IncrementCap;
        }

        h[Pos] = n[Which];
    }

    for (auto _ : state) {
        benchmark::DoNotOptimize(h);
        benchmark::DoNotOptimize(n);
        if constexpr (Alg == AlgType::str_member_first) {
            benchmark::DoNotOptimize(h.find_first_of(n));
        } else if constexpr (Alg == AlgType::str_member_last) {
            benchmark::DoNotOptimize(h.find_last_of(n));
        } else if constexpr (Alg == AlgType::str_member_first_not) {
            benchmark::DoNotOptimize(h.find_first_not_of(n));
        } else if constexpr (Alg == AlgType::str_member_last_not) {
            benchmark::DoNotOptimize(h.find_last_not_of(n));
        } else {
            benchmark::DoNotOptimize(find_first_of(h.begin(), h.end(), n.begin(), n.end()));
        }
    }
}

void common_args(benchmark::Benchmark* bm) {
    bm->Args({2, 3})->Args({6, 81})->Args({7, 4})->Args({9, 3})->Args({22, 5})->Args({58, 2});
    bm->Args({75, 85})->Args({102, 4})->Args({200, 46})->Args({325, 1})->Args({400, 50});
    bm->Args({1011, 11})->Args({1280, 46})->Args({1502, 23})->Args({2203, 54})->Args({3056, 7});
}

BENCHMARK(bm<AlgType::std_func, uint8_t>)->Apply(common_args);
BENCHMARK(bm<AlgType::std_func, uint16_t>)->Apply(common_args);
BENCHMARK(bm<AlgType::std_func, uint32_t>)->Apply(common_args);
BENCHMARK(bm<AlgType::std_func, uint64_t>)->Apply(common_args);

BENCHMARK(bm<AlgType::str_member_first, char>)->Apply(common_args);
BENCHMARK(bm<AlgType::str_member_first, wchar_t>)->Apply(common_args);
BENCHMARK(bm<AlgType::str_member_first, wchar_t, L'\x03B1'>)->Apply(common_args);
BENCHMARK(bm<AlgType::str_member_first, char32_t>)->Apply(common_args);
BENCHMARK(bm<AlgType::str_member_first, char32_t, U'\x03B1'>)->Apply(common_args);

BENCHMARK(bm<AlgType::str_member_last, char>)->Apply(common_args);
BENCHMARK(bm<AlgType::str_member_last, wchar_t>)->Apply(common_args);
BENCHMARK(bm<AlgType::str_member_last, wchar_t, L'\x03B1'>)->Apply(common_args);

BENCHMARK(bm<AlgType::str_member_first_not, char>)->Apply(common_args);
BENCHMARK(bm<AlgType::str_member_first_not, wchar_t>)->Apply(common_args);
BENCHMARK(bm<AlgType::str_member_first_not, wchar_t, L'\x03B1'>)->Apply(common_args);

BENCHMARK(bm<AlgType::str_member_last_not, char>)->Apply(common_args);
BENCHMARK(bm<AlgType::str_member_last_not, wchar_t>)->Apply(common_args);
BENCHMARK(bm<AlgType::str_member_last_not, wchar_t, L'\x03B1'>)->Apply(common_args);

BENCHMARK_MAIN();


================================================
FILE: benchmarks/src/flat_meow_assign.cpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#include <benchmark/benchmark.h>
#include <flat_map>
#include <flat_set>
#include <string>
#include <utility>

using namespace std;

void flat_map_strings_impl(benchmark::State& state, initializer_list<pair<string, int>> il) {
    flat_map<string, int> pieces;
    for (auto _ : state) {
        pieces = il;
        benchmark::DoNotOptimize(pieces);
    }
}

void flat_map_strings(benchmark::State& state) {
    flat_map_strings_impl(
        state, {{"soldier"s, 1}, {"soldier"s, 2}, {"soldier"s, 3}, {"soldier"s, 4}, {"soldier"s, 5}, {"soldier"s, 6},
                   {"soldier"s, 7}, {"soldier"s, 8}, {"tower"s, 9}, {"horse"s, 10}, {"elephant"s, 11}, {"vizier"s, 12},
                   {"king"s, 13}, {"elephant"s, 14}, {"horse"s, 15}, {"tower"s, 16}});
}

void flat_set_strings_impl(benchmark::State& state, initializer_list<string> il) {
    flat_set<string> pieces;
    for (auto _ : state) {
        pieces = il;
        benchmark::DoNotOptimize(pieces);
    }
}

void flat_set_strings(benchmark::State& state) {
    flat_set_strings_impl(
        state, {"soldier"s, "soldier"s, "soldier"s, "soldier"s, "soldier"s, "soldier"s, "soldier"s, "soldier"s,
                   "tower"s, "horse"s, "elephant"s, "vizier"s, "king"s, "elephant"s, "horse"s, "tower"s});
}

void flat_map_integers(benchmark::State& state) {
    flat_map<int, int> pieces;
    for (auto _ : state) {
        pieces = {{'s', 1}, {'s', 2}, {'s', 3}, {'s', 4}, {'s', 5}, {'s', 6}, {'s', 7}, {'s', 8}, {'T', 9}, {'H', 10},
            {'E', 11}, {'V', 12}, {'K', 13}, {'E', 14}, {'H', 15}, {'T', 16}};
        benchmark::DoNotOptimize(pieces);
    }
}

void flat_set_integers(benchmark::State& state) {
    flat_set<int> pieces;
    for (auto _ : state) {
        pieces = {'s', 's', 's', 's', 's', 's', 's', 's', 'T', 'H', 'E', 'V', 'K', 'E', 'H', 'T'};
        benchmark::DoNotOptimize(pieces);
    }
}

BENCHMARK(flat_map_strings);
BENCHMARK(flat_set_strings);
BENCHMARK(flat_map_integers);
BENCHMARK(flat_set_integers);

BENCHMARK_MAIN();


================================================
FILE: benchmarks/src/has_single_bit.cpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#include <benchmark/benchmark.h>
#include <bit>
#include <cstdint>

#include <utility.hpp>

using namespace std;

template <typename T>
void bm_has_single_bit_if(benchmark::State& state) {
    auto random_v = random_vector<T>(8);
    for (auto _ : state) {
        benchmark::DoNotOptimize(random_v);
        unsigned int count_true  = 0;
        unsigned int count_false = 0;
        for (const auto& x : random_v) {
            if (has_single_bit(x)) {
                benchmark::DoNotOptimize(++count_true);
            } else {
                benchmark::DoNotOptimize(++count_false);
            }
        }
    }
}

template <typename T>
void bm_has_single_bit(benchmark::State& state) {
    auto random_v = random_vector<T>(8);
    for (auto _ : state) {
        benchmark::DoNotOptimize(random_v);
        unsigned int r = 0;
        for (const auto& x : random_v) {
            r += has_single_bit(x);
        }
        benchmark::DoNotOptimize(r);
    }
}

BENCHMARK(bm_has_single_bit_if<uint8_t>);
BENCHMARK(bm_has_single_bit_if<uint16_t>);
BENCHMARK(bm_has_single_bit_if<uint32_t>);
BENCHMARK(bm_has_single_bit_if<uint64_t>);

BENCHMARK(bm_has_single_bit<uint8_t>);
BENCHMARK(bm_has_single_bit<uint16_t>);
BENCHMARK(bm_has_single_bit<uint32_t>);
BENCHMARK(bm_has_single_bit<uint64_t>);

BENCHMARK_MAIN();


================================================
FILE: benchmarks/src/includes.cpp
================================================
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#include <algorithm>
#include <benchmark/benchmark.h>
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <iostream>
#include <limits>
#include <random>
#include <ranges>
#include <type_traits>
#include <vector>

#include "skewed_allocator.hpp"
#include "utility.hpp"

using namespace std;

enum class alg_type { std_fn, rng };

enum class needle_spread { dense, dense_random, sparse, sparse_random };

template <class T, alg_type Alg>
void bm_includes(benchmark::State& state) {
    const auto hay_size       = static_cast<size_t>(state.range(0));
    const auto needle_size    = static_cast<size_t>(state.range(1));
    const auto spread         = static_cast<needle_spread>(state.range(2));
    const auto expected_match = static_cast<bool>(state.range(3));

    auto hay = random_vector<T, not_highly_aligned_allocator>(hay_size);
    ranges::sort(hay);

    vector<T, not_highly_aligned_allocator<T>> needle;
    switch (spread) {
    case needle_spread::dense:
        needle.assign(hay.begin() + hay_size / 2 - needle_size / 2, hay.begin() + hay_size / 2 + (needle_size + 1) / 2);
        break;

    case needle_spread::dense_random:
        {
            mt19937 gen{};
            geometric_distribution<size_t> dis_dis{};
            vector<size_t> idx(needle_size);
            const size_t mid = needle_size / 2;
            idx[mid]         = hay_size / 2;

            const size_t max_shift = hay_size / needle_size;

            for (size_t i = mid; i != 0; --i) {
                idx[i - 1] = idx[i] - min(dis_dis(gen) + 1, max_shift);
            }

            for (size_t i = mid; i != needle_size - 1; ++i) {
                idx[i + 1] = idx[i] + min(dis_dis(gen) + 1, max_shift);
            }

            needle.assign_range(idx | views::transform([&hay](const size_t i) { return hay[i]; }));
        }
        break;

    case needle_spread::sparse:
        needle.resize(needle_size);
        for (size_t i = 0; i != needle_size; ++i) {
            needle[i] = hay[hay_size * i / needle_size + hay_size / (needle_size * 2)];
        }
        break;

    case needle_spread::sparse_random:
        needle.resize(needle_size);
        ranges::sample(hay, needle.begin(), needle_size, mt19937{});
        break;
    }

    if (!expected_match) {
        const T v = needle[needle_size / 2];
        const T r = v != numeric_limits<T>::max() ? v + 1 : v - 1;
        ranges::replace(hay, v, r);
    }

    for (auto _ : state) {
        benchmark::DoNotOptimize(hay);
        benchmark::DoNotOptimize(needle);
        bool found;
        if constexpr (Alg == alg_type::rng) {
            found = ranges::includes(hay, needle);
        } else {
            found = includes(hay.begin(), hay.end(), needle.begin(), needle.end());
        }
        benchmark::DoNotOptimize(found);
        if (found != expected_match) {
            cerr << "Unexpected 'includes' result: " << found << '\n';
            abort();
        }
    }
}

void common_args(benchmark::Benchmark* bm) {
    for (const auto& spread :
        {needle_spread::dense, needle_spread::dense_random, needle_spread::sparse, needle_spread::sparse_random}) {
        for (const auto& expected_match : {true, false}) {
            for (const auto& needle_size : {3, 22, 105, 1504, 2750}) {
                bm->Args({3000, needle_size, static_cast<underlying_type_t<needle_spread>>(spread), expected_match});
            }

            for (const auto& needle_size : {3, 22, 105, 290}) {
                bm->Args({300, needle_size, static_cast<underlying_type_t<needle_spread>>(spread), expected_match});
            }
        }
    }
}

BENCHMARK(bm_includes<uint8_t, alg_type::std_fn>)->Apply(common_args);
BENCHMARK(bm_includes<uint16_t, alg_type::std_fn>)->Apply(common_args);
BENCHMARK(bm_includes<uint32_t, alg_type::std_fn>)->Apply(common_args);
BENCHMARK(bm_includes<uint64_t, alg_type::std_fn>)->Apply(common_args);

BENCHMARK(bm_includes<uint8_t, alg_type::rng>)->Apply(common_args);
BENCHMARK(bm_includes<uint16_t, alg_type::rng>)->Appl
Download .txt
gitextract_5gkd97a3/

├── .clang-format
├── .gitattributes
├── .github/
│   ├── CODEOWNERS
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug-report.md
│   │   └── question.md
│   ├── pull_request_template.md
│   └── workflows/
│       └── update-status-chart.yml
├── .gitignore
├── .gitmodules
├── .mailmap
├── CMakeLists.txt
├── CMakePresets.json
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE.txt
├── NOTICE.txt
├── README.md
├── SECURITY.md
├── azure-devops/
│   ├── asan-pipeline.yml
│   ├── build-and-test.yml
│   ├── build-benchmarks.yml
│   ├── checkout-self.yml
│   ├── checkout-submodule.yml
│   ├── cmake-configure-build.yml
│   ├── config.yml
│   ├── create-1es-hosted-pool.ps1
│   ├── format-validation.yml
│   ├── provision-image.ps1
│   └── run-tests.yml
├── azure-pipelines.yml
├── benchmarks/
│   ├── CMakeLists.txt
│   ├── inc/
│   │   ├── lorem.hpp
│   │   ├── skewed_allocator.hpp
│   │   ├── udt.hpp
│   │   └── utility.hpp
│   └── src/
│       ├── adjacent_difference.cpp
│       ├── adjacent_find.cpp
│       ├── any_swap.cpp
│       ├── bitset_from_string.cpp
│       ├── bitset_to_string.cpp
│       ├── charconv_floats.cpp
│       ├── efficient_nonlocking_print.cpp
│       ├── filesystem.cpp
│       ├── fill.cpp
│       ├── find_and_count.cpp
│       ├── find_first_of.cpp
│       ├── flat_meow_assign.cpp
│       ├── has_single_bit.cpp
│       ├── includes.cpp
│       ├── integer_to_string.cpp
│       ├── iota.cpp
│       ├── is_sorted_until.cpp
│       ├── locale_classic.cpp
│       ├── locate_zone.cpp
│       ├── minmax_element.cpp
│       ├── mismatch.cpp
│       ├── move_only_function.cpp
│       ├── nth_element.cpp
│       ├── path_lexically_normal.cpp
│       ├── priority_queue_push_range.cpp
│       ├── random_integer_generation.cpp
│       ├── ranges_div_ceil.cpp
│       ├── regex_match.cpp
│       ├── regex_search.cpp
│       ├── remove.cpp
│       ├── replace.cpp
│       ├── reverse.cpp
│       ├── rotate.cpp
│       ├── sample.cpp
│       ├── search.cpp
│       ├── search_n.cpp
│       ├── shuffle.cpp
│       ├── std_copy.cpp
│       ├── sv_equal.cpp
│       ├── swap_ranges.cpp
│       ├── unique.cpp
│       ├── vector_bool_copy.cpp
│       ├── vector_bool_copy_n.cpp
│       ├── vector_bool_count.cpp
│       ├── vector_bool_meow_of.cpp
│       ├── vector_bool_move.cpp
│       └── vector_bool_transform.cpp
├── docs/
│   ├── cgmanifest.json
│   └── import_library.md
├── stl/
│   ├── CMakeLists.txt
│   ├── debugger/
│   │   └── STL.natvis
│   ├── inc/
│   │   ├── __msvc_all_public_headers.hpp
│   │   ├── __msvc_bit_utils.hpp
│   │   ├── __msvc_chrono.hpp
│   │   ├── __msvc_cxx_stdatomic.hpp
│   │   ├── __msvc_filebuf.hpp
│   │   ├── __msvc_format_ucd_tables.hpp
│   │   ├── __msvc_formatter.hpp
│   │   ├── __msvc_heap_algorithms.hpp
│   │   ├── __msvc_int128.hpp
│   │   ├── __msvc_iter_core.hpp
│   │   ├── __msvc_minmax.hpp
│   │   ├── __msvc_ostream.hpp
│   │   ├── __msvc_print.hpp
│   │   ├── __msvc_ranges_to.hpp
│   │   ├── __msvc_ranges_tuple_formatter.hpp
│   │   ├── __msvc_sanitizer_annotate_container.hpp
│   │   ├── __msvc_string_view.hpp
│   │   ├── __msvc_system_error_abi.hpp
│   │   ├── __msvc_threads_core.hpp
│   │   ├── __msvc_tzdb.hpp
│   │   ├── __msvc_xlocinfo_types.hpp
│   │   ├── algorithm
│   │   ├── any
│   │   ├── array
│   │   ├── atomic
│   │   ├── barrier
│   │   ├── bit
│   │   ├── bitset
│   │   ├── cassert
│   │   ├── ccomplex
│   │   ├── cctype
│   │   ├── cerrno
│   │   ├── cfenv
│   │   ├── cfloat
│   │   ├── charconv
│   │   ├── chrono
│   │   ├── cinttypes
│   │   ├── ciso646
│   │   ├── climits
│   │   ├── clocale
│   │   ├── cmath
│   │   ├── codecvt
│   │   ├── compare
│   │   ├── complex
│   │   ├── concepts
│   │   ├── condition_variable
│   │   ├── coroutine
│   │   ├── csetjmp
│   │   ├── csignal
│   │   ├── cstdalign
│   │   ├── cstdarg
│   │   ├── cstdbool
│   │   ├── cstddef
│   │   ├── cstdint
│   │   ├── cstdio
│   │   ├── cstdlib
│   │   ├── cstring
│   │   ├── ctgmath
│   │   ├── ctime
│   │   ├── cuchar
│   │   ├── cwchar
│   │   ├── cwctype
│   │   ├── deque
│   │   ├── exception
│   │   ├── execution
│   │   ├── expected
│   │   ├── experimental/
│   │   │   ├── coroutine
│   │   │   ├── generator
│   │   │   └── resumable
│   │   ├── filesystem
│   │   ├── flat_map
│   │   ├── flat_set
│   │   ├── format
│   │   ├── forward_list
│   │   ├── fstream
│   │   ├── functional
│   │   ├── future
│   │   ├── generator
│   │   ├── header-units.json
│   │   ├── initializer_list
│   │   ├── iomanip
│   │   ├── ios
│   │   ├── iosfwd
│   │   ├── iostream
│   │   ├── iso646.h
│   │   ├── istream
│   │   ├── iterator
│   │   ├── latch
│   │   ├── limits
│   │   ├── list
│   │   ├── locale
│   │   ├── map
│   │   ├── mdspan
│   │   ├── memory
│   │   ├── memory_resource
│   │   ├── mutex
│   │   ├── new
│   │   ├── numbers
│   │   ├── numeric
│   │   ├── optional
│   │   ├── ostream
│   │   ├── print
│   │   ├── queue
│   │   ├── random
│   │   ├── ranges
│   │   ├── ratio
│   │   ├── regex
│   │   ├── scoped_allocator
│   │   ├── semaphore
│   │   ├── set
│   │   ├── shared_mutex
│   │   ├── source_location
│   │   ├── span
│   │   ├── spanstream
│   │   ├── sstream
│   │   ├── stack
│   │   ├── stacktrace
│   │   ├── stdexcept
│   │   ├── stdfloat
│   │   ├── stop_token
│   │   ├── streambuf
│   │   ├── string
│   │   ├── string_view
│   │   ├── strstream
│   │   ├── syncstream
│   │   ├── system_error
│   │   ├── thread
│   │   ├── tuple
│   │   ├── type_traits
│   │   ├── typeindex
│   │   ├── typeinfo
│   │   ├── unordered_map
│   │   ├── unordered_set
│   │   ├── use_ansi.h
│   │   ├── utility
│   │   ├── valarray
│   │   ├── variant
│   │   ├── vector
│   │   ├── version
│   │   ├── xatomic.h
│   │   ├── xatomic_wait.h
│   │   ├── xbit_ops.h
│   │   ├── xcall_once.h
│   │   ├── xcharconv.h
│   │   ├── xcharconv_ryu.h
│   │   ├── xcharconv_ryu_tables.h
│   │   ├── xcharconv_tables.h
│   │   ├── xerrc.h
│   │   ├── xfacet
│   │   ├── xfilesystem_abi.h
│   │   ├── xhash
│   │   ├── xiosbase
│   │   ├── xkeycheck.h
│   │   ├── xlocale
│   │   ├── xlocbuf
│   │   ├── xlocinfo
│   │   ├── xlocmes
│   │   ├── xlocmon
│   │   ├── xlocnum
│   │   ├── xloctime
│   │   ├── xmemory
│   │   ├── xnode_handle.h
│   │   ├── xpolymorphic_allocator.h
│   │   ├── xsmf_control.h
│   │   ├── xstring
│   │   ├── xthreads.h
│   │   ├── xtimec.h
│   │   ├── xtr1common
│   │   ├── xtree
│   │   ├── xutility
│   │   ├── ymath.h
│   │   ├── yvals.h
│   │   └── yvals_core.h
│   ├── modules/
│   │   ├── modules.json
│   │   ├── std.compat.ixx
│   │   └── std.ixx
│   ├── msbuild/
│   │   ├── stl_1/
│   │   │   ├── amd64.exports
│   │   │   ├── arm64.exports
│   │   │   ├── dirs.proj
│   │   │   ├── i386.exports
│   │   │   ├── md/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── msvcp_1_md_app.vcxproj
│   │   │   │   ├── msvcp_1_md_kernel32.vcxproj
│   │   │   │   ├── msvcp_1_md_netfx.vcxproj
│   │   │   │   └── msvcp_1_md_onecore.vcxproj
│   │   │   ├── msvcp_1.settings.targets
│   │   │   ├── msvcprt_1.rc
│   │   │   ├── msvcprt_1.src
│   │   │   ├── stl_1.files.settings.targets
│   │   │   └── xmd/
│   │   │       ├── dirs.proj
│   │   │       ├── msvcp_1_xmd_app.vcxproj
│   │   │       ├── msvcp_1_xmd_kernel32.vcxproj
│   │   │       ├── msvcp_1_xmd_netfx.vcxproj
│   │   │       └── msvcp_1_xmd_onecore.vcxproj
│   │   ├── stl_2/
│   │   │   ├── amd64.exports
│   │   │   ├── arm64.exports
│   │   │   ├── dirs.proj
│   │   │   ├── i386.exports
│   │   │   ├── md/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── msvcp_2_md_app.vcxproj
│   │   │   │   ├── msvcp_2_md_kernel32.vcxproj
│   │   │   │   ├── msvcp_2_md_netfx.vcxproj
│   │   │   │   └── msvcp_2_md_onecore.vcxproj
│   │   │   ├── msvcp_2.settings.targets
│   │   │   ├── msvcprt_2.rc
│   │   │   ├── msvcprt_2.src
│   │   │   ├── stl_2.files.settings.targets
│   │   │   └── xmd/
│   │   │       ├── dirs.proj
│   │   │       ├── msvcp_2_xmd_app.vcxproj
│   │   │       ├── msvcp_2_xmd_kernel32.vcxproj
│   │   │       ├── msvcp_2_xmd_netfx.vcxproj
│   │   │       └── msvcp_2_xmd_onecore.vcxproj
│   │   ├── stl_asan/
│   │   │   ├── dirs.proj
│   │   │   ├── stl_asan.files.settings.targets
│   │   │   ├── stl_asan.settings.targets
│   │   │   └── stl_asan.vcxproj
│   │   ├── stl_atomic_wait/
│   │   │   ├── dirs.proj
│   │   │   ├── md/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── msvcp_atomic_wait_md_app.vcxproj
│   │   │   │   ├── msvcp_atomic_wait_md_kernel32.vcxproj
│   │   │   │   ├── msvcp_atomic_wait_md_netfx.vcxproj
│   │   │   │   └── msvcp_atomic_wait_md_onecore.vcxproj
│   │   │   ├── msvcp_atomic_wait.settings.targets
│   │   │   ├── msvcprt_atomic_wait.rc
│   │   │   ├── stl_atomic_wait.files.settings.targets
│   │   │   └── xmd/
│   │   │       ├── dirs.proj
│   │   │       ├── msvcp_atomic_wait_xmd_app.vcxproj
│   │   │       ├── msvcp_atomic_wait_xmd_kernel32.vcxproj
│   │   │       ├── msvcp_atomic_wait_xmd_netfx.vcxproj
│   │   │       └── msvcp_atomic_wait_xmd_onecore.vcxproj
│   │   ├── stl_base/
│   │   │   ├── amd64.exports
│   │   │   ├── amd64_onecore.exports
│   │   │   ├── arm64.exports
│   │   │   ├── dirs.proj
│   │   │   ├── i386.exports
│   │   │   ├── i386_onecore.exports
│   │   │   ├── libcp.settings.targets
│   │   │   ├── md/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── msvcp_base_md_app.vcxproj
│   │   │   │   ├── msvcp_base_md_kernel32.vcxproj
│   │   │   │   ├── msvcp_base_md_netfx.vcxproj
│   │   │   │   └── msvcp_base_md_onecore.vcxproj
│   │   │   ├── msvcp.settings.targets
│   │   │   ├── mt/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── libcpmt_mt_kernel32.vcxproj
│   │   │   │   └── libcpmt_mt_onecore.vcxproj
│   │   │   ├── mt1/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── libcpmt_mt1_kernel32.vcxproj
│   │   │   │   └── libcpmt_mt1_onecore.vcxproj
│   │   │   ├── stl.files.settings.targets
│   │   │   ├── xmd/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── msvcp_base_xmd_app.vcxproj
│   │   │   │   ├── msvcp_base_xmd_kernel32.vcxproj
│   │   │   │   ├── msvcp_base_xmd_netfx.vcxproj
│   │   │   │   └── msvcp_base_xmd_onecore.vcxproj
│   │   │   ├── xmt/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── libcpmt_xmt_kernel32.vcxproj
│   │   │   │   └── libcpmt_xmt_onecore.vcxproj
│   │   │   ├── xmt0/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── libcpmt_xmt0_kernel32.vcxproj
│   │   │   │   └── libcpmt_xmt0_onecore.vcxproj
│   │   │   └── xmt1/
│   │   │       ├── dirs.proj
│   │   │       ├── libcpmt_xmt1_kernel32.vcxproj
│   │   │       └── libcpmt_xmt1_onecore.vcxproj
│   │   ├── stl_codecvt_ids/
│   │   │   ├── amd64.exports
│   │   │   ├── arm64.exports
│   │   │   ├── dirs.proj
│   │   │   ├── i386.exports
│   │   │   ├── md/
│   │   │   │   ├── dirs.proj
│   │   │   │   ├── msvcp_codecvt_ids_md_app.vcxproj
│   │   │   │   ├── msvcp_codecvt_ids_md_kernel32.vcxproj
│   │   │   │   ├── msvcp_codecvt_ids_md_netfx.vcxproj
│   │   │   │   └── msvcp_codecvt_ids_md_onecore.vcxproj
│   │   │   ├── msvcp_codecvt_ids.settings.targets
│   │   │   ├── msvcprt_codecvt_ids.rc
│   │   │   ├── msvcprt_codecvt_ids.src
│   │   │   ├── stl_codecvt_ids.files.settings.targets
│   │   │   └── xmd/
│   │   │       ├── dirs.proj
│   │   │       ├── msvcp_codecvt_ids_xmd_app.vcxproj
│   │   │       ├── msvcp_codecvt_ids_xmd_kernel32.vcxproj
│   │   │       ├── msvcp_codecvt_ids_xmd_netfx.vcxproj
│   │   │       └── msvcp_codecvt_ids_xmd_onecore.vcxproj
│   │   └── stl_post/
│   │       ├── dirs.proj
│   │       ├── md/
│   │       │   ├── dirs.proj
│   │       │   ├── msvcp_post_md_app.vcxproj
│   │       │   ├── msvcp_post_md_kernel32.vcxproj
│   │       │   ├── msvcp_post_md_netfx.vcxproj
│   │       │   └── msvcp_post_md_onecore.vcxproj
│   │       ├── msvcp_post.settings.targets
│   │       └── xmd/
│   │           ├── dirs.proj
│   │           ├── msvcp_post_xmd_app.vcxproj
│   │           ├── msvcp_post_xmd_kernel32.vcxproj
│   │           ├── msvcp_post_xmd_netfx.vcxproj
│   │           └── msvcp_post_xmd_onecore.vcxproj
│   ├── set_environment.bat.in
│   ├── set_environment.ps1.in
│   └── src/
│       ├── StlCompareStringA.cpp
│       ├── StlCompareStringW.cpp
│       ├── StlLCMapStringA.cpp
│       ├── StlLCMapStringW.cpp
│       ├── _tolower.cpp
│       ├── _toupper.cpp
│       ├── alias_init_once_begin_initialize.asm
│       ├── alias_init_once_complete.asm
│       ├── asan.cpp
│       ├── asan_noop.cpp
│       ├── atomic.cpp
│       ├── atomic_wait.cpp
│       ├── awint.hpp
│       ├── cerr.cpp
│       ├── charconv.cpp
│       ├── cin.cpp
│       ├── clog.cpp
│       ├── cond.cpp
│       ├── cout.cpp
│       ├── cthread.cpp
│       ├── dllmain.cpp
│       ├── dllmain_satellite.cpp
│       ├── excptptr.cpp
│       ├── filesys.cpp
│       ├── filesystem.cpp
│       ├── fiopen.cpp
│       ├── format.cpp
│       ├── future.cpp
│       ├── init_locks.hpp
│       ├── instances.cpp
│       ├── iomanip.cpp
│       ├── ios.cpp
│       ├── iosptrs.cpp
│       ├── iostream.cpp
│       ├── locale.cpp
│       ├── locale0.cpp
│       ├── locale0_implib.cpp
│       ├── locale_implib_pure.cpp
│       ├── memory_resource.cpp
│       ├── mexcptptr.cpp
│       ├── mpiostream.cpp
│       ├── msvcp_atomic_wait.src
│       ├── multprec.cpp
│       ├── mutex.cpp
│       ├── nothrow.cpp
│       ├── parallel_algorithms.cpp
│       ├── pplerror.cpp
│       ├── ppltasks.cpp
│       ├── primitives.hpp
│       ├── print.cpp
│       ├── raisehan.cpp
│       ├── regex.cpp
│       ├── sharedmutex.cpp
│       ├── special_math.cpp
│       ├── stacktrace.cpp
│       ├── stdhndlr.cpp
│       ├── stdthrow.cpp
│       ├── syncstream.cpp
│       ├── syserror.cpp
│       ├── syserror_import_lib.cpp
│       ├── taskscheduler.cpp
│       ├── thread0.cpp
│       ├── tzdb.cpp
│       ├── ulocale.cpp
│       ├── uncaught_exception.cpp
│       ├── uncaught_exceptions.cpp
│       ├── ushcerr.cpp
│       ├── ushcin.cpp
│       ├── ushclog.cpp
│       ├── ushcout.cpp
│       ├── ushiostr.cpp
│       ├── vector_algorithms.cpp
│       ├── wcerr.cpp
│       ├── wcin.cpp
│       ├── wclog.cpp
│       ├── wcout.cpp
│       ├── winapinls.cpp
│       ├── winapisupp.cpp
│       ├── wiostrea.cpp
│       ├── wlocale.cpp
│       ├── xalloc.cpp
│       ├── xcharconv_ryu_tables.cpp
│       ├── xcharconv_tables_double.cpp
│       ├── xcharconv_tables_float.cpp
│       ├── xcosh.cpp
│       ├── xdateord.cpp
│       ├── xdtest.cpp
│       ├── xexp.cpp
│       ├── xgetwctype.cpp
│       ├── xlgamma.cpp
│       ├── xlocale.cpp
│       ├── xlock.cpp
│       ├── xmbtowc.cpp
│       ├── xmtx.cpp
│       ├── xmtx.hpp
│       ├── xnotify.cpp
│       ├── xonce.cpp
│       ├── xonce2.cpp
│       ├── xrngabort.cpp
│       ├── xrngdev.cpp
│       ├── xsinh.cpp
│       ├── xstod.cpp
│       ├── xstof.cpp
│       ├── xstol.cpp
│       ├── xstoll.cpp
│       ├── xstoul.cpp
│       ├── xstoull.cpp
│       ├── xstrcoll.cpp
│       ├── xstrxfrm.cpp
│       ├── xthrow.cpp
│       ├── xtime.cpp
│       ├── xtowlower.cpp
│       ├── xtowupper.cpp
│       ├── xvalues.cpp
│       ├── xwcscoll.cpp
│       ├── xwcsxfrm.cpp
│       ├── xwctomb.cpp
│       ├── xwstod.cpp
│       └── xwstof.cpp
├── tests/
│   ├── CMakeLists.txt
│   ├── libcxx/
│   │   ├── CMakeLists.txt
│   │   ├── contest.yaml
│   │   ├── expected_results.txt
│   │   ├── lit.cfg
│   │   ├── lit.site.cfg.in
│   │   ├── magic_comments.txt
│   │   └── usual_matrix.lst
│   ├── std/
│   │   ├── CMakeLists.txt
│   │   ├── expected_results.txt
│   │   ├── include/
│   │   │   ├── constexpr_char_traits.hpp
│   │   │   ├── experimental_filesystem.hpp
│   │   │   ├── fenv_prefix.hpp
│   │   │   ├── floating_point_test_cases.hpp
│   │   │   ├── force_include.hpp
│   │   │   ├── input_iterator.hpp
│   │   │   ├── instantiate_algorithms.hpp
│   │   │   ├── instantiate_algorithms_int.hpp
│   │   │   ├── instantiate_algorithms_nontrivial.hpp
│   │   │   ├── instantiate_algorithms_op_deref.hpp
│   │   │   ├── instantiate_containers_iterators_common.hpp
│   │   │   ├── is_permissive.hpp
│   │   │   ├── new_counter.hpp
│   │   │   ├── parallel_algorithms_utilities.hpp
│   │   │   ├── range_algorithm_support.hpp
│   │   │   ├── temp_file_name.hpp
│   │   │   ├── test_container_requirements.hpp
│   │   │   ├── test_death.hpp
│   │   │   ├── test_filesystem_support.hpp
│   │   │   ├── test_format_support.hpp
│   │   │   ├── test_generator_support.hpp
│   │   │   ├── test_header_units_and_modules.hpp
│   │   │   ├── test_is_sorted_until_support.hpp
│   │   │   ├── test_mdspan_support.hpp
│   │   │   ├── test_min_max_element_support.hpp
│   │   │   ├── test_regex_support.hpp
│   │   │   ├── test_thread_support.hpp
│   │   │   ├── test_vector_algorithms_support.hpp
│   │   │   └── timezone_data.hpp
│   │   ├── lit.cfg
│   │   ├── lit.site.cfg.in
│   │   ├── rulesets/
│   │   │   └── stl.ruleset
│   │   ├── run.pl
│   │   ├── runbe.pl
│   │   ├── test.lst
│   │   └── tests/
│   │       ├── Dev08_496675_iostream_int_reading/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev08_527068_scl_no_exceptions/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── Dev08_563686_ostream/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev08_563705_std_malloc_free/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev08_576265_list_remove/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev08_584299_search_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_012361_vector_swap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_052961_has_iterator_debugging_0/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_056375_locale_cleanup/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── custombuild.pl
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── test.cpp
│   │       │   └── testdll.cpp
│   │       ├── Dev09_098637_stl_function_typeids/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_119637_throwing_string_with_hid0/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_119644_compiler_option_gz/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_126254_persistent_aux_allocators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_130060_unique_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_152755_tr1_nested_bind/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_153419_tr1_allocators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_154033_tr1_predicate_search_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_155328_tr1_vector_of_set/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_158181_tr1_unordered_meow_swap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_158457_tr1_mem_fn_calling_conventions/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_161106_tr1_bind_templated_fxn_call_operator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_165853_tr1_tuple_swap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_171205_tr1_assign_pair_to_tuple/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_172497_tr1_mem_fn_const_correctness/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_172505_tr1_bind_reference_wrapper/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_172666_tr1_tuple_odr/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── test.cpp
│   │       │   └── test2.cpp
│   │       ├── Dev09_173612_tr1_regex_leak/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_174589_tr1_function_storing_pmf_called_with_reference_or_pointer/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_175314_tr1_reference_wrapper_assignment/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_175716_tr1_dereferencing_reference_wrapper/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_176467_tr1_make_tuple_from_string_literal/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_176498_tr1_binding_functors_with_non_const_fxn_call_ops/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_181509_tr1_inf_loop_uniform_int_ull/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_182017_tr1_search_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_186118_stoullx_corner_cases/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_192736_tr1_prngs_not_copyconstructible/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_195561_tr1_function_const_op/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_196243_tr1_enable_shared_from_this_ops/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev09_199123_tr1_mem_fun_abstract_classes/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_391723_bind_result_type/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_414242_facet_bug_use_facet_ctype_char/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_441756_function_reference_wrapper/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_445289_make_shared/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_470547_facet_bug_stringstream/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_482830_header_only_string/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_491486_floating_point_hash/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_492345_tr1_function_swap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_498944_enable_shared_from_this_auto_ptr/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_500860_overloaded_address_of/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_544258_heterogeneous_comparisons/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_555491_complex_linker_errors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_561430_list_and_tree_leaks/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_562056_tree_leak/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_563443_empty_vector_begin_plus_zero/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_567556_move_from_empty_list/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_579381_vector_grow_to/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_590599_hash_string/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_609053_ctype_char_table_size/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── Dev10_617014_tuple_tie/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_632876_regex_proxy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_635436_shared_ptr_reset/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_639436_const_map_at/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_646244_bad_alloc_message/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_646556_construct_tuple_from_const/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_654977_655012_shared_ptr_move/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_661739_tuple_copy_ctors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_682964_stable_sort_warnings/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_689595_back_inserter_vector_bool/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_709168_marking_iterators_as_checked/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── Dev10_722102_shared_ptr_nullptr/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_729003_bind_reference_wrapper/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_766948_insert_ambiguity/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_780098_movable_elements/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_783436_rvalue_string_plus/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_809142_copy_n_istream_iterator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_814245_regex_character_class_crash/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_816787_swap_vector_bool_elements/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_847656_shared_ptr_is_convertible/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_851347_weak_ptr_virtual_inheritance/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_860410_bitset_ctors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_860421_deque_push_back_pop_front/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_881629_vector_erase_return_value/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_904413_moved_from_function_should_be_empty/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_905461_is_sorted_until/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_908702_string_memory_leak/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev10_909646_stringstream_vd2/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0000000_dual_range_algorithms/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0000000_function_crashes/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0000000_include_each_header_alone/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── Dev11_0000000_null_forward_iterators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0000000_quoted/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0000000_rotate_test/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0000000_tuple_cat/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0000000_user_defined_literals/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0019127_singular_iterators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0091392_string_erase_resize_perf/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0133625_locale0_implib_cpp/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0135139_vector_bool_comparisons/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0235721_async_and_packaged_task/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0253803_debug_pointer/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0272959_make_signed/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── Dev11_0289403_partition_point_complexity/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0299014_exception_ptr_requirements/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0302476_pair_move/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0314451_make_pair_make_tuple/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0316853_find_memchr_optimization/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0343056_pair_tuple_ctor_sfinae/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0376122_grand_theft_bind/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0377755_thread_ctor_move_only_types/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0387701_container_equality/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0417110_nullptr_t_is_scalar/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0435439_call_once_deadlock/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0437519_container_behavior/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0437519_container_requirements/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── Dev11_0447546_facet_allocation/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0483851_vector_debug_allocator_use/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── Dev11_0485243_condition_variable_crash/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0493504_error_category_lifetime/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0494593_time_put_wchar_t/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0496153_locale_ctor/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0532622_minmax_element/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0535636_functional_overhaul/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0555154_system_clock_to_time_t/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0577418_random_seed_0/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0579795_inplace_merge_out_of_memory/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0607540_pair_tuple_rvalue_references/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0617384_empty_std_function/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0653897_codecvt_partial/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0671816_list_splice/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0696045_future_wait_for/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0704582_ratio/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── Dev11_0732166_unordered_strong_guarantee/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0748972_function_crash_out_of_memory/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0823534_transparent_lookup/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0835323_to_string/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0836436_get_time/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0845312_comprehensive_floating_point/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0863628_atomic_compare_exchange/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_0920385_list_sort_allocator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1003120_search_test/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1066589_shared_ptr_atomic_deadlock/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1066931_filesystem_rename_noop/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1074023_constexpr/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1086953_call_once_overhaul/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1114006_condition_variable_pred/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1127004_future_has_exceptions_0/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1131212_uncaught_exceptions/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1137366_nested_exception/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1140665_unique_ptr_array_conversions/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1150223_shared_mutex/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1158803_regex_thread_safety/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── Dev11_1180290_filesystem_error_code/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000073_regex_multiline_escape_hatch/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000140_adl_proof_comparison/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000140_adl_proof_construction/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000140_adl_proof_views/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000177_forbidden_aliasing/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000178_uniform_int/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000342_filebuf_close/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000431_copy_move_family/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000431_equal_family/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000431_equal_memcmp_is_safe/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000431_iter_copy_move_cat/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000431_lex_compare_family/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000431_lex_compare_memcmp_classify/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000442_random_subtract_with_carry_engine_io/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000457_system_error_message/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000519_cmath_overloads/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000527_remove_allocator_void/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000545_include_compare/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── test.cpp
│   │       │   ├── test_array.cpp
│   │       │   ├── test_chrono.cpp
│   │       │   ├── test_coroutine.cpp
│   │       │   ├── test_deque.cpp
│   │       │   ├── test_filesystem.cpp
│   │       │   ├── test_flat_map.cpp
│   │       │   ├── test_flat_set.cpp
│   │       │   ├── test_forward_list.cpp
│   │       │   ├── test_iterator.cpp
│   │       │   ├── test_list.cpp
│   │       │   ├── test_map.cpp
│   │       │   ├── test_memory.cpp
│   │       │   ├── test_optional.cpp
│   │       │   ├── test_queue.cpp
│   │       │   ├── test_ranges.cpp
│   │       │   ├── test_regex.cpp
│   │       │   ├── test_set.cpp
│   │       │   ├── test_stack.cpp
│   │       │   ├── test_stacktrace.cpp
│   │       │   ├── test_string.cpp
│   │       │   ├── test_string_view.cpp
│   │       │   ├── test_system_error.cpp
│   │       │   ├── test_thread.cpp
│   │       │   ├── test_tuple.cpp
│   │       │   ├── test_typeindex.cpp
│   │       │   ├── test_unordered_map.cpp
│   │       │   ├── test_unordered_set.cpp
│   │       │   ├── test_utility.cpp
│   │       │   ├── test_variant.cpp
│   │       │   └── test_vector.cpp
│   │       ├── GH_000625_vector_bool_optimization/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000639_nvcc_include_all/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000685_condition_variable_any/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000690_overaligned_function/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000732_hash_reserve/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000856_nth_element_linear/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000890_pow_template/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000935_complex_numerical_accuracy/
│   │       │   ├── env.lst
│   │       │   ├── floating_point_utils.hpp
│   │       │   ├── log_test_cases.hpp
│   │       │   ├── sqrt_test_cases.hpp
│   │       │   ├── test.cpp
│   │       │   └── test.hpp
│   │       ├── GH_000940_missing_valarray_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000952_bind_constraints/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_000990_any_link_without_exceptions/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_000995_regex_custom_char_types/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001001_random_rejection_rounding/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001010_filesystem_error_encoding/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001017_discrete_distribution_out_of_range/
│   │       │   ├── bad_random_engine.hpp
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001059_hyperbolic_truncation/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001086_partial_sort_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001103_countl_zero_correctness/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001105_custom_streambuf_throws/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001123_random_cast_out_of_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001277_num_get_bad_grouping/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001394_msvc_no_unique_address_23/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_001411_core_headers/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001530_binomial_accuracy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001541_case_sensitive_boolalpha/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001596_adl_proof_algorithms/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_001600_random_inheritance/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_001638_dllexport_derived_classes/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_001850_clog_tied_to_cout/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001858_iostream_exception/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001912_random_distribution_operator_const/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_001914_cached_position/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_001923_filesystem_long_path_support/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── custombuild.pl
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── long_path_aware.manifest
│   │       │   └── test.cpp
│   │       ├── GH_002030_asan_annotate_string/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002030_asan_annotate_vector/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002039_byte_is_not_trivially_swappable/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_002045_put_time_changes_errno/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002058_debug_iterator_race/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002094_cpp_core_guidelines/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_002120_streambuf_seekpos_and_seekoff/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_002168_regex_overflow/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002206_unreserved_names/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_002299_implicit_sfinae_constraints/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_002307_usual_scope_guard/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002334_branchless_clamp/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002431_byte_range_find_with_unreachable_sentinel/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002488_promise_not_default_constructible_types/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002558_format_presetPadding/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_002581_common_reference_workaround/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_002620_construct_at_workaround/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002655_alternate_name_broke_linker/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002711_Zc_alignedNew-/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_002760_syncstream_memory_leak/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002769_handle_deque_block_pointers/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002789_Hash_vec_Tidy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002885_stable_sort_difference_type/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002989_nothrow_unwrappable/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_002992_unwrappable_iter_sent_pairs/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_003003_format_decimal_point/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_003022_substr_allocator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_003105_piecewise_densities/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_003119_error_category_ctor/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_003246_cmath_narrowing/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_003570_allocate_at_least/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_003617_vectorized_meow_element/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_003663_cast_contiguous_iterator_difference_type/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_003676_format_large_hh_mm_ss_values/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_003735_char_traits_signatures/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_003840_tellg_when_reading_lf_file_in_text_mode/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_003867_output_nan/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004023_mdspan_fwd_prod_overflow/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_004040_container_nonmember_functions/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004108_some_ranges_algos_construct_wrong_type/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_004109_iter_value_t_direct_initialization/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_004129_conversion_in_new_numeric_algorithms/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004201_chrono_formatter/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004275_seeking_fancy_iterators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004388_unordered_meow_operator_equal/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004477_mdspan_warning_5246/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_004597_self_swap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004609_heterogeneous_cmp_overloads/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004618_mixed_operator_usage_keeps_statistical_properties/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004618_normal_distribution_avoids_resets/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004657_expected_constraints_permissive/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_004686_vectorization_on_trivial_assignability/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004845_logical_operator_traits_with_non_bool_constant/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_004929_internal_tag_constructors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_004930_char_traits_user_specialization/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005090_stl_hardening/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005090_stl_hardening_cxx20_iterators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005204_regex_collating_ranges/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005236_collate_facet/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005244_regex_escape_sequences/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005276_system_error_heap_use_after_free/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005315_destructor_tombstones/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005402_string_with_volatile_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005421_vector_algorithms_integer_class_type_iterator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005472_do_not_overlap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005504_avoid_function_call_wrapping/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005546_containers_size_type_cast/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005553_regex_character_translation/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005768_pow_accuracy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005780_non_ascii_locales/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005800_stable_sort_large_alignment/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── GH_005816_numeric_limits_traps/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── GH_005968_headers_provide_begin_end/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── shared_test.hpp
│   │       │   ├── test.cpp
│   │       │   ├── test_array.cpp
│   │       │   ├── test_deque.cpp
│   │       │   ├── test_flat_map.cpp
│   │       │   ├── test_flat_set.cpp
│   │       │   ├── test_forward_list.cpp
│   │       │   ├── test_hive.cpp
│   │       │   ├── test_inplace_vector.cpp
│   │       │   ├── test_iterator.cpp
│   │       │   ├── test_list.cpp
│   │       │   ├── test_map.cpp
│   │       │   ├── test_optional.cpp
│   │       │   ├── test_regex.cpp
│   │       │   ├── test_set.cpp
│   │       │   ├── test_span.cpp
│   │       │   ├── test_stacktrace.cpp
│   │       │   ├── test_string.cpp
│   │       │   ├── test_string_view.cpp
│   │       │   ├── test_unordered_map.cpp
│   │       │   ├── test_unordered_set.cpp
│   │       │   ├── test_valarray.cpp
│   │       │   └── test_vector.cpp
│   │       ├── LWG2381_num_get_floating_point/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── LWG2510_tag_classes/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── LWG2597_complex_branch_cut/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── LWG3018_shared_ptr_function/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── LWG3121_constrained_tuple_forwarding_ctor/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── LWG3146_excessive_unwrapping_ref_cref/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── LWG3234_math_special_overloads/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── LWG3422_seed_seq_ctors/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── LWG3480_directory_iterator_range/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── LWG3528_make_from_tuple_impl/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── LWG3545_pointer_traits_sfinae/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── LWG3561_discard_block_engine_counter/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── LWG3610_iota_view_size_and_integer_class/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── LWG4015_optional_adl_proof_operations/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── LWG4084_iostream_uppercase_inf_nan/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── LWG4105_ranges_ends_with_and_integer_class/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── LWG4172_unique_lock_self_move_assignment/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_default_accessor/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_extents/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_extents_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_layout_left/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_layout_left_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_layout_right/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_layout_right_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_layout_stride/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_layout_stride_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_mdspan/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_mdspan_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0009R18_mdspan_msabi/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0019R8_atomic_ref/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_adjacent_difference/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_adjacent_find/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_all_of/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_count/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_equal/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_exclusive_scan/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_find/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_find_end/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_find_first_of/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_for_each/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_inclusive_scan/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_is_heap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_is_partitioned/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_is_sorted/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_mismatch/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_partition/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_reduce/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_remove/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_replace/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_search/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_search_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_set_difference/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_set_intersection/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_sort/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_stable_sort/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_transform/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_transform_exclusive_scan/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_transform_inclusive_scan/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0024R2_parallel_algorithms_transform_reduce/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0035R4_over_aligned_allocation/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0040R3_extending_memory_management_tools/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0040R3_parallel_memory_algorithms/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0053R7_cpp_synchronized_buffered_ostream/
│   │       │   ├── env.lst
│   │       │   ├── test.cpp
│   │       │   └── test.hpp
│   │       ├── P0067R5_charconv/
│   │       │   ├── double_fixed_precision_to_chars_test_cases_1.hpp
│   │       │   ├── double_fixed_precision_to_chars_test_cases_2.hpp
│   │       │   ├── double_fixed_precision_to_chars_test_cases_3.hpp
│   │       │   ├── double_fixed_precision_to_chars_test_cases_4.hpp
│   │       │   ├── double_from_chars_test_cases.hpp
│   │       │   ├── double_general_precision_to_chars_test_cases.hpp
│   │       │   ├── double_hex_precision_to_chars_test_cases.hpp
│   │       │   ├── double_scientific_precision_to_chars_test_cases_1.hpp
│   │       │   ├── double_scientific_precision_to_chars_test_cases_2.hpp
│   │       │   ├── double_scientific_precision_to_chars_test_cases_3.hpp
│   │       │   ├── double_scientific_precision_to_chars_test_cases_4.hpp
│   │       │   ├── double_to_chars_test_cases.hpp
│   │       │   ├── env.lst
│   │       │   ├── float_fixed_precision_to_chars_test_cases.hpp
│   │       │   ├── float_from_chars_test_cases.hpp
│   │       │   ├── float_general_precision_to_chars_test_cases.hpp
│   │       │   ├── float_hex_precision_to_chars_test_cases.hpp
│   │       │   ├── float_scientific_precision_to_chars_test_cases.hpp
│   │       │   ├── float_to_chars_test_cases.hpp
│   │       │   ├── test.cpp
│   │       │   ├── test.hpp
│   │       │   └── wchar_test_cases.hpp
│   │       ├── P0083R3_splicing_maps_and_sets/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0088R3_variant/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0088R3_variant_msvc/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0092R1_polishing_chrono/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0122R7_span/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0122R7_span_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0137R1_launder/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0156R2_scoped_lock/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0202R3_constexpr_algorithm_and_exchange/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0218R1_filesystem/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0220R1_any/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0220R1_optional/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0220R1_optional_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0220R1_polymorphic_memory_resources/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0220R1_sample/
│   │       │   ├── adapterator.hpp
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0220R1_searchers/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0220R1_string_view/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0226R1_math_special_functions/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0288R9_move_only_function/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0295R0_gcd_lcm/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0323R12_expected/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0325R4_to_array/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0339R6_polymorphic_allocator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0355R7_calendars_and_time_zones_clocks/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0355R7_calendars_and_time_zones_dates/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0355R7_calendars_and_time_zones_dates_literals/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0355R7_calendars_and_time_zones_formatting/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0355R7_calendars_and_time_zones_hms/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0355R7_calendars_and_time_zones_io/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0355R7_calendars_and_time_zones_time_point_and_durations/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0355R7_calendars_and_time_zones_time_zones/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0355R7_calendars_and_time_zones_zoned_time/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0356R5_bind_front/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0357R3_supporting_incomplete_types_in_reference_wrapper/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0401R6_allocate_at_least/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0408R7_efficient_access_to_stringbuf_buffer/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0414R2_shared_ptr_for_arrays/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0415R1_constexpr_complex/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0426R1_constexpr_char_traits/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0429R9_flat_map/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0429R9_flat_map_ms_specific/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0433R2_deduction_guides/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0448R4_iosfwd/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0448R4_spanstream/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0475R1_P0591R4_uses_allocator_construction/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0476R2_bit_cast/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0487R1_fixing_operator_shl_basic_istream_char_pointer/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0513R0_poisoning_the_hash/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0528R3_cmpxchg_pad/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0553R4_bit_rotating_and_counting_functions/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0556R3_bit_integral_power_of_two_operations/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0586R2_integer_comparison/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0595R2_is_constant_evaluated/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0607R0_inline_variables/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── test.cpp
│   │       │   └── test2.cpp
│   │       ├── P0608R3_improved_variant_converting_constructor/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0616R0_using_move_in_numeric/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0627R6_unreachable/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0631R8_numbers_math_constants/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_args/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_custom_formatting/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_formatting/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_grapheme_clusterization/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_legacy_text_encoding/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_parse_contexts/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_parsing/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0645R10_text_formatting_utf8/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0660R10_jthread_and_cv_any/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0660R10_stop_token/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0660R10_stop_token_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0674R1_make_shared_for_arrays/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0718R2_atomic_smart_ptrs/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0753R2_manipulators_for_cpp_synchronized_buffered_ostream/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0758R1_is_nothrow_convertible/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0768R1_spaceship_cpos/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0768R1_spaceship_operator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0769R2_shift_left_shift_right/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0784R7_library_machinery/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0784R7_library_support_for_more_constexpr_containers/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0798R8_monadic_operations_for_std_optional/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0811R3_midpoint_lerp/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0881R7_stacktrace/
│   │       │   ├── env.lst
│   │       │   ├── postexecute.pl
│   │       │   └── test.cpp
│   │       ├── P0896R4_and_P1614R2_comparisons/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_common_iterator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_common_iterator_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_counted_iterator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_counted_iterator_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_istream_view/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_istream_view_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_adjacent_find/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_all_of/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_any_of/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_binary_search/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_copy_backward/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_copy_if/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_copy_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_count/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_count_if/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_equal/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_fill/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_fill_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_find/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_find_end/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_find_first_of/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_find_if/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_find_if_not/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_for_each/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_for_each_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_generate/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_generate_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_heap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_includes/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_inplace_merge/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_is_permutation/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_is_sorted/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_lexicographical_compare/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_merge/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_minmax/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_mismatch/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_move/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_move_backward/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_none_of/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_nth_element/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_partial_sort/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_partial_sort_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_partition/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_partition_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_partition_point/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_permutations/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_remove/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_remove_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_remove_copy_if/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_remove_if/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_replace/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_replace_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_replace_copy_if/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_replace_if/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_reverse/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_reverse_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_rotate/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_rotate_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_sample/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_search/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_search_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_set_difference/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_set_intersection/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_set_symmetric_difference/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_set_union/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_shuffle/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_sort/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_stable_partition/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_stable_sort/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_swap_ranges/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_transform_binary/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_transform_unary/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_copy_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_default_construct/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_default_construct_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_fill/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_fill_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_move/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_move_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_value_construct/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_uninitialized_value_construct_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_unique/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_alg_unique_copy/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_algorithm_machinery/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0896R4_ranges_iterator_machinery/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_range_machinery/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_ref_view/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_ranges_subrange/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0896R4_ranges_test_machinery/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0896R4_ranges_to_address/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_stream_iterators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_all/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_common/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_counted/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_counted_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_drop/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_drop_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_drop_while/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_drop_while_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_elements/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_empty/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_filter/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_filter_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_filter_iterator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_iota/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_iota_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_join/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_lazy_split/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_reverse/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_single/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_split/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_take/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_take_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_take_while/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_take_while_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_transform/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0896R4_views_transform_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0898R3_concepts/
│   │       │   ├── env.lst
│   │       │   ├── invocable_cc.hpp
│   │       │   └── test.cpp
│   │       ├── P0898R3_identity/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0912R5_coroutine/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0919R3_heterogeneous_unordered_lookup/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0943R6_stdatomic_h/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P0952R2_new_generate_canonical/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0966R1_string_reserve_should_not_shrink/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P0980R1_constexpr_strings/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1004R2_constexpr_vector/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1004R2_constexpr_vector_bool/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1007R3_assume_aligned/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1020R1_smart_pointer_for_overwrite/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1023R0_constexpr_for_array_comparisons/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1032R1_miscellaneous_constexpr/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1132R7_out_ptr/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1135R6_atomic_flag_test/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1135R6_atomic_wait/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1135R6_barrier/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1135R6_latch/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1135R6_semaphore/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1147R1_printing_volatile_pointers/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1165R1_consistently_propagating_stateful_allocators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1169R4_static_call_operator/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P1206R7_deque_append_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_deque_assign_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_deque_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_deque_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_deque_prepend_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_forward_list_assign_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_forward_list_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_forward_list_insert_range_after/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_forward_list_prepend_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P1206R7_list_append_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_list_assign_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_list_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_list_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_list_prepend_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_map_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_map_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_multimap_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_multimap_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_multiset_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_multiset_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_priority_queue_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_priority_queue_push_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_queue_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_queue_push_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_ranges_to_mappish/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_ranges_to_misc/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_ranges_to_sequence/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_ranges_to_settish/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_set_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_set_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_stack_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_stack_push_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_string_append_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_string_assign_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_string_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_string_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_string_replace_with_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_unordered_map_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_unordered_map_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_unordered_multimap_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_unordered_multimap_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_unordered_multiset_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_unordered_multiset_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_unordered_set_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_unordered_set_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_vector_append_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_vector_assign_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_vector_from_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1206R7_vector_insert_range/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1208R6_source_location/
│   │       │   ├── env.lst
│   │       │   ├── header.h
│   │       │   └── test.cpp
│   │       ├── P1209R0_erase_if_erase/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1222R4_flat_set/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1223R5_ranges_alg_find_last/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1223R5_ranges_alg_find_last_if/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1223R5_ranges_alg_find_last_if_not/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1272R4_byteswap/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1423R3_char8_t_remediation/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P1425R4_queue_stack_constructors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1502R1_standard_library_header_units/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── custombuild.pl
│   │       │   ├── env.lst
│   │       │   ├── importable_cxx_library_headers.jsonc
│   │       │   ├── lit.local.cfg
│   │       │   └── test.cpp
│   │       ├── P1518R2_stop_overconstraining_allocators/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P1522R1_difference_type/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1614R2_spaceship/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1645R1_constexpr_numeric/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1659R3_ranges_alg_ends_with/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1659R3_ranges_alg_starts_with/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1682R3_to_underlying/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1899R3_views_stride/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1899R3_views_stride_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P1951R1_default_arguments_pair_forward_ctor/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2093R14_formatted_output/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2136R3_invoke_r/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2162R2_std_visit_for_derived_classes_from_variant/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2164R9_views_enumerate/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2165R4_tuple_like_common_reference/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2165R4_tuple_like_common_type/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2165R4_tuple_like_operations/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2165R4_tuple_like_pair/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2165R4_tuple_like_relational_operators/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2165R4_tuple_like_tuple_members/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2231R1_complete_constexpr_optional_variant/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2255R2_invocation/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2255R2_reference_constructs_from_temporary/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2255R2_reference_converts_from_temporary/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2255R2_tuple_pair_construction/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2273R3_constexpr_unique_ptr/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2278R4_basic_const_iterator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2278R4_const_span/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2278R4_ranges_const_iterator_machinery/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2278R4_ranges_const_range_machinery/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2278R4_views_as_const/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_container_adaptors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_debug_enabled_specializations/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_escaping/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_escaping_legacy_text_encoding/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_escaping_utf8/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_formattable/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2286R8_text_formatting_header_queue/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2286R8_text_formatting_header_stack/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2286R8_text_formatting_header_vector/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2286R8_text_formatting_range_formatter/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_range_map/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_range_sequence/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_range_set/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_range_string/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_range_string_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_tuple/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_tuple_disambiguation/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2286R8_text_formatting_vector_bool_reference/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2302R4_ranges_alg_contains/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2302R4_ranges_alg_contains_subrange/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2321R2_proxy_reference/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2321R2_views_adjacent/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2321R2_views_adjacent_transform/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2321R2_views_zip/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2321R2_views_zip_transform/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2322R6_ranges_alg_fold/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2374R4_checked_arithmetic_operations/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2374R4_views_cartesian_product/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2374R4_views_cartesian_product_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2374R4_views_cartesian_product_recommended_practices/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2387R3_bind_back/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2387R3_pipe_support_for_user_defined_range_adaptors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2401R0_conditional_noexcept_for_exchange/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2404R3_move_only_types_for_comparison_concepts/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2408R5_ranges_iterators_to_classic_algorithms/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2415R2_owning_view/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2417R2_constexpr_bitset/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2438R2_substr_rvalue/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2440R1_ranges_alg_shift_left/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2440R1_ranges_alg_shift_right/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2440R1_ranges_numeric_iota/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2441R2_views_join_with/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2442R1_signed128_div_ceil/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2442R1_views_chunk/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2442R1_views_chunk_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2442R1_views_slide/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2442R1_views_slide_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2443R1_views_chunk_by/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2443R1_views_chunk_by_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2445R1_forward_like/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2446R2_views_as_rvalue/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2465R3_standard_library_modules/
│   │       │   ├── __init__.py
│   │       │   ├── classic.cpp
│   │       │   ├── custom_format.py
│   │       │   ├── custombuild.pl
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── test.cpp
│   │       │   ├── test2.cpp
│   │       │   ├── test3.cpp
│   │       │   └── test4.cpp
│   │       ├── P2467R1_exclusive_mode_fstreams/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2474R2_views_repeat/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2474R2_views_repeat_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2494R2_move_only_range_adaptors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2502R2_generator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2502R2_generator_death/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2502R2_generator_iterator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2502R2_generator_promise/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2505R5_monadic_functions_for_std_expected/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2510R3_text_formatting_pointers/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2517R1_apply_conditional_noexcept/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2538R1_adl_proof_std_projected/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2609R3_relaxing_ranges_just_a_smidge/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2674R1_is_implicit_lifetime/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2693R1_ostream_and_thread_id/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2693R1_text_formatting_header_stacktrace/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2693R1_text_formatting_header_thread/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P2693R1_text_formatting_stacktrace/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P2693R1_text_formatting_thread_id/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P3016R6_inconsistent_begin_end/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P3107R5_enabled_specializations/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── P3349R1_contiguous_iterators_to_pointers/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── P3503R3_packaged_task_promise_with_allocator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_allocator_propagation/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_any_calling_conventions/
│   │       │   ├── __init__.py
│   │       │   ├── a.cpp
│   │       │   ├── ab.hpp
│   │       │   ├── b.cpp
│   │       │   ├── custom_format.py
│   │       │   ├── custombuild.pl
│   │       │   ├── env.lst
│   │       │   └── lit.local.cfg
│   │       ├── VSO_0000000_c_math_functions/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_condition_variable_any_exceptions/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_container_allocator_constructors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_exception_ptr_rethrow_seh/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_fancy_pointers/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_has_static_rtti/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_initialize_everything/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_16_difference_type_1/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_16_difference_type_2/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_32_difference_type_1/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_32_difference_type_2/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_64_difference_type_1/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_64_difference_type_2/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_int_1/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_int_2/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_nontrivial_1/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_algorithms_nontrivial_2/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_containers/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_iterators_misc/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_instantiate_type_traits/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_list_iterator_debugging/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_list_unique_self_reference/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_matching_npos_address/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── test.cpp
│   │       │   └── test2.cpp
│   │       ├── VSO_0000000_more_pair_tuple_sfinae/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_nullptr_stream_out/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_path_stream_parameter/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_regex_interface/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_regex_use/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_string_view_idl/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_type_traits/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0000000_vector_algorithms/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_vector_algorithms_floats/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_vector_algorithms_mismatch_and_lex_compare/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_vector_algorithms_search_n/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_wcfb01_idempotent_container_destructors/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0000000_wchar_t_filebuf_xsmeown/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0095468_clr_exception_ptr_bad_alloc/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0095837_current_exception_dtor/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0099869_pow_float_overflow/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0102478_moving_allocators/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0104705_throwing_copy_in_current_exception/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0104705_throwing_copy_in_current_exception_seh/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0105317_expression_sfinae/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0118461_min_max_noexcept/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0121275_filesystem_canonical_should_handle_many_double_dots/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0121440_is_iterator_iterator_traits/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0131167_associative_emplacement_allocations/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0135428_custom_char_traits_string/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0144114_sleep_until/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0144294_unordered_map_max_bucket_count/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0149983_system_error_broken_pipe/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0157762_feature_test_macros/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0174871_string_replace/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0180466_algorithm_overhauls/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0180469_fill_family/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0191296_allocator_construct/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0204655_heap_algorithms_integer_overflow/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0224478_scoped_allocator/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0226079_mutex/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0234888_num_get_overflows/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0397980_codecvt_length/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0429900_fast_debug_range_based_for/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0474901_shift_jis_codecvt/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0493909_is_aggregate/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0512710_terminate_current_exception_from_noexcept_function/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0512710_terminate_current_exception_from_noexcept_function_2/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0512710_terminate_current_exception_from_unwind/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0527559_pragma_managed/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0575109_string_ambiguous_overloads/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0599804_seekg_zero/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0644691_utf_8_codecvt/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0663136_string_includes_cctype/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0664587_lcg_divide_by_zero/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0677157_flist_merge_edge_cases/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0735700_fstream_read_over_4k/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0736657_unordered_assign_rehash/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0744055_atomic_load_8_bytes_readonly/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0792651_unordered_set_rehash_invalidates_key/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0830211_container_debugging_range_checks/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0849827_multicontainer_emplace_hint_position/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0938757_attribute_order/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_0961751_hash_range_erase/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_0971246_legacy_await_headers/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── VSO_1775715_user_defined_modules/
│   │       │   ├── __init__.py
│   │       │   ├── custom_format.py
│   │       │   ├── custombuild.pl
│   │       │   ├── env.lst
│   │       │   ├── lit.local.cfg
│   │       │   ├── test.cpp
│   │       │   └── user.ixx
│   │       ├── VSO_1804139_static_analysis_warning_with_single_element_array/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_1925201_iter_traits/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_2252142_wrong_C5046/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── VSO_2318081_bogus_const_overloading/
│   │       │   ├── env.lst
│   │       │   └── test.compile.pass.cpp
│   │       ├── callconv_matrix.lst
│   │       ├── char8_t_17_matrix.lst
│   │       ├── char8_t_impure_matrix.lst
│   │       ├── char8_t_matrix.lst
│   │       ├── clr_matrix.lst
│   │       ├── eha_matrix.lst
│   │       ├── fast_matrix.lst
│   │       ├── fast_no_asan_matrix.lst
│   │       ├── floating_point_model_matrix.lst
│   │       ├── impure_matrix.lst
│   │       ├── include_each_header_alone_matrix.lst
│   │       ├── locale0_implib_cpp_matrix.lst
│   │       ├── modules_20_matrix.lst
│   │       ├── prefix.lst
│   │       ├── rtti_matrix.lst
│   │       ├── strict_20_matrix.lst
│   │       ├── strict_latest_matrix.lst
│   │       ├── usual_17_matrix.lst
│   │       ├── usual_20_matrix.lst
│   │       ├── usual_latest_matrix.lst
│   │       └── usual_matrix.lst
│   ├── tr1/
│   │   ├── CMakeLists.txt
│   │   ├── README.md
│   │   ├── env.lst
│   │   ├── env_minus_md_idl.lst
│   │   ├── env_minus_pure.lst
│   │   ├── expected_results.txt
│   │   ├── include/
│   │   │   ├── tcvt.h
│   │   │   ├── tdefs.h
│   │   │   ├── tfuns.h
│   │   │   ├── tspec_random.h
│   │   │   ├── tspec_random_defs.h
│   │   │   └── typetr.h
│   │   ├── lit.cfg
│   │   ├── lit.site.cfg.in
│   │   ├── prefix.lst
│   │   ├── run.pl
│   │   ├── runbe.pl
│   │   ├── test.lst
│   │   └── tests/
│   │       ├── algorithm/
│   │       │   └── test.cpp
│   │       ├── array/
│   │       │   └── test.cpp
│   │       ├── atomic/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── bitset/
│   │       │   └── test.cpp
│   │       ├── cctype/
│   │       │   └── test.cpp
│   │       ├── cerrno/
│   │       │   └── test.cpp
│   │       ├── cfloat/
│   │       │   └── test.cpp
│   │       ├── chrono/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── ciso646/
│   │       │   └── test.cpp
│   │       ├── climits/
│   │       │   └── test.cpp
│   │       ├── clocale/
│   │       │   └── test.cpp
│   │       ├── cmath1/
│   │       │   └── test.cpp
│   │       ├── cmath2/
│   │       │   └── test.cpp
│   │       ├── cmath3/
│   │       │   └── test.cpp
│   │       ├── codecvt/
│   │       │   └── test.cpp
│   │       ├── complex1/
│   │       │   └── test.cpp
│   │       ├── complex2/
│   │       │   └── test.cpp
│   │       ├── complex3/
│   │       │   └── test.cpp
│   │       ├── csetjmp/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── csignal/
│   │       │   └── test.cpp
│   │       ├── cstdarg/
│   │       │   └── test.cpp
│   │       ├── cstdbool/
│   │       │   └── test.cpp
│   │       ├── cstddef/
│   │       │   └── test.cpp
│   │       ├── cstdint/
│   │       │   └── test.cpp
│   │       ├── cstdio/
│   │       │   └── test.cpp
│   │       ├── cstring/
│   │       │   └── test.cpp
│   │       ├── ctime/
│   │       │   └── test.cpp
│   │       ├── cwchar1/
│   │       │   └── test.cpp
│   │       ├── cwchar2/
│   │       │   └── test.cpp
│   │       ├── cwctype/
│   │       │   └── test.cpp
│   │       ├── deque/
│   │       │   └── test.cpp
│   │       ├── exception/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── filesystem1/
│   │       │   └── test.cpp
│   │       ├── forward_list/
│   │       │   └── test.cpp
│   │       ├── fstream1/
│   │       │   └── test.cpp
│   │       ├── fstream2/
│   │       │   └── test.cpp
│   │       ├── functional/
│   │       │   └── test.cpp
│   │       ├── functional1/
│   │       │   └── test.cpp
│   │       ├── functional2/
│   │       │   └── test.cpp
│   │       ├── functional3/
│   │       │   └── test.cpp
│   │       ├── functional4/
│   │       │   └── test.cpp
│   │       ├── functional5/
│   │       │   └── test.cpp
│   │       ├── functional6/
│   │       │   └── test.cpp
│   │       ├── functional7/
│   │       │   └── test.cpp
│   │       ├── functional7a/
│   │       │   └── test.cpp
│   │       ├── functional8/
│   │       │   └── test.cpp
│   │       ├── functional9/
│   │       │   └── test.cpp
│   │       ├── future/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── future1/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── initializer_list/
│   │       │   └── test.cpp
│   │       ├── iomanip/
│   │       │   └── test.cpp
│   │       ├── ios/
│   │       │   └── test.cpp
│   │       ├── iosfwd/
│   │       │   └── test.cpp
│   │       ├── iostream1/
│   │       │   └── test.cpp
│   │       ├── istream1/
│   │       │   └── test.cpp
│   │       ├── istream2/
│   │       │   └── test.cpp
│   │       ├── iterator/
│   │       │   └── test.cpp
│   │       ├── limits/
│   │       │   └── test.cpp
│   │       ├── list/
│   │       │   └── test.cpp
│   │       ├── locale1/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── locale2/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── locale3/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── locale4/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── locale7/
│   │       │   └── test.cpp
│   │       ├── locale8/
│   │       │   └── test.cpp
│   │       ├── map/
│   │       │   └── test.cpp
│   │       ├── memory/
│   │       │   └── test.cpp
│   │       ├── memory1/
│   │       │   └── test.cpp
│   │       ├── memory2/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── memory3/
│   │       │   └── test.cpp
│   │       ├── new/
│   │       │   └── test.cpp
│   │       ├── numeric/
│   │       │   └── test.cpp
│   │       ├── ostream1/
│   │       │   └── test.cpp
│   │       ├── ostream2/
│   │       │   └── test.cpp
│   │       ├── queue/
│   │       │   └── test.cpp
│   │       ├── random1/
│   │       │   └── test.cpp
│   │       ├── random2/
│   │       │   └── test.cpp
│   │       ├── random4/
│   │       │   └── test.cpp
│   │       ├── random5/
│   │       │   └── test.cpp
│   │       ├── random6/
│   │       │   └── test.cpp
│   │       ├── ratio/
│   │       │   ├── env.lst
│   │       │   └── test.cpp
│   │       ├── regex1/
│   │       │   └── test.cpp
│   │       ├── regex2/
│   │       │   └── test.cpp
│   │       ├── regex3/
│   │       │   └── test.cpp
│   │       ├── regex4/
│   │       │   └── test.cpp
│   │       ├── scoped_allocator/
│   │       │   └── test.cpp
│   │       ├── set/
│   │       │   └── test.cpp
│   │       ├── sstream1/
│   │       │   └── test.cpp
│   │       ├── sstream2/
│   │       │   └── test.cpp
│   │       ├── stack/
│   │       │   └── test.cpp
│   │       ├── stdexcept/
│   │       │   └── test.cpp
│   │       ├── streambuf1/
│   │       │   └── test.cpp
│   │       ├── streambuf2/
│   │       │   └── test.cpp
│   │       ├── string1/
│   │       │   └── test.cpp
│   │       ├── string2/
│   │       │   └── test.cpp
│   │       ├── strstream/
│   │       │   └── test.cpp
│   │       ├── system_error/
│   │       │   └── test.cpp
│   │       ├── tuple/
│   │       │   └── test.cpp
│   │       ├── type_traits1/
│   │       │   └── test.cpp
│   │       ├── type_traits2/
│   │       │   └── test.cpp
│   │       ├── type_traits3/
│   │       │   └── test.cpp
│   │       ├── type_traits4/
│   │       │   └── test.cpp
│   │       ├── type_traits5/
│   │       │   └── test.cpp
│   │       ├── type_traits6/
│   │       │   └── test.cpp
│   │       ├── type_traits7/
│   │       │   └── test.cpp
│   │       ├── typeindex/
│   │       │   └── test.cpp
│   │       ├── typeinfo/
│   │       │   └── test.cpp
│   │       ├── unordered_map/
│   │       │   └── test.cpp
│   │       ├── unordered_set/
│   │       │   └── test.cpp
│   │       ├── utility/
│   │       │   └── test.cpp
│   │       ├── utility1/
│   │       │   └── test.cpp
│   │       ├── valarray/
│   │       │   └── test.cpp
│   │       └── vector/
│   │           └── test.cpp
│   ├── universal_prefix.lst
│   └── utils/
│       ├── stl/
│       │   ├── __init__.py
│       │   ├── test/
│       │   │   ├── __init__.py
│       │   │   ├── config.py
│       │   │   ├── features.py
│       │   │   ├── file_parsing.py
│       │   │   ├── format.py
│       │   │   ├── params.py
│       │   │   └── tests.py
│       │   └── util.py
│       └── stl-lit/
│           ├── CMakeLists.txt
│           └── stl-lit.in
└── tools/
    ├── CMakeLists.txt
    ├── CMakeSettings.json
    ├── format/
    │   └── CMakeLists.txt
    ├── scripts/
    │   ├── charconv_generate.cpp
    │   ├── charconv_tables_generate.cpp
    │   ├── check_libcxx_paths.py
    │   ├── check_test_lst_paths.py
    │   ├── move_only_function_specializations.py
    │   ├── print_failures.py
    │   └── transform_llvm.sh
    ├── unicode_properties_parse/
    │   ├── .gitignore
    │   ├── download_unicode_data_files.py
    │   ├── grapheme_break_test_data_gen.py
    │   └── unicode_properties_data_gen.py
    └── validate/
        ├── CMakeLists.txt
        └── validate.cpp
Download .txt
Showing preview only (1,650K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (18235 symbols across 1204 files)

FILE: benchmarks/inc/skewed_allocator.hpp
  type skewed_allocator (line 11) | struct skewed_allocator {
    type rebind (line 17) | struct rebind {
    method skewed_allocator (line 21) | skewed_allocator() = default;
    method skewed_allocator (line 23) | skewed_allocator(const skewed_allocator<U, Alignment, Skew>&) {}
    method T (line 30) | T* allocate(const size_t n) {
    method deallocate (line 38) | void deallocate(T* const p, size_t) {
  type highly_aligned (line 66) | struct alignas(page_size) highly_aligned {
  type not_highly_aligned (line 71) | struct alignas(page_size) not_highly_aligned {

FILE: benchmarks/inc/udt.hpp
  type aggregate (line 7) | struct aggregate {
  type non_trivial (line 14) | struct non_trivial {
    method non_trivial (line 16) | non_trivial() : c() {}
    method non_trivial (line 17) | non_trivial(const Data& src) : c(src) {}
    method non_trivial (line 18) | non_trivial(const non_trivial& other) : c(other.c) {}
    method non_trivial (line 19) | non_trivial& operator=(const non_trivial& other) {

FILE: benchmarks/inc/utility.hpp
  function random_vector (line 14) | std::vector<Contained, Alloc<Contained>> random_vector(size_t n, Seed......

FILE: benchmarks/src/adjacent_difference.cpp
  function bm (line 19) | void bm(benchmark::State& state) {
  function common_args (line 43) | void common_args(benchmark::Benchmark* bm) {

FILE: benchmarks/src/adjacent_find.cpp
  type AlgType (line 15) | enum class AlgType { Std, Rng }
  function bm (line 18) | void bm(benchmark::State& state) {
  function common_args (line 44) | void common_args(benchmark::Benchmark* bm) {

FILE: benchmarks/src/any_swap.cpp
  type small (line 12) | struct small {
    method small (line 14) | small()                            = default;
    method small (line 15) | small(const small&)                = default;
    method small (line 16) | small& operator=(const small&)     = default;
    method small (line 17) | small(small&&) noexcept            = default;
    method small (line 18) | small& operator=(small&&) noexcept = default;
  function bm (line 27) | void bm(benchmark::State& state) {

FILE: benchmarks/src/bitset_from_string.cpp
  function random_digits_init (line 16) | auto random_digits_init() {
  type length_type (line 38) | enum class length_type : bool { char_count, null_term }
  function bitset_from_string (line 44) | void bitset_from_string(benchmark::State& state) {
  function random_digits_contiguous_string_init (line 63) | basic_string<charT> random_digits_contiguous_string_init() {
  function bitset_from_stream (line 81) | void bitset_from_stream(benchmark::State& state) {

FILE: benchmarks/src/bitset_to_string.cpp
  function random_bits_init (line 16) | auto random_bits_init() {
  function BM_bitset_to_string (line 29) | void BM_bitset_to_string(benchmark::State& state) {
  function BM_bitset_to_string_large_single (line 43) | void BM_bitset_to_string_large_single(benchmark::State& state) {

FILE: benchmarks/src/charconv_floats.cpp
  function verify (line 18) | void verify(const bool b) {
  type RoundTrip (line 25) | enum class RoundTrip { Sci, Fix, Gen, Hex, Lossy }
  function chars_format (line 27) | consteval chars_format chars_format_from_RoundTrip(const RoundTrip rt) {
  function test_to_chars (line 44) | void test_to_chars(benchmark::State& state) {

FILE: benchmarks/src/efficient_nonlocking_print.cpp
  function BM_vprint (line 18) | void BM_vprint(benchmark::State& state) {
  function BM_vprint_complex (line 27) | void BM_vprint_complex(benchmark::State& state) {

FILE: benchmarks/src/filesystem.cpp
  function symlink_status (line 8) | void symlink_status(benchmark::State& state) {

FILE: benchmarks/src/fill.cpp
  function handwritten_loop (line 12) | void handwritten_loop(benchmark::State& state) {
  function handwritten_loop_n (line 27) | void handwritten_loop_n(benchmark::State& state) {
  function memset_call (line 42) | void memset_call(benchmark::State& state) {
  function std_fill_call (line 54) | void std_fill_call(benchmark::State& state) {
  function std_fill_n_call (line 67) | void std_fill_n_call(benchmark::State& state) {

FILE: benchmarks/src/find_and_count.cpp
  type Op (line 16) | enum class Op {
  function bm (line 29) | void bm(benchmark::State& state) {
  function common_args (line 69) | void common_args(benchmark::Benchmark* bm) {
  type point (line 75) | struct point {

FILE: benchmarks/src/find_first_of.cpp
  type AlgType (line 17) | enum class AlgType {
  function bm (line 26) | void bm(benchmark::State& state) {
  function common_args (line 84) | void common_args(benchmark::Benchmark* bm) {

FILE: benchmarks/src/flat_meow_assign.cpp
  function flat_map_strings_impl (line 12) | void flat_map_strings_impl(benchmark::State& state, initializer_list<pai...
  function flat_map_strings (line 20) | void flat_map_strings(benchmark::State& state) {
  function flat_set_strings_impl (line 27) | void flat_set_strings_impl(benchmark::State& state, initializer_list<str...
  function flat_set_strings (line 35) | void flat_set_strings(benchmark::State& state) {
  function flat_map_integers (line 41) | void flat_map_integers(benchmark::State& state) {
  function flat_set_integers (line 50) | void flat_set_integers(benchmark::State& state) {

FILE: benchmarks/src/has_single_bit.cpp
  function bm_has_single_bit_if (line 13) | void bm_has_single_bit_if(benchmark::State& state) {
  function bm_has_single_bit (line 30) | void bm_has_single_bit(benchmark::State& state) {

FILE: benchmarks/src/includes.cpp
  type alg_type (line 21) | enum class alg_type { std_fn, rng }
  type needle_spread (line 23) | enum class needle_spread { dense, dense_random, sparse, sparse_random }
  function bm_includes (line 26) | void bm_includes(benchmark::State& state) {
  function common_args (line 99) | void common_args(benchmark::Benchmark* bm) {

FILE: benchmarks/src/integer_to_string.cpp
  function generate_array (line 18) | auto generate_array() {
  function integer_to_chars (line 43) | void integer_to_chars(benchmark::State& state) {
  function internal_integer_to_buff (line 63) | void internal_integer_to_buff(benchmark::State& state) {
  function integer_to_string (line 84) | void integer_to_string(benchmark::State& state) {

FILE: benchmarks/src/iota.cpp
  type Alg (line 12) | enum class Alg {
  function bm (line 18) | void bm(benchmark::State& state) {
  function common_args (line 34) | void common_args(benchmark::Benchmark* bm) {

FILE: benchmarks/src/is_sorted_until.cpp
  type AlgType (line 15) | enum class AlgType { Std, Rng }
  function bm_is_sorted_until (line 18) | void bm_is_sorted_until(benchmark::State& state) {
  function common_args (line 46) | void common_args(benchmark::Benchmark* bm) {

FILE: benchmarks/src/locale_classic.cpp
  function BM_locale_classic (line 9) | void BM_locale_classic(benchmark::State& state) {

FILE: benchmarks/src/locate_zone.cpp
  function locate_zone (line 7) | void locate_zone(benchmark::State& state) {

FILE: benchmarks/src/minmax_element.cpp
  type Op (line 15) | enum class Op {
  function bm (line 27) | void bm(benchmark::State& state) {
  function common_arg (line 60) | void common_arg(benchmark::Benchmark* bm) {

FILE: benchmarks/src/mismatch.cpp
  type op (line 17) | enum class op {
  type color (line 22) | struct color {
  function bm (line 34) | void bm(benchmark::State& state) {
  function common_args (line 51) | void common_args(benchmark::Benchmark* bm) {

FILE: benchmarks/src/move_only_function.cpp
  function mof_none (line 14) | void mof_none(benchmark::State& state) {
  function mof_construct (line 21) | void mof_construct(benchmark::State& state) {
  function mof_move (line 28) | void mof_move(benchmark::State& state) {
  function mof_construct_and_move (line 37) | void mof_construct_and_move(benchmark::State& state) {

FILE: benchmarks/src/nth_element.cpp
  type alg_type (line 103) | enum class alg_type { std_fn, rng }
  function benchmark_common (line 106) | void benchmark_common(benchmark::State& state, const Src& src) {
  function bm_uniform (line 124) | void bm_uniform(benchmark::State& state) {

FILE: benchmarks/src/path_lexically_normal.cpp
  function BM_lexically_normal (line 8) | void BM_lexically_normal(benchmark::State& state) {

FILE: benchmarks/src/priority_queue_push_range.cpp
  function create_vec (line 19) | auto create_vec(Fn transformation) {
  function T (line 28) | T cast_to(uint64_t val) {
  function BM_push_range (line 43) | void BM_push_range(benchmark::State& state) {
  function common_args (line 59) | void common_args(benchmark::Benchmark* bm) {

FILE: benchmarks/src/random_integer_generation.cpp
  function BM_mt19937 (line 10) | void BM_mt19937(benchmark::State& state) {
  function BM_mt19937_64 (line 18) | void BM_mt19937_64(benchmark::State& state) {
  function BM_lcg (line 26) | void BM_lcg(benchmark::State& state) {
  function BM_discard (line 37) | void BM_discard(benchmark::State& state) {
  function GetMax (line 51) | std::uint32_t GetMax() {
  function BM_raw_mt19937_new (line 61) | void BM_raw_mt19937_new(benchmark::State& state) {
  function BM_raw_mt19937_64_new (line 72) | void BM_raw_mt19937_64_new(benchmark::State& state) {
  function BM_raw_lcg_new (line 83) | void BM_raw_lcg_new(benchmark::State& state) {

FILE: benchmarks/src/ranges_div_ceil.cpp
  type Data (line 11) | struct Data {
  function bm (line 29) | void bm(benchmark::State& state, const Data& data) {

FILE: benchmarks/src/regex_match.cpp
  function bm_match_sequence_of_as (line 12) | void bm_match_sequence_of_as(benchmark::State& state, const char* patter...
  function bm_match_sequence_of_9a1b (line 25) | void bm_match_sequence_of_9a1b(benchmark::State& state, const char* patt...
  function common_args (line 42) | void common_args(benchmark::Benchmark* bm) {

FILE: benchmarks/src/regex_search.cpp
  function bm_lorem_search (line 13) | void bm_lorem_search(benchmark::State& state, const char* pattern, synta...
  function common_args (line 35) | void common_args(benchmark::Benchmark* bm) {

FILE: benchmarks/src/remove.cpp
  type alg_type (line 12) | enum class alg_type { std_fn, rng }
  function r (line 15) | void r(benchmark::State& state) {
  function rc (line 31) | void rc(benchmark::State& state) {

FILE: benchmarks/src/replace.cpp
  function r (line 13) | void r(benchmark::State& state) {
  function rc (line 26) | void rc(benchmark::State& state) {

FILE: benchmarks/src/reverse.cpp
  function r (line 13) | void r(benchmark::State& state) {
  function rc (line 24) | void rc(benchmark::State& state) {
  function common_args (line 36) | void common_args(benchmark::Benchmark* bm) {

FILE: benchmarks/src/rotate.cpp
  type AlgType (line 14) | enum class AlgType { Std, Rng }
  function bm_rotate (line 17) | void bm_rotate(benchmark::State& state) {
  function common_args (line 34) | void common_args(benchmark::Benchmark* bm) {
  type color (line 40) | struct color {

FILE: benchmarks/src/sample.cpp
  type alg_type (line 14) | enum class alg_type { std_fn, rng }
  function bm_sample (line 17) | void bm_sample(benchmark::State& state) {
  function common_args (line 39) | void common_args(benchmark::Benchmark* bm) {

FILE: benchmarks/src/search.cpp
  function make_fill_pattern_array (line 20) | constexpr auto make_fill_pattern_array() {
  type data_and_pattern (line 38) | struct data_and_pattern {
  function c_strstr (line 60) | void c_strstr(benchmark::State& state) {
  function classic_search (line 76) | void classic_search(benchmark::State& state) {
  function ranges_search (line 92) | void ranges_search(benchmark::State& state) {
  function search_default_searcher (line 108) | void search_default_searcher(benchmark::State& state) {
  function member_find (line 124) | void member_find(benchmark::State& state) {
  function classic_find_end (line 140) | void classic_find_end(benchmark::State& state) {
  function ranges_find_end (line 156) | void ranges_find_end(benchmark::State& state) {
  function member_rfind (line 172) | void member_rfind(benchmark::State& state) {
  function common_args (line 187) | void common_args(benchmark::Benchmark* bm) {

FILE: benchmarks/src/search_n.cpp
  type AlgType (line 17) | enum class AlgType { Std, Rng }
  type PatternType (line 19) | enum class PatternType {
  function bm (line 25) | void bm(benchmark::State& state) {
  function common_args (line 64) | void common_args(benchmark::Benchmark* bm) {

FILE: benchmarks/src/shuffle.cpp
  type alg_type (line 14) | enum class alg_type { std_fn, rng }
  function bm_shuffle (line 17) | void bm_shuffle(benchmark::State& state) {
  function common_args (line 35) | void common_args(benchmark::Benchmark* bm) {

FILE: benchmarks/src/std_copy.cpp
  function handwritten_loop (line 16) | void handwritten_loop(benchmark::State& state) {
  function handwritten_loop_n (line 34) | void handwritten_loop_n(benchmark::State& state) {
  function memcpy_call (line 51) | void memcpy_call(benchmark::State& state) {
  function std_copy_call (line 64) | void std_copy_call(benchmark::State& state) {
  function std_copy_n_call (line 76) | void std_copy_n_call(benchmark::State& state) {

FILE: benchmarks/src/sv_equal.cpp
  function make_svs (line 18) | constexpr std::array<std::string_view, Count> make_svs() {
  function sv_equal (line 33) | void sv_equal(benchmark::State& state) {

FILE: benchmarks/src/swap_ranges.cpp
  function std_swap (line 15) | void std_swap(benchmark::State& state) {
  function std_swap_ranges (line 31) | void std_swap_ranges(benchmark::State& state) {

FILE: benchmarks/src/unique.cpp
  type alg_type (line 14) | enum class alg_type { std_fn, rng }
  function u (line 17) | void u(benchmark::State& state) {
  function uc (line 41) | void uc(benchmark::State& state) {

FILE: benchmarks/src/vector_bool_copy.cpp
  function copy_block_aligned (line 15) | void copy_block_aligned(benchmark::State& state) {
  function copy_source_misaligned (line 27) | void copy_source_misaligned(benchmark::State& state) {
  function copy_dest_misaligned (line 39) | void copy_dest_misaligned(benchmark::State& state) {
  function copy_matching_alignment (line 52) | void copy_matching_alignment(benchmark::State& state) {
  function copy_both_single_blocks (line 65) | void copy_both_single_blocks(benchmark::State& state) {
  function copy_source_single_block (line 77) | void copy_source_single_block(benchmark::State& state) {
  function copy_dest_single_block (line 89) | void copy_dest_single_block(benchmark::State& state) {

FILE: benchmarks/src/vector_bool_copy_n.cpp
  function copy_n_block_aligned (line 15) | void copy_n_block_aligned(benchmark::State& state) {
  function copy_n_source_misaligned (line 27) | void copy_n_source_misaligned(benchmark::State& state) {
  function copy_n_dest_misaligned (line 39) | void copy_n_dest_misaligned(benchmark::State& state) {
  function copy_n_matching_alignment (line 52) | void copy_n_matching_alignment(benchmark::State& state) {
  function copy_n_both_single_blocks (line 65) | void copy_n_both_single_blocks(benchmark::State& state) {
  function copy_n_source_single_block (line 77) | void copy_n_source_single_block(benchmark::State& state) {
  function copy_n_dest_single_block (line 89) | void copy_n_dest_single_block(benchmark::State& state) {

FILE: benchmarks/src/vector_bool_count.cpp
  function count_aligned (line 15) | void count_aligned(benchmark::State& state) {

FILE: benchmarks/src/vector_bool_meow_of.cpp
  type alg (line 15) | enum class alg { all_, any_, none_ }
  type content (line 16) | enum class content { ones_then_zeros, zeros_then_ones }
  function meow_of (line 19) | void meow_of(benchmark::State& state) {
  function common_args (line 43) | void common_args(benchmark::Benchmark* bm) {

FILE: benchmarks/src/vector_bool_move.cpp
  function move_block_aligned (line 15) | void move_block_aligned(benchmark::State& state) {
  function move_source_misaligned (line 27) | void move_source_misaligned(benchmark::State& state) {
  function move_dest_misaligned (line 39) | void move_dest_misaligned(benchmark::State& state) {
  function move_matching_alignment (line 52) | void move_matching_alignment(benchmark::State& state) {
  function move_both_single_blocks (line 65) | void move_both_single_blocks(benchmark::State& state) {
  function move_source_single_block (line 77) | void move_source_single_block(benchmark::State& state) {
  function move_dest_single_block (line 89) | void move_dest_single_block(benchmark::State& state) {

FILE: benchmarks/src/vector_bool_transform.cpp
  function transform_one_input_aligned (line 18) | void transform_one_input_aligned(benchmark::State& state) {
  function transform_two_inputs_aligned (line 31) | void transform_two_inputs_aligned(benchmark::State& state) {
  function common_args (line 45) | void common_args(benchmark::Benchmark* bm) {

FILE: stl/inc/__msvc_bit_utils.hpp
  function _NODISCARD (line 38) | _NODISCARD constexpr int _Countl_zero_fallback(_Ty _Val) noexcept {
  function _NODISCARD (line 63) | _NODISCARD int _Countl_zero_lzcnt(const _Ty _Val) noexcept {
  function _NODISCARD (line 86) | _NODISCARD int _Countl_zero_bsr(const _Ty _Val) noexcept {
  function _NODISCARD (line 115) | _NODISCARD int _Checked_x86_x64_countl_zero(const _Ty _Val) noexcept {
  function _NODISCARD (line 128) | _NODISCARD int _Checked_arm64_countl_zero(const _Ty _Val) noexcept {
  function _NODISCARD (line 147) | _NODISCARD constexpr int _Countr_zero_fallback(const _Ty _Val) noexcept {
  function _NODISCARD (line 155) | _NODISCARD constexpr int _Popcount_fallback(_Ty _Val) noexcept {
  function _NODISCARD (line 195) | _NODISCARD int _Countr_zero_tzcnt(const _Ty _Val) noexcept {
  function _NODISCARD (line 223) | _NODISCARD int _Countr_zero_bsf(const _Ty _Val) noexcept {
  function _NODISCARD (line 258) | _NODISCARD int _Checked_x86_x64_countr_zero(const _Ty _Val) noexcept {
  function _NODISCARD (line 284) | _NODISCARD int _Unchecked_popcount(const _Ty _Val) noexcept {
  function _NODISCARD (line 300) | _NODISCARD int _Checked_popcount(const _Ty _Val) noexcept {
  function _NODISCARD (line 316) | _NODISCARD _CONSTEXPR20 int _Countr_zero(const _Ty _Val) noexcept {
  function _Select_countr_zero_impl (line 329) | constexpr decltype(auto) _Select_countr_zero_impl(_Fn _Callback) {
  function _NODISCARD (line 347) | _NODISCARD constexpr int _Countl_zero(const _Ty _Val) noexcept {
  function _NODISCARD (line 365) | _NODISCARD _CONSTEXPR20 int _Popcount(const _Ty _Val) noexcept {
  function _Select_popcount_impl (line 378) | _CONSTEXPR20 decltype(auto) _Select_popcount_impl(_Fn _Callback) {

FILE: stl/inc/__msvc_chrono.hpp
  function _STD_BEGIN (line 34) | _STD_BEGIN
  class duration (line 62) | class duration
  class _Clock (line 68) | class _Clock
  function duration (line 121) | constexpr duration() = default;
  function duration (line 127) | constexpr explicit duration(const _Rep2& _Val)
  function duration (line 137) | constexpr duration(const duration<_Rep2, _Period2>& _Dur)
  function _NODISCARD (line 141) | _NODISCARD constexpr _Rep count() const noexcept(is_arithmetic_v<_Rep>) ...
  function _NODISCARD (line 145) | _NODISCARD constexpr common_type_t<duration> operator+() const
  function _NODISCARD (line 150) | _NODISCARD constexpr common_type_t<duration> operator-() const
  function _CONSTEXPR17 (line 155) | _CONSTEXPR17 duration& operator++() noexcept(is_arithmetic_v<_Rep>) /* s...
  function _CONSTEXPR17 (line 160) | _CONSTEXPR17 duration operator++(int) noexcept(is_arithmetic_v<_Rep>) /*...
  function _CONSTEXPR17 (line 164) | _CONSTEXPR17 duration& operator--() noexcept(is_arithmetic_v<_Rep>) /* s...
  function _CONSTEXPR17 (line 169) | _CONSTEXPR17 duration operator--(int) noexcept(is_arithmetic_v<_Rep>) /*...
  function _CONSTEXPR17 (line 173) | _CONSTEXPR17 duration& operator+=(const duration& _Right) noexcept(is_ar...
  function _CONSTEXPR17 (line 178) | _CONSTEXPR17 duration& operator-=(const duration& _Right) noexcept(is_ar...
  function _CONSTEXPR17 (line 183) | _CONSTEXPR17 duration& operator*=(const _Rep& _Right) noexcept(is_arithm...
  function _CONSTEXPR17 (line 188) | _CONSTEXPR17 duration& operator/=(const _Rep& _Right) noexcept(is_arithm...
  function _CONSTEXPR17 (line 193) | _CONSTEXPR17 duration& operator%=(const _Rep& _Right) noexcept(is_arithm...
  function _CONSTEXPR17 (line 198) | _CONSTEXPR17 duration& operator%=(const duration& _Right) noexcept(is_ar...
  function _NODISCARD (line 203) | _NODISCARD static constexpr duration zero() noexcept {
  function _NODISCARD (line 208) | _NODISCARD static constexpr duration(min)() noexcept {
  function _NODISCARD (line 213) | _NODISCARD static constexpr duration(max)() noexcept {
  function time_point (line 233) | constexpr time_point() = default;
  function time_point (line 235) | constexpr explicit time_point(const _Duration& _Other) noexcept(is_arith...
  function time_point (line 239) | constexpr time_point(const time_point<_Clock, _Duration2>& _Tp)
  function _NODISCARD (line 243) | _NODISCARD constexpr _Duration time_since_epoch() const noexcept(is_arit...
  function time_point (line 248) | constexpr time_point& operator++() noexcept(is_arithmetic_v<rep>) /* str...
  function time_point (line 252) | constexpr time_point operator++(int) noexcept(is_arithmetic_v<rep>) /* s...
  function time_point (line 255) | constexpr time_point& operator--() noexcept(is_arithmetic_v<rep>) /* str...
  function time_point (line 259) | constexpr time_point operator--(int) noexcept(is_arithmetic_v<rep>) /* s...
  function _CONSTEXPR17 (line 264) | _CONSTEXPR17 time_point& operator+=(const _Duration& _Dur) noexcept(is_a...
  function _CONSTEXPR17 (line 269) | _CONSTEXPR17 time_point& operator-=(const _Duration& _Dur) noexcept(is_a...
  function _NODISCARD (line 274) | _NODISCARD static constexpr time_point(min)() noexcept {
  function _NODISCARD (line 278) | _NODISCARD static constexpr time_point(max)() noexcept {
  function _NODISCARD (line 293) | _NODISCARD constexpr intmax_t _Lcm(const intmax_t _Ax, const intmax_t _B...
  type common_type<_CHRONO duration<_Rep1, _Period1>, _CHRONO duration<_Rep2, _Period2>> (line 298) | struct common_type<_CHRONO duration<_Rep1, _Period1>, _CHRONO duration<_...
  type common_type<_CHRONO time_point<_Clock, _Duration1>,
    _CHRONO time_point<_Clock, _Duration2>> (line 304) | struct common_type<_CHRONO time_point<_Clock, _Duration1>,
  type chrono (line 309) | namespace chrono {
    function _EXPORT_STD (line 310) | _EXPORT_STD template <class _Rep1, class _Period1, class _Rep2, class ...
    function _EXPORT_STD (line 318) | _EXPORT_STD template <class _Rep1, class _Period1, class _Rep2, class ...
    type _Duration_div_mod1 (line 345) | struct _Duration_div_mod1 { // return type for duration / rep and dura...
    type _Duration_div_mod1<_CR, _Period1, _Rep2, false> (line 350) | struct _Duration_div_mod1<_CR, _Period1, _Rep2, false> {}
    type _Duration_div_mod (line 353) | struct _Duration_div_mod {}
    type _Duration_div_mod<_CR, _Period1, _Rep2, false> (line 356) | struct _Duration_div_mod<_CR, _Period1, _Rep2, false> : _Duration_div_...
    function _EXPORT_STD (line 360) | _EXPORT_STD template <class _Rep1, class _Period1, class _Rep2>
    function _EXPORT_STD (line 369) | _EXPORT_STD template <class _Rep1, class _Period1, class _Rep2, class ...
    function _EXPORT_STD (line 377) | _EXPORT_STD template <class _Rep1, class _Period1, class _Rep2>
    function _EXPORT_STD (line 386) | _EXPORT_STD template <class _Rep1, class _Period1, class _Rep2, class ...
    function _EXPORT_STD (line 394) | _EXPORT_STD template <class _Rep1, class _Period1, class _Rep2, class ...
    function _NODISCARD (line 404) | _NODISCARD constexpr bool operator!=(
  function _EXPORT_STD (line 418) | _EXPORT_STD template <class _Rep1, class _Period1, class _Rep2, class _P...
  function _EXPORT_STD (line 425) | _EXPORT_STD template <class _Rep1, class _Period1, class _Rep2, class _P...
  function _EXPORT_STD (line 431) | _EXPORT_STD template <class _Rep1, class _Period1, class _Rep2, class _P...
  function _To (line 450) | constexpr _To duration_cast(const duration<_Rep, _Period>& _Dur)
  function _To (line 484) | const _To _Casted{_CHRONO duration_cast<_To>(_Dur)};
  function _To (line 497) | const _To _Casted{_CHRONO duration_cast<_To>(_Dur)};
  function _Is_even (line 506) | constexpr bool _Is_even(_Rep _Val) noexcept(is_arithmetic_v<_Rep>) /* st...
  function _To (line 513) | constexpr _To round(const duration<_Rep, _Period>& _Dur)

FILE: stl/inc/__msvc_filebuf.hpp
  type filesystem (line 29) | namespace filesystem {
  function _Fgetc (line 38) | bool _Fgetc(_Elem& _Ch, FILE* _File) { // get an element from a C stream
  function _Fgetc (line 43) | inline bool _Fgetc(char& _Byte, FILE* _File) { // get a char element fro...
  function _Fgetc (line 54) | inline bool _Fgetc(wchar_t& _Wchar, FILE* _File) { // get a wchar_t elem...
  function _Fgetc (line 66) | inline bool _Fgetc(unsigned short& _Wchar, FILE* _File) { // get an unsi...
  function _Fputc (line 78) | bool _Fputc(_Elem _Ch, FILE* _File) { // put an element to a C stream
  function _Fputc (line 83) | inline bool _Fputc(char _Byte, FILE* _File) { // put a char element to a...
  function _Fputc (line 88) | inline bool _Fputc(wchar_t _Wchar, FILE* _File) { // put a wchar_t eleme...
  function _Fputc (line 94) | inline bool _Fputc(unsigned short _Wchar, FILE* _File) { // put an unsig...
  function _Ungetc (line 100) | bool _Ungetc(const _Elem&, FILE*) { // put back an arbitrary element to ...
  function _Ungetc (line 105) | inline bool _Ungetc(const char& _Byte, FILE* _File) { // put back a char...
  function _Ungetc (line 110) | inline bool _Ungetc(const signed char& _Byte, FILE* _File) { // put back...
  function _Ungetc (line 115) | inline bool _Ungetc(const unsigned char& _Byte, FILE* _File) { // put ba...
  function _Ungetc (line 120) | inline bool _Ungetc(const wchar_t& _Wchar, FILE* _File) { // put back a ...
  function _Ungetc (line 126) | inline bool _Ungetc(const unsigned short& _Wchar, FILE* _File) { // put ...
  function basic_filebuf (line 137) | basic_filebuf() : _Mysb() {
  function basic_filebuf (line 141) | explicit basic_filebuf(FILE* const _File) : _Mysb() { // extension, no o...
  function __CLR_OR_THIS_CALL (line 145) | __CLR_OR_THIS_CALL ~basic_filebuf() noexcept override {
  function basic_filebuf (line 159) | basic_filebuf(_Uninitialized) noexcept : _Mysb(_Noinit) {}
  function basic_filebuf (line 161) | basic_filebuf(basic_filebuf&& _Right) {
  function basic_filebuf (line 167) | basic_filebuf& operator=(basic_filebuf&& _Right) {
  function _Assign_rv (line 172) | void _Assign_rv(basic_filebuf&& _Right) {
  function swap (line 179) | void swap(basic_filebuf& _Right) noexcept /* strengthened */ {
  function basic_filebuf (line 237) | basic_filebuf(const basic_filebuf&)            = delete;
  type _Initfl (line 240) | enum _Initfl { // reasons for a call to _Init
  function _NODISCARD (line 246) | _NODISCARD bool is_open() const noexcept /* strengthened */ {
  function basic_filebuf (line 250) | basic_filebuf* open(const char* _Filename, ios_base::openmode _Mode, int...
  function basic_filebuf (line 266) | basic_filebuf* open(const string& _Str, ios_base::openmode _Mode, int _P...
  function basic_filebuf (line 272) | basic_filebuf* open(const char* _Filename, ios_base::open_mode _Mode) {
  function basic_filebuf (line 277) | basic_filebuf* open(const wchar_t* _Filename, ios_base::openmode _Mode, ...
  function basic_filebuf (line 293) | basic_filebuf* open(const wstring& _Str, ios_base::openmode _Mode, int _...
  function basic_filebuf (line 300) | basic_filebuf* open(
  function basic_filebuf (line 308) | basic_filebuf* open(const wchar_t* _Filename, ios_base::open_mode _Mode) {
  function basic_filebuf (line 314) | basic_filebuf* close() {
  function int_type (line 406) | int_type __CLR_OR_THIS_CALL pbackfail(int_type _Meta = _Traits::eof()) o...
  function int_type (line 427) | int_type __CLR_OR_THIS_CALL underflow() override { // get an element fro...
  function int_type (line 439) | int_type __CLR_OR_THIS_CALL uflow() override { // get an element from st...
  function streamsize (line 496) | streamsize __CLR_OR_THIS_CALL xsgetn(_Elem* _Ptr, streamsize _Count) ove...
  function streamsize (line 544) | streamsize __CLR_OR_THIS_CALL xsputn(const _Elem* _Ptr, streamsize _Coun...
  function pos_type (line 574) | pos_type __CLR_OR_THIS_CALL seekoff(off_type _Off, ios_base::seekdir _Way,
  function pos_type (line 594) | pos_type __CLR_OR_THIS_CALL seekpos(pos_type _Pos, ios_base::openmode = ...
  function _Init (line 639) | void _Init(FILE* _File, _Initfl _Which) noexcept { // initialize to C st...
  function _Endwrite (line 666) | bool _Endwrite() { // put shift to initial conversion state, as needed
  function _Initcvt (line 703) | void _Initcvt(const _Cvt& _Newcvt) noexcept { // initialize codecvt pointer
  function _Reset_back (line 720) | void _Reset_back() noexcept { // restore buffer after putback
  function _Set_back (line 726) | void _Set_back() noexcept { // set up putback area

FILE: stl/inc/__msvc_format_ucd_tables.hpp
  type _Grapheme_Break_property_values (line 138) | enum class _Grapheme_Break_property_values : uint8_t {
  type _Indic_Conjunct_Break_property_values (line 362) | enum class _Indic_Conjunct_Break_property_values : uint8_t {
  type _Extended_Pictographic_property_values (line 447) | enum class _Extended_Pictographic_property_values : uint8_t { _Extended_...
  type __printable_property_values (line 477) | enum class __printable_property_values : uint8_t { _Yes_value, _No_value...
  type _Grapheme_Extend_property_values (line 579) | enum class _Grapheme_Extend_property_values : uint8_t { _Grapheme_Extend...

FILE: stl/inc/__msvc_formatter.hpp
  type _Fmt_align (line 77) | enum class _Fmt_align : uint8_t { _None, _Left, _Right, _Center }
  type _Fmt_sign (line 79) | enum class _Fmt_sign : uint8_t { _None, _Plus, _Minus, _Space }
  type _Basic_format_arg_type (line 81) | enum class _Basic_format_arg_type : uint8_t {
  function _NODISCARD (line 103) | _NODISCARD consteval bool _Is_debug_enabled_fmt_type(_Basic_format_arg_t...
  type _Basic_format_specs (line 110) | struct _Basic_format_specs {
  type _Dynamic_format_specs (line 128) | struct _Dynamic_format_specs : _Basic_format_specs<_CharT> {
  class basic_format_parse_context<_CharT> (line 160) | class _ParseContext = basic_format_parse_context<_CharT>
  type formatter<char, _CharT> (line 207) | struct formatter<char, _CharT> : _Formatter_base<char, _CharT, _Basic_fo...
    method set_debug_format (line 209) | constexpr void set_debug_format() noexcept {
  type formatter<wchar_t, wchar_t> (line 217) | struct formatter<wchar_t, wchar_t> : _Formatter_base<wchar_t, wchar_t, _...
    method set_debug_format (line 219) | constexpr void set_debug_format() noexcept {
  type formatter<_CharT*, _CharT> (line 228) | struct formatter<_CharT*, _CharT> : _Formatter_base<_CharT*, _CharT, _Ba...
    method set_debug_format (line 230) | constexpr void set_debug_format() noexcept {
  type formatter<const _CharT*, _CharT> (line 237) | struct formatter<const _CharT*, _CharT>
    method set_debug_format (line 240) | constexpr void set_debug_format() noexcept {
  type formatter<_CharT[_Nx], _CharT> (line 247) | struct formatter<_CharT[_Nx], _CharT> : _Formatter_base<_CharT[_Nx], _Ch...
    method set_debug_format (line 249) | constexpr void set_debug_format() noexcept {
  class _Elem (line 258) | class _Elem
  class _Traits (line 258) | class _Traits
  type formatter<basic_string<_CharT, _Traits, _Allocator>, _CharT> (line 262) | struct formatter<basic_string<_CharT, _Traits, _Allocator>, _CharT>
    method set_debug_format (line 265) | constexpr void set_debug_format() noexcept {
  type formatter<basic_string_view<_CharT, _Traits>, _CharT> (line 272) | struct formatter<basic_string_view<_CharT, _Traits>, _CharT>
    method set_debug_format (line 275) | constexpr void set_debug_format() noexcept {
  type formatter<char*, wchar_t> (line 283) | struct formatter<char*, wchar_t> {
    method formatter (line 284) | formatter()                            = delete;
    method formatter (line 285) | formatter(const formatter&)            = delete;
    method formatter (line 286) | formatter& operator=(const formatter&) = delete;
  type formatter<const char*, wchar_t> (line 290) | struct formatter<const char*, wchar_t> {
    method formatter (line 291) | formatter()                            = delete;
    method formatter (line 292) | formatter(const formatter&)            = delete;
    method formatter (line 293) | formatter& operator=(const formatter&) = delete;
  type formatter<char[_Size], wchar_t> (line 297) | struct formatter<char[_Size], wchar_t> {
    method formatter (line 298) | formatter()                            = delete;
    method formatter (line 299) | formatter(const formatter&)            = delete;
    method formatter (line 300) | formatter& operator=(const formatter&) = delete;
  type formatter<basic_string<char, _Traits, _Allocator>, wchar_t> (line 304) | struct formatter<basic_string<char, _Traits, _Allocator>, wchar_t> {
    method formatter (line 305) | formatter()                            = delete;
    method formatter (line 306) | formatter(const formatter&)            = delete;
    method formatter (line 307) | formatter& operator=(const formatter&) = delete;
  type formatter<basic_string_view<char, _Traits>, wchar_t> (line 311) | struct formatter<basic_string_view<char, _Traits>, wchar_t> {
    method formatter (line 312) | formatter()                            = delete;
    method formatter (line 313) | formatter(const formatter&)            = delete;
    method formatter (line 314) | formatter& operator=(const formatter&) = delete;
  type _Invalid_format_kind (line 320) | struct _Invalid_format_kind {
  type formatter<_Rng, _CharT> (line 365) | struct formatter<_Rng, _CharT>
  type formatter<pair<_Ty1, _Ty2>, _CharT> (line 368) | struct formatter<pair<_Ty1, _Ty2>, _CharT>
  type formatter<tuple<_Types...>, _CharT> (line 371) | struct formatter<tuple<_Types...>, _CharT>
  type _Fill_align_and_width_specs (line 401) | struct _Fill_align_and_width_specs {
  type _Fill_align_and_width_formatter (line 411) | struct _Fill_align_and_width_formatter {

FILE: stl/inc/__msvc_heap_algorithms.hpp
  class _RanIt (line 36) | class _RanIt
  function push_heap (line 36) | class _Pr>
  function _Pop_heap_hole_by_index (line 57) | void _Pop_heap_hole_by_index(
  function _CONSTEXPR20 (line 87) | _CONSTEXPR20 void _Pop_heap_hole_unchecked(_RanIt _First, _RanIt _Last, ...
  function _CONSTEXPR20 (line 98) | _CONSTEXPR20 void _Pop_heap_unchecked(_RanIt _First, _RanIt _Last, _Pr _...
  function _EXPORT_STD (line 107) | _EXPORT_STD template <class _RanIt, class _Pr>
  function _CONSTEXPR20 (line 121) | _CONSTEXPR20 void _Make_heap_unchecked(_RanIt _First, _RanIt _Last, _Pr ...
  function _EXPORT_STD (line 133) | _EXPORT_STD template <class _RanIt, class _Pr>

FILE: stl/inc/__msvc_int128.hpp
  type _Base128 (line 51) | struct alignas(16) _Base128 {
    method _Left_shift (line 54) | constexpr void _Left_shift(const unsigned char _Count) noexcept {
    method _Unsigned_right_shift (line 78) | constexpr void _Unsigned_right_shift(const unsigned char _Count) noexc...
    method _AddCarry64 (line 102) | static constexpr unsigned char _AddCarry64(
    method _SubBorrow64 (line 116) | static constexpr unsigned char _SubBorrow64(
    method _Knuth_4_3_1_M (line 131) | static constexpr void _Knuth_4_3_1_M(
    method _NODISCARD (line 155) | _NODISCARD static constexpr uint64_t _UMul128(
    method _Knuth_4_3_1_D (line 180) | static constexpr void _Knuth_4_3_1_D(uint32_t* const __u, const size_t...
    method _NODISCARD (line 233) | _NODISCARD static constexpr uint64_t _UDiv128(
    method _Base128 (line 281) | constexpr _Base128() noexcept : _Word{} {}
    method _Base128 (line 284) | _Base128(const _Ty _Val) noexcept : _Word{static_cast<uint64_t>(_Val)} {
    method _Base128 (line 297) | constexpr explicit _Base128(const uint64_t _Low, const uint64_t _High)...
    method _Ty (line 341) | constexpr _Ty operator<<(const _Ty _Left, const _Base128& _Right) noex...
    method _Ty (line 346) | constexpr _Ty operator>>(const _Ty _Left, const _Base128& _Right) noex...
    method _Base128 (line 351) | _Base128& operator<<=(const _Ty _Count) noexcept {
    method _Ty (line 357) | constexpr _Ty& operator<<=(_Ty& _Left, const _Base128& _Right) noexcept {
    method _Base128 (line 363) | _Base128& operator>>=(const _Ty _Count) noexcept {
    method _Ty (line 369) | constexpr _Ty& operator>>=(_Ty& _Left, const _Base128& _Right) noexcept {
    method _Base128 (line 374) | constexpr _Base128& operator++() noexcept {
    method _Base128 (line 380) | constexpr _Base128 operator++(int) noexcept {
    method _Base128 (line 386) | constexpr _Base128& operator--() noexcept {
    method _Base128 (line 392) | constexpr _Base128 operator--(int) noexcept {
    method _NODISCARD (line 398) | _NODISCARD static constexpr _Base128 _Multiply(const _Base128& _Left, ...
    method _NODISCARD (line 407) | _NODISCARD static constexpr _Base128 _Divide(const _Base128& _Num, con...
    method _NODISCARD (line 417) | _NODISCARD static constexpr _Base128 _Divide(const _Base128& _Num, con...
    method _NODISCARD (line 424) | _NODISCARD static constexpr _Base128 _Divide(_Base128 _Num, _Base128 _...
    method _NODISCARD (line 533) | _NODISCARD static constexpr _Base128 _Modulo(const _Base128& _Num, con...
    method _NODISCARD (line 540) | _NODISCARD static constexpr _Base128 _Modulo(const _Base128& _Num, con...
    method _NODISCARD (line 545) | _NODISCARD static constexpr _Base128 _Modulo(_Base128 _Num, _Base128 _...
    method _NODISCARD (line 665) | _NODISCARD static constexpr _Base128 _Div_ceil(const _Base128& _Num, c...
    method _NODISCARD (line 680) | _NODISCARD static constexpr _Base128 _Div_ceil(const _Base128& _Num, c...
    method _NODISCARD (line 692) | _NODISCARD static constexpr _Base128 _Div_ceil(_Base128 _Num, _Base128...
    method _Ty (line 826) | constexpr _Ty& operator&=(_Ty& _Left, const _Base128& _Right) noexcept {
    method _Ty (line 832) | constexpr _Ty& operator^=(_Ty& _Left, const _Base128& _Right) noexcept {
    method _Ty (line 838) | constexpr _Ty& operator|=(_Ty& _Left, const _Base128& _Right) noexcept {
  type _Signed128 (line 844) | struct _Signed128
    method _Signed128 (line 1168) | constexpr _Signed128() noexcept : _Base128{} {}
    method _Signed128 (line 1172) | constexpr explicit _Signed128(const _Base128& _That) noexcept : _Base1...
    method _Signed128 (line 1174) | constexpr _Signed128& operator=(const _Base128& _That) noexcept {
    method strong_ordering (line 1180) | constexpr strong_ordering operator<=>(
    method _Signed128 (line 1214) | constexpr _Signed128 operator<<(const _Signed128& _Left, const _Base12...
    method _Signed128 (line 1221) | _Signed128& operator<<=(const _Ty _Count) noexcept {
    method _Signed128 (line 1225) | constexpr _Signed128& operator<<=(const _Base128& _Count) noexcept {
    method _Signed_right_shift (line 1230) | constexpr void _Signed_right_shift(const unsigned char _Count) noexcept {
    method _Signed128 (line 1253) | constexpr _Signed128 operator>>(const _Signed128& _Left, const _Base12...
    method _Signed128 (line 1260) | _Signed128& operator>>=(const _Ty _Count) noexcept {
    method _Signed128 (line 1264) | constexpr _Signed128& operator>>=(const _Base128& _Count) noexcept {
    method _Signed128 (line 1269) | constexpr _Signed128& operator++() noexcept {
    method _Signed128 (line 1275) | constexpr _Signed128 operator++(int) noexcept {
    method _Signed128 (line 1281) | constexpr _Signed128& operator--() noexcept {
    method _Signed128 (line 1287) | constexpr _Signed128 operator--(int) noexcept {
    method _Signed128 (line 1305) | constexpr _Signed128 operator+(const _Signed128& _Left, const _Signed1...
    method _Signed128 (line 1312) | constexpr _Signed128& operator+=(const _Base128& _That) noexcept {
    method _Ty (line 1318) | constexpr _Ty& operator+=(_Ty& _Left, const _Signed128& _Right) noexce...
    method _Signed128 (line 1323) | constexpr _Signed128 operator-(const _Signed128& _Left, const _Signed1...
    method _Signed128 (line 1330) | constexpr _Signed128& operator-=(const _Base128& _That) noexcept {
    method _Ty (line 1336) | constexpr _Ty& operator-=(_Ty& _Left, const _Signed128& _Right) noexce...
    method _Strip_negative (line 1341) | constexpr void _Strip_negative(bool& _Flip) noexcept {
    method _Signed128 (line 1348) | constexpr _Signed128 operator*(_Signed128 _Left, _Signed128 _Right) no...
    method _Signed128 (line 1360) | _Signed128& operator*=(const _Ty _That) noexcept {
    method _Signed128 (line 1364) | constexpr _Signed128& operator*=(const _Signed128& _That) noexcept {
    method _Signed128 (line 1368) | constexpr _Signed128& operator*=(const _Unsigned128& _That) noexcept {
    method _Ty (line 1373) | constexpr _Ty& operator*=(_Ty& _Left, const _Signed128& _Right) noexce...
    method _Signed128 (line 1379) | constexpr _Signed128 operator/(_Signed128 _Num, _Ty _Den) noexcept {
    method _Signed128 (line 1404) | constexpr _Signed128 operator/(_Signed128 _Num, _Signed128 _Den) noexc...
    method _Signed128 (line 1416) | _Signed128& operator/=(const _Ty _That) noexcept {
    method _Signed128 (line 1420) | constexpr _Signed128& operator/=(const _Signed128& _That) noexcept {
    method _Signed128 (line 1424) | constexpr _Signed128& operator/=(const _Unsigned128& _That) noexcept {
    method _Ty (line 1429) | constexpr _Ty& operator/=(_Ty& _Left, const _Signed128& _Right) noexce...
    method _Signed128 (line 1434) | constexpr _Signed128 operator%(_Signed128 _Left, _Signed128 _Right) no...
    method _Signed128 (line 1451) | constexpr _Signed128 operator%(_Signed128 _Left, const _Ty _Right) noe...
    method _Signed128 (line 1456) | _Signed128& operator%=(const _Ty _That) noexcept {
    method _Signed128 (line 1460) | constexpr _Signed128& operator%=(const _Signed128& _That) noexcept {
    method _Signed128 (line 1464) | constexpr _Signed128& operator%=(const _Unsigned128& _That) noexcept {
    method _Ty (line 1469) | constexpr _Ty& operator%=(_Ty& _Left, const _Signed128& _Right) noexce...
    method _Div_ceil (line 1475) | _Div_ceil(_Signed128 _Num, _Signed128 _Den) noexcept {
    method _Signed128 (line 1482) | constexpr _Signed128 operator&(const _Signed128& _Left, const _Signed1...
    method _Signed128 (line 1486) | constexpr _Signed128& operator&=(const _Base128& _That) noexcept {
    method _Signed128 (line 1492) | constexpr _Signed128 operator^(const _Signed128& _Left, const _Signed1...
    method _Signed128 (line 1496) | constexpr _Signed128& operator^=(const _Base128& _That) noexcept {
    method _Signed128 (line 1502) | constexpr _Signed128 operator|(const _Signed128& _Left, const _Signed1...
    method _Signed128 (line 1506) | constexpr _Signed128& operator|=(const _Base128& _That) noexcept {
  type _Unsigned128 (line 846) | struct _Unsigned128 : _Base128 {
    method _Unsigned128 (line 851) | constexpr _Unsigned128() noexcept : _Base128{} {}
    method _Unsigned128 (line 855) | constexpr explicit _Unsigned128(const _Base128& _That) noexcept : _Bas...
    method _Unsigned128 (line 857) | constexpr _Unsigned128& operator=(const _Base128& _That) noexcept {
    method strong_ordering (line 863) | constexpr strong_ordering operator<=>(
    method _Unsigned128 (line 897) | constexpr _Unsigned128 operator<<(const _Unsigned128& _Left, const _Ba...
    method _Unsigned128 (line 904) | _Unsigned128& operator<<=(const _Ty _Count) noexcept {
    method _Unsigned128 (line 908) | constexpr _Unsigned128& operator<<=(const _Base128& _Count) noexcept {
    method _Unsigned128 (line 913) | constexpr _Unsigned128 operator>>(const _Unsigned128& _Left, const _Ba...
    method _Unsigned128 (line 920) | _Unsigned128& operator>>=(const _Ty _Count) noexcept {
    method _Unsigned128 (line 924) | constexpr _Unsigned128& operator>>=(const _Base128& _Count) noexcept {
    method _Unsigned128 (line 929) | constexpr _Unsigned128& operator++() noexcept {
    method _Unsigned128 (line 935) | constexpr _Unsigned128 operator++(int) noexcept {
    method _Unsigned128 (line 941) | constexpr _Unsigned128& operator--() noexcept {
    method _Unsigned128 (line 947) | constexpr _Unsigned128 operator--(int) noexcept {
    method _Unsigned128 (line 965) | constexpr _Unsigned128 operator+(const _Base128& _Left, const _Base128...
    method _Unsigned128 (line 972) | constexpr _Unsigned128& operator+=(const _Base128& _That) noexcept {
    method _Ty (line 978) | constexpr _Ty& operator+=(_Ty& _Left, const _Unsigned128& _Right) noex...
    method _Unsigned128 (line 983) | constexpr _Unsigned128 operator-(const _Base128& _Left, const _Base128...
    method _Unsigned128 (line 990) | constexpr _Unsigned128& operator-=(const _Base128& _That) noexcept {
    method _Ty (line 996) | constexpr _Ty& operator-=(_Ty& _Left, const _Unsigned128& _Right) noex...
    method _Unsigned128 (line 1001) | constexpr _Unsigned128 operator*(const _Base128& _Left, const _Base128...
    method _Unsigned128 (line 1005) | constexpr _Unsigned128& operator*=(const _Base128& _That) noexcept {
    method _Ty (line 1010) | constexpr _Ty& operator*=(_Ty& _Left, const _Unsigned128& _Right) noex...
    method _Unsigned128 (line 1016) | constexpr _Unsigned128 operator/(const _Unsigned128& _Num, const _Ty _...
    method _Unsigned128 (line 1026) | constexpr _Unsigned128 operator/(const _Base128& _Num, const _Base128&...
    method _Unsigned128 (line 1031) | _Unsigned128& operator/=(const _Ty _That) noexcept {
    method _Unsigned128 (line 1042) | constexpr _Unsigned128& operator/=(const _Base128& _That) noexcept {
    method _Ty (line 1047) | constexpr _Ty& operator/=(_Ty& _Left, const _Unsigned128& _Right) noex...
    method _Unsigned128 (line 1057) | constexpr _Unsigned128 operator%(const _Base128& _Num, const _Ty _Den)...
    method _Unsigned128 (line 1067) | constexpr _Unsigned128 operator%(const _Base128& _Num, const _Base128&...
    method _Unsigned128 (line 1072) | _Unsigned128& operator%=(const _Ty _Den) noexcept {
    method _Unsigned128 (line 1076) | constexpr _Unsigned128& operator%=(const _Base128& _Den) noexcept {
    method _Ty (line 1081) | constexpr _Ty& operator%=(_Ty& _Left, const _Unsigned128& _Right) noex...
    method _Unsigned128 (line 1088) | constexpr _Unsigned128 operator&(const _Base128& _Left, const _Base128...
    method _Unsigned128 (line 1092) | constexpr _Unsigned128& operator&=(const _Base128& _That) noexcept {
    method _Unsigned128 (line 1098) | constexpr _Unsigned128 operator^(const _Base128& _Left, const _Base128...
    method _Unsigned128 (line 1102) | constexpr _Unsigned128& operator^=(const _Base128& _That) noexcept {
    method _Unsigned128 (line 1108) | constexpr _Unsigned128 operator|(const _Base128& _Left, const _Base128...
    method _Unsigned128 (line 1112) | constexpr _Unsigned128& operator|=(const _Base128& _That) noexcept {
  class numeric_limits<_Unsigned128> (line 1120) | class numeric_limits<_Unsigned128> : public _Num_int_base {
    method _NODISCARD (line 1122) | _NODISCARD static constexpr _Unsigned128(min)() noexcept {
    method _NODISCARD (line 1126) | _NODISCARD static constexpr _Unsigned128(max)() noexcept {
    method lowest (line 1130) | lowest() noexcept {
    method epsilon (line 1134) | epsilon() noexcept {
    method round_error (line 1138) | round_error() noexcept {
    method denorm_min (line 1142) | denorm_min() noexcept {
    method infinity (line 1146) | infinity() noexcept {
    method quiet_NaN (line 1150) | quiet_NaN() noexcept {
    method signaling_NaN (line 1154) | signaling_NaN() noexcept {
  type _Signed128 (line 1163) | struct _Signed128 : _Base128 {
    method _Signed128 (line 1168) | constexpr _Signed128() noexcept : _Base128{} {}
    method _Signed128 (line 1172) | constexpr explicit _Signed128(const _Base128& _That) noexcept : _Base1...
    method _Signed128 (line 1174) | constexpr _Signed128& operator=(const _Base128& _That) noexcept {
    method strong_ordering (line 1180) | constexpr strong_ordering operator<=>(
    method _Signed128 (line 1214) | constexpr _Signed128 operator<<(const _Signed128& _Left, const _Base12...
    method _Signed128 (line 1221) | _Signed128& operator<<=(const _Ty _Count) noexcept {
    method _Signed128 (line 1225) | constexpr _Signed128& operator<<=(const _Base128& _Count) noexcept {
    method _Signed_right_shift (line 1230) | constexpr void _Signed_right_shift(const unsigned char _Count) noexcept {
    method _Signed128 (line 1253) | constexpr _Signed128 operator>>(const _Signed128& _Left, const _Base12...
    method _Signed128 (line 1260) | _Signed128& operator>>=(const _Ty _Count) noexcept {
    method _Signed128 (line 1264) | constexpr _Signed128& operator>>=(const _Base128& _Count) noexcept {
    method _Signed128 (line 1269) | constexpr _Signed128& operator++() noexcept {
    method _Signed128 (line 1275) | constexpr _Signed128 operator++(int) noexcept {
    method _Signed128 (line 1281) | constexpr _Signed128& operator--() noexcept {
    method _Signed128 (line 1287) | constexpr _Signed128 operator--(int) noexcept {
    method _Signed128 (line 1305) | constexpr _Signed128 operator+(const _Signed128& _Left, const _Signed1...
    method _Signed128 (line 1312) | constexpr _Signed128& operator+=(const _Base128& _That) noexcept {
    method _Ty (line 1318) | constexpr _Ty& operator+=(_Ty& _Left, const _Signed128& _Right) noexce...
    method _Signed128 (line 1323) | constexpr _Signed128 operator-(const _Signed128& _Left, const _Signed1...
    method _Signed128 (line 1330) | constexpr _Signed128& operator-=(const _Base128& _That) noexcept {
    method _Ty (line 1336) | constexpr _Ty& operator-=(_Ty& _Left, const _Signed128& _Right) noexce...
    method _Strip_negative (line 1341) | constexpr void _Strip_negative(bool& _Flip) noexcept {
    method _Signed128 (line 1348) | constexpr _Signed128 operator*(_Signed128 _Left, _Signed128 _Right) no...
    method _Signed128 (line 1360) | _Signed128& operator*=(const _Ty _That) noexcept {
    method _Signed128 (line 1364) | constexpr _Signed128& operator*=(const _Signed128& _That) noexcept {
    method _Signed128 (line 1368) | constexpr _Signed128& operator*=(const _Unsigned128& _That) noexcept {
    method _Ty (line 1373) | constexpr _Ty& operator*=(_Ty& _Left, const _Signed128& _Right) noexce...
    method _Signed128 (line 1379) | constexpr _Signed128 operator/(_Signed128 _Num, _Ty _Den) noexcept {
    method _Signed128 (line 1404) | constexpr _Signed128 operator/(_Signed128 _Num, _Signed128 _Den) noexc...
    method _Signed128 (line 1416) | _Signed128& operator/=(const _Ty _That) noexcept {
    method _Signed128 (line 1420) | constexpr _Signed128& operator/=(const _Signed128& _That) noexcept {
    method _Signed128 (line 1424) | constexpr _Signed128& operator/=(const _Unsigned128& _That) noexcept {
    method _Ty (line 1429) | constexpr _Ty& operator/=(_Ty& _Left, const _Signed128& _Right) noexce...
    method _Signed128 (line 1434) | constexpr _Signed128 operator%(_Signed128 _Left, _Signed128 _Right) no...
    method _Signed128 (line 1451) | constexpr _Signed128 operator%(_Signed128 _Left, const _Ty _Right) noe...
    method _Signed128 (line 1456) | _Signed128& operator%=(const _Ty _That) noexcept {
    method _Signed128 (line 1460) | constexpr _Signed128& operator%=(const _Signed128& _That) noexcept {
    method _Signed128 (line 1464) | constexpr _Signed128& operator%=(const _Unsigned128& _That) noexcept {
    method _Ty (line 1469) | constexpr _Ty& operator%=(_Ty& _Left, const _Signed128& _Right) noexce...
    method _Div_ceil (line 1475) | _Div_ceil(_Signed128 _Num, _Signed128 _Den) noexcept {
    method _Signed128 (line 1482) | constexpr _Signed128 operator&(const _Signed128& _Left, const _Signed1...
    method _Signed128 (line 1486) | constexpr _Signed128& operator&=(const _Base128& _That) noexcept {
    method _Signed128 (line 1492) | constexpr _Signed128 operator^(const _Signed128& _Left, const _Signed1...
    method _Signed128 (line 1496) | constexpr _Signed128& operator^=(const _Base128& _That) noexcept {
    method _Signed128 (line 1502) | constexpr _Signed128 operator|(const _Signed128& _Left, const _Signed1...
    method _Signed128 (line 1506) | constexpr _Signed128& operator|=(const _Base128& _That) noexcept {
  class numeric_limits<_Signed128> (line 1514) | class numeric_limits<_Signed128> : public _Num_int_base {
    method _NODISCARD (line 1516) | _NODISCARD static constexpr _Signed128(min)() noexcept {
    method _NODISCARD (line 1520) | _NODISCARD static constexpr _Signed128(max)() noexcept {
    method _NODISCARD (line 1524) | _NODISCARD static constexpr _Signed128 lowest() noexcept {
    method _NODISCARD (line 1528) | _NODISCARD static constexpr _Signed128 epsilon() noexcept {
    method _NODISCARD (line 1532) | _NODISCARD static constexpr _Signed128 round_error() noexcept {
    method _NODISCARD (line 1536) | _NODISCARD static constexpr _Signed128 denorm_min() noexcept {
    method _NODISCARD (line 1540) | _NODISCARD static constexpr _Signed128 infinity() noexcept {
    method _NODISCARD (line 1544) | _NODISCARD static constexpr _Signed128 quiet_NaN() noexcept {
    method _NODISCARD (line 1548) | _NODISCARD static constexpr _Signed128 signaling_NaN() noexcept {
  type common_type<_Signed128, _Unsigned128> (line 1558) | struct common_type<_Signed128, _Unsigned128> {
  type common_type<_Unsigned128, _Signed128> (line 1562) | struct common_type<_Unsigned128, _Signed128> {
  function _NODISCARD (line 1570) | _NODISCARD constexpr _Unsigned128 _Min_limit<_Unsigned128>() noexcept {
  function _NODISCARD (line 1575) | _NODISCARD constexpr _Signed128 _Min_limit<_Signed128>() noexcept {
  function _NODISCARD (line 1583) | _NODISCARD constexpr _Unsigned128 _Max_limit<_Unsigned128>() noexcept {
  function _NODISCARD (line 1588) | _NODISCARD constexpr _Signed128 _Max_limit<_Signed128>() noexcept {

FILE: stl/inc/__msvc_iter_core.hpp
  type _Has_allocator_type<_Ty, _Alloc, void_t<typename _Ty::allocator_type>> (line 30) | struct _Has_allocator_type<_Ty, _Alloc, void_t<typename _Ty::allocator_t...
  function _EXPORT_STD (line 33) | _EXPORT_STD struct allocator_arg_t { // tag type for added allocator arg...
  type incrementable_traits (line 92) | struct incrementable_traits {}
  type incrementable_traits<_Ty*> (line 96) | struct incrementable_traits<_Ty*> {
  type incrementable_traits<const _Ty> (line 101) | struct incrementable_traits<const _Ty> : incrementable_traits<_Ty> {}
  type incrementable_traits<_Ty> (line 104) | struct incrementable_traits<_Ty> {
  type incrementable_traits<_Ty> (line 115) | struct incrementable_traits<_Ty> {
  type iterator_traits (line 123) | struct iterator_traits
  type _Cond_value_type (line 130) | struct _Cond_value_type {}
  type _Cond_value_type<_Ty> (line 134) | struct _Cond_value_type<_Ty> {
  type indirectly_readable_traits (line 139) | struct indirectly_readable_traits {}
  type indirectly_readable_traits<_Ty*> (line 142) | struct indirectly_readable_traits<_Ty*> : _Cond_value_type<_Ty> {}
  type indirectly_readable_traits<_Ty> (line 146) | struct indirectly_readable_traits<_Ty> {
  type indirectly_readable_traits<const _Ty> (line 151) | struct indirectly_readable_traits<const _Ty> : indirectly_readable_trait...
  type indirectly_readable_traits<_Ty> (line 154) | struct indirectly_readable_traits<_Ty> : _Cond_value_type<typename _Ty::...
  type indirectly_readable_traits<_Ty> (line 157) | struct indirectly_readable_traits<_Ty> : _Cond_value_type<typename _Ty::...
  type indirectly_readable_traits<_Ty> (line 161) | struct indirectly_readable_traits<_Ty> {}
  type indirectly_readable_traits<_Ty> (line 166) | struct indirectly_readable_traits<_Ty> : _Cond_value_type<typename _Ty::...
  type _Iterator_traits_base (line 176) | struct _Iterator_traits_base {}
  type _Old_iter_traits_pointer (line 183) | struct _Old_iter_traits_pointer {
  type _Old_iter_traits_pointer<false> (line 189) | struct _Old_iter_traits_pointer<false> {
  type _Iterator_traits_base<_It> (line 195) | struct _Iterator_traits_base<_It> {
  type _Iter_traits_difference (line 204) | struct _Iter_traits_difference {
  type _Iter_traits_difference<false> (line 210) | struct _Iter_traits_difference<false> {
  type _Iterator_traits_base<_It> (line 233) | struct _Iterator_traits_base<_It> {
  type _Itraits_pointer_strategy (line 242) | enum class _Itraits_pointer_strategy { _Use_void, _Use_member, _Use_decl...
  type _Iter_traits_pointer (line 245) | struct _Iter_traits_pointer
  type _Iter_traits_pointer<_Itraits_pointer_strategy::_Use_void> (line 248) | struct _Iter_traits_pointer<_Itraits_pointer_strategy::_Use_void> {
  type _Iter_traits_pointer<_Itraits_pointer_strategy::_Use_member> (line 254) | struct _Iter_traits_pointer<_Itraits_pointer_strategy::_Use_member> {
  type _Iter_traits_pointer<_Itraits_pointer_strategy::_Use_decltype> (line 260) | struct _Iter_traits_pointer<_Itraits_pointer_strategy::_Use_decltype> {
  type _Iter_traits_reference (line 269) | struct _Iter_traits_reference {
  type _Iter_traits_reference<false> (line 275) | struct _Iter_traits_reference<false> {
  type _Iter_traits_category4 (line 281) | struct _Iter_traits_category4 {
  type _Iter_traits_category4<false> (line 286) | struct _Iter_traits_category4<false> {
  type _Iter_traits_category3 (line 303) | struct _Iter_traits_category3 {
  type _Iter_traits_category3<false> (line 309) | struct _Iter_traits_category3<false> {
  type _Iter_traits_category2 (line 322) | struct _Iter_traits_category2 {
  type _Iter_traits_category2<false> (line 328) | struct _Iter_traits_category2<false> {
  type _Iter_traits_category (line 343) | struct _Iter_traits_category {
  type _Iter_traits_category<false> (line 349) | struct _Iter_traits_category<false> {
  type _Iterator_traits_base<_It> (line 356) | struct _Iterator_traits_base<_It> {
  type iterator_traits<_Ty*> (line 374) | struct iterator_traits<_Ty*> {
  type ranges (line 425) | namespace ranges {
    class subrange (line 431) | class subrange
  type tuple_size<ranges::subrange<_It, _Se, _Ki>> (line 448) | struct tuple_size<ranges::subrange<_It, _Se, _Ki>> : integral_constant<s...
  type tuple_element<0, ranges::subrange<_It, _Se, _Ki>> (line 451) | struct tuple_element<0, ranges::subrange<_It, _Se, _Ki>> {
  type tuple_element<1, ranges::subrange<_It, _Se, _Ki>> (line 456) | struct tuple_element<1, ranges::subrange<_It, _Se, _Ki>> {
  type tuple_element<0, const ranges::subrange<_It, _Se, _Ki>> (line 461) | struct tuple_element<0, const ranges::subrange<_It, _Se, _Ki>> {
  type tuple_element<1, const ranges::subrange<_It, _Se, _Ki>> (line 466) | struct tuple_element<1, const ranges::subrange<_It, _Se, _Ki>> {
  type _Iterator_traits_base (line 471) | struct _Iterator_traits_base {}
  type _Iterator_traits_base<_Iter,
    void_t<typename _Iter::iterator_category, typename _Iter::value_type, typename _Iter::difference_type,
        typename _Iter::pointer, typename _Iter::reference>> (line 474) | struct _Iterator_traits_base<_Iter,
  type _Iterator_traits_pointer_base (line 486) | struct _Iterator_traits_pointer_base { // iterator properties for pointe...
  type _Iterator_traits_pointer_base<_Ty, false> (line 495) | struct _Iterator_traits_pointer_base<_Ty, false> {}
  type iterator_traits (line 498) | struct iterator_traits : _Iterator_traits_base<_Iter> {}
  type iterator_traits<_Ty*> (line 501) | struct iterator_traits<_Ty*> : _Iterator_traits_pointer_base<_Ty> {}
  function _Meta_find_index_i_ (line 512) | constexpr size_t _Meta_find_index_i_(const bool* const _Ptr, const size_...
  type _Meta_find_unique_index_ (line 524) | struct _Meta_find_unique_index_ {
  function _Meta_find_unique_index_i_2 (line 532) | constexpr size_t _Meta_find_unique_index_i_2(const bool* const _Ptr, con...
  function _Meta_find_unique_index_i_ (line 538) | constexpr size_t _Meta_find_unique_index_i_(const bool* const _Ptr, cons...
  type _Meta_find_unique_index_<_List<_First, _Rest...>, _Ty> (line 544) | struct _Meta_find_unique_index_<_List<_First, _Rest...>, _Ty> {

FILE: stl/inc/__msvc_minmax.hpp
  type _Min_max_element_t (line 20) | struct _Min_max_element_t {
  type _Min_max_1i (line 25) | struct _Min_max_1i {
  type _Min_max_1u (line 30) | struct _Min_max_1u {
  type _Min_max_2i (line 35) | struct _Min_max_2i {
  type _Min_max_2u (line 40) | struct _Min_max_2u {
  type _Min_max_4i (line 45) | struct _Min_max_4i {
  type _Min_max_4u (line 50) | struct _Min_max_4u {
  type _Min_max_8i (line 55) | struct _Min_max_8i {
  type _Min_max_8u (line 60) | struct _Min_max_8u {
  type _Min_max_f (line 65) | struct _Min_max_f {
  type _Min_max_d (line 70) | struct _Min_max_d {
  type _Min_max_p (line 75) | struct _Min_max_p {

FILE: stl/inc/__msvc_ostream.hpp
  function public (line 23) | virtual public basic_ios<_Elem, _Traits> { // control insertions into a ...
  function __CLR_OR_THIS_CALL (line 61) | __CLR_OR_THIS_CALL ~basic_ostream() noexcept override {}
  class _Sentry_base (line 67) | class _Sentry_base { // stores thread lock and reference to output stream
    method __CLR_OR_THIS_CALL (line 69) | __CLR_OR_THIS_CALL _Sentry_base(basic_ostream& _Ostr) : _Myostr(_Ostr)...
    method __CLR_OR_THIS_CALL (line 76) | __CLR_OR_THIS_CALL ~_Sentry_base() noexcept { // destroy after unlocking
    method _Sentry_base (line 85) | _Sentry_base& operator=(const _Sentry_base&) = delete;
  class sentry (line 88) | class sentry : public _Sentry_base {
    method __CLR_OR_THIS_CALL (line 122) | __CLR_OR_THIS_CALL operator bool() const {
    method __CLR_OR_THIS_CALL (line 126) | __CLR_OR_THIS_CALL sentry(const sentry&)            = delete;
  function basic_ostream (line 464) | basic_ostream& operator<<(const volatile void* _Val) {
  function basic_ostream (line 471) | basic_ostream& operator<<(nullptr_t) { // insert a null pointer
  function _CATCH_END (line 490) | _CATCH_END
  function _TRY_IO_BEGIN (line 496) | _TRY_IO_BEGIN
  function _TRY_IO_BEGIN (line 528) | _TRY_IO_BEGIN
  function pos_type (line 609) | pos_type __CLR_OR_THIS_CALL tellp() {
  class _CRTIMP2_PURE_IMPORT (line 674) | class _CRTIMP2_PURE_IMPORT
  class _CRTIMP2_PURE_IMPORT (line 675) | class _CRTIMP2_PURE_IMPORT
  class _CRTIMP2_PURE_IMPORT (line 679) | class _CRTIMP2_PURE_IMPORT
  function _EXPORT_STD (line 683) | _EXPORT_STD template <class _Elem, class _Traits>
  function _EXPORT_STD (line 727) | _EXPORT_STD template <class _Elem, class _Traits>
  function _EXPORT_STD (line 763) | _EXPORT_STD template <class _Traits>
  function _EXPORT_STD (line 808) | _EXPORT_STD template <class _Traits>
  function _EXPORT_STD (line 846) | _EXPORT_STD template <class _Elem, class _Traits>
  function _EXPORT_STD (line 889) | _EXPORT_STD template <class _Elem, class _Traits>
  function _EXPORT_STD (line 925) | _EXPORT_STD template <class _Traits>
  function _EXPORT_STD (line 931) | _EXPORT_STD template <class _Traits>
  function _EXPORT_STD (line 936) | _EXPORT_STD template <class _Traits>
  function _EXPORT_STD (line 942) | _EXPORT_STD template <class _Traits>
  type _Can_stream_out (line 993) | struct _Can_stream_out : false_type {}
  type _Can_stream_out<_Ostr, _Ty, void_t<decltype(_STD declval<_Ostr&>() << _STD declval<const _Ty&>())>> (line 996) | struct _Can_stream_out<_Ostr, _Ty, void_t<decltype(_STD declval<_Ostr&>(...
  function _EXPORT_STD (line 1006) | _EXPORT_STD template <class _Elem, class _Traits>
  function _EXPORT_STD (line 1014) | _EXPORT_STD template <class _Elem, class _Traits>
  function _EXPORT_STD (line 1020) | _EXPORT_STD template <class _Elem, class _Traits>
  function _EXPORT_STD (line 1026) | _EXPORT_STD template <class _Elem, class _Traits>

FILE: stl/inc/__msvc_print.hpp
  type __std_unicode_console_handle (line 27) | enum class __std_unicode_console_handle : intptr_t { _Invalid = -1 }
  type __std_unicode_console_retrieval_result (line 29) | struct __std_unicode_console_retrieval_result {
  function _STD_BEGIN (line 63) | _STD_BEGIN

FILE: stl/inc/__msvc_ranges_to.hpp
  function _STD_BEGIN (line 31) | _STD_BEGIN
  type views (line 592) | namespace views {
    class _All_fn (line 599) | class _All_fn : public _Pipe::_Base<_All_fn> {
      type _St (line 601) | enum class _St { _None, _View, _Ref, _Own }
      method _NODISCARD (line 604) | _NODISCARD static consteval _Choice_t<_St> _Choose() noexcept {
      method _NODISCARD (line 624) | _NODISCARD static constexpr auto operator()(_Rng&& _Range) noexcept(...
    type _Transform_fn (line 1046) | struct _Transform_fn {
      method _NODISCARD (line 1048) | _NODISCARD static constexpr auto operator()(_Rng&& _Range, _Fn _Fun)
      method _NODISCARD (line 1057) | _NODISCARD static constexpr auto operator()(_Fn&& _Fun)
  function _EXPORT_STD (line 645) | _EXPORT_STD template <input_range _Vw, _Valid_movable_box_object _Fn>
  type views (line 1045) | namespace views {
    class _All_fn (line 599) | class _All_fn : public _Pipe::_Base<_All_fn> {
      type _St (line 601) | enum class _St { _None, _View, _Ref, _Own }
      method _NODISCARD (line 604) | _NODISCARD static consteval _Choice_t<_St> _Choose() noexcept {
      method _NODISCARD (line 624) | _NODISCARD static constexpr auto operator()(_Rng&& _Range) noexcept(...
    type _Transform_fn (line 1046) | struct _Transform_fn {
      method _NODISCARD (line 1048) | _NODISCARD static constexpr auto operator()(_Rng&& _Range, _Fn _Fun)
      method _NODISCARD (line 1057) | _NODISCARD static constexpr auto operator()(_Fn&& _Fun)
  function _Container (line 1107) | constexpr _Container to(_Rng&& _Range, _Types&&... _Args) {
  type _To_class_fn (line 1161) | struct _To_class_fn {
    method _NODISCARD (line 1168) | _NODISCARD static constexpr auto operator()(_Rng&& _Range, _Types&&......
  function to (line 1177) | constexpr auto to(_Types&&... _Args) {
  type _Phony_input_iterator (line 1186) | struct _Phony_input_iterator {
  function _To_helper (line 1199) | auto _To_helper() {
  function _Deduced (line 1215) | constexpr _Deduced to(_Rng&& _Range, _Types&&... _Args) {
  type _To_template_fn (line 1220) | struct _To_template_fn {
    method _NODISCARD (line 1223) | _NODISCARD static constexpr auto operator()(_Rng&& _Range, _Types&&......

FILE: stl/inc/__msvc_ranges_tuple_formatter.hpp
  function _NODISCARD (line 75) | _NODISCARD constexpr const _CharT* _Choose_literal(const char* const _St...
  function _EXPORT_STD (line 87) | _EXPORT_STD class _NODISCARD format_error : public runtime_error {
  function _Throw_format_error (line 91) | [[noreturn]] inline void _Throw_format_error(const char* const _Message) {
  function _You_see_this_error_because_arg_id_is_out_of_range (line 95) | inline void _You_see_this_error_because_arg_id_is_out_of_range() noexcep...
  function _Invalid_arg_type_for_dynamic_width_or_precision (line 96) | inline void _Invalid_arg_type_for_dynamic_width_or_precision() noexcept {}
  class _Compile_time_parse_context (line 99) | class _Compile_time_parse_context
    method _Compile_time_parse_context (line 194) | constexpr _Compile_time_parse_context(const basic_string_view<_CharT> ...
  function basic_format_parse_context (line 108) | constexpr explicit basic_format_parse_context(
  function basic_format_parse_context (line 112) | basic_format_parse_context(const basic_format_parse_context&)           ...
  function _NODISCARD (line 115) | _NODISCARD constexpr const_iterator begin() const noexcept {
  function _NODISCARD (line 118) | _NODISCARD constexpr const_iterator end() const noexcept {
  function _NODISCARD (line 121) | _NODISCARD constexpr const _CharT* _Unchecked_begin() const noexcept {
  function _NODISCARD (line 124) | _NODISCARD constexpr const _CharT* _Unchecked_end() const noexcept {
  function advance_to (line 128) | constexpr void advance_to(const const_iterator _It) {
  function _NODISCARD (line 140) | _NODISCARD constexpr size_t next_arg_id() {
  function check_arg_id (line 154) | constexpr void check_arg_id(const size_t _Id) {
  function _Check_dynamic_spec_integral (line 167) | constexpr void _Check_dynamic_spec_integral(const size_t _Idx) noexcept {
  class _Compile_time_parse_context (line 190) | class _Compile_time_parse_context : public basic_format_parse_context<_C...
    method _Compile_time_parse_context (line 194) | constexpr _Compile_time_parse_context(const basic_string_view<_CharT> ...
  type _Format_arg_traits (line 214) | struct _Format_arg_traits {
  class _CharT (line 233) | class _CharT
  function _FMT_P2286_END (line 235) | _FMT_P2286_END
  function _Visit (line 303) | decltype(auto) _Visit(_Visitor&& _Vis) {
  function basic_format_arg (line 345) | explicit basic_format_arg(const int _Val) noexcept
  function basic_format_arg (line 347) | explicit basic_format_arg(const unsigned int _Val) noexcept
  function basic_format_arg (line 349) | explicit basic_format_arg(const long long _Val) noexcept
  function basic_format_arg (line 351) | explicit basic_format_arg(const unsigned long long _Val) noexcept
  function basic_format_arg (line 353) | explicit basic_format_arg(const bool _Val) noexcept
  function basic_format_arg (line 355) | explicit basic_format_arg(const _CharType _Val) noexcept
  function basic_format_arg (line 357) | explicit basic_format_arg(const float _Val) noexcept
  function basic_format_arg (line 359) | explicit basic_format_arg(const double _Val) noexcept
  function basic_format_arg (line 361) | explicit basic_format_arg(const long double _Val) noexcept
  function basic_format_arg (line 363) | explicit basic_format_arg(const void* _Val) noexcept
  function basic_format_arg (line 365) | explicit basic_format_arg(const _CharType* _Val) noexcept
  function basic_format_arg (line 367) | explicit basic_format_arg(const basic_string_view<_CharType> _Val) noexcept
  function basic_format_arg (line 369) | explicit basic_format_arg(const handle _Val) noexcept
  function _NODISCARD (line 438) | _NODISCARD consteval _Basic_format_arg_type _Get_format_arg_type() noexc...
  function _EXPORT_STD (line 472) | _EXPORT_STD template <class _Visitor, class _Context>
  type _Format_arg_index (line 477) | struct _Format_arg_index {
    method _Format_arg_index (line 480) | constexpr _Format_arg_index() = default;
    method _Format_arg_index (line 481) | constexpr explicit _Format_arg_index(const size_t _Index_) noexcept : ...
    method _Type (line 485) | _Type() const noexcept {
    method _Type (line 489) | constexpr void _Type(_Basic_format_arg_type _Val) noexcept {
  function _Format_arg_store (line 498) | class _Format_arg_store {
  class _Format_arg_store<_Context> (line 564) | class _Format_arg_store<_Context> {}
  function basic_format_args (line 572) | basic_format_args(const _Format_arg_store<_Context, _Args...>& _Store) n...
  function _NODISCARD (line 575) | _NODISCARD basic_format_arg<_Context> get(const size_t _Index) const noe...
  function _NODISCARD (line 621) | _NODISCARD size_t _Estimate_required_capacity() const noexcept {
  function _Get_value_from_memory (line 642) | private:
  class _Lazy_locale (line 661) | class _Lazy_locale {
    method _Lazy_locale (line 666) | _Lazy_locale() = default;
    method _Lazy_locale (line 668) | explicit _Lazy_locale(const locale& _Loc_) : _Loc(&_Loc_) {}
    method _Lazy_locale (line 670) | explicit _Lazy_locale(const locale&&) = delete;
    method _NODISCARD (line 672) | _NODISCARD locale _Get() const {
  function _EXPORT_STD (line 681) | _EXPORT_STD template <class _Out, class _CharT>
  class _Fmt_buffer (line 730) | class _Fmt_buffer {
    method _Fmt_buffer (line 737) | explicit _Fmt_buffer(const size_t _Size) noexcept : _Size_(_Size), _Ca...
    method _Fmt_buffer (line 741) | _Fmt_buffer(_Ty* _Data, const size_t _Size, const size_t _Capacity) no...
    method _Set (line 744) | void _Set(_Ty* _Buf_data, const size_t _Buf_capacity) noexcept {
    method _Fmt_buffer (line 754) | _Fmt_buffer(const _Fmt_buffer&)    = delete;
    method _NODISCARD (line 757) | _NODISCARD _Ty* begin() noexcept {
    method _NODISCARD (line 761) | _NODISCARD _Ty* end() noexcept {
    method _NODISCARD (line 765) | _NODISCARD size_t _Size() const noexcept {
    method _NODISCARD (line 769) | _NODISCARD size_t _Capacity() const noexcept {
    method _Clear (line 773) | void _Clear() noexcept {
    method _Try_reserve (line 777) | void _Try_reserve(const size_t _New_capacity) {
    method push_back (line 783) | void push_back(const _Ty _Value) {
  type _Fmt_buffer_traits (line 789) | struct _Fmt_buffer_traits {
    method _Fmt_buffer_traits (line 790) | explicit _Fmt_buffer_traits(ptrdiff_t) {}
    method _NODISCARD (line 792) | _NODISCARD size_t _Count() const noexcept {
    method _NODISCARD (line 796) | _NODISCARD size_t _Limit(const size_t _Size) noexcept {
  type _Fmt_iterator_flush (line 804) | struct _Fmt_iterator_flush {
    method _OutputIt (line 806) | static _OutputIt _Flush(const _Ty* const _First, const _Ty* const _Las...
  type _Back_insert_iterator_container_access (line 812) | struct _Back_insert_iterator_container_access : back_insert_iterator<_Co...
    method _Back_insert_iterator_container_access (line 813) | explicit _Back_insert_iterator_container_access(back_insert_iterator<_...
  type _Fmt_iterator_flush<back_insert_iterator<_Container>> (line 821) | struct _Fmt_iterator_flush<back_insert_iterator<_Container>> {
    method _OutputIt (line 825) | static _OutputIt _Flush(const _Ty* const _First, const _Ty* const _Las...
  class _Fmt_iterator_buffer (line 833) | class _Fmt_iterator_buffer final : public _Traits, public _Fmt_buffer<_T...
    method _Grow (line 838) | void _Grow(size_t) final {
    method _Flush (line 844) | void _Flush() {
    method _Fmt_iterator_buffer (line 853) | explicit _Fmt_iterator_buffer(_OutputIt _Out, ptrdiff_t _Size = _Fmt_b...
    method _NODISCARD (line 862) | _NODISCARD _OutputIt _Out() {
    method _NODISCARD (line 867) | _NODISCARD ptrdiff_t _Count() const noexcept {
  class _Fmt_iterator_buffer<_Ty*, _Ty> (line 873) | class _Fmt_iterator_buffer<_Ty*, _Ty> final : public _Fmt_buffer<_Ty> {
    method _Grow (line 875) | void _Grow(size_t) final {}
    method _Fmt_iterator_buffer (line 878) | explicit _Fmt_iterator_buffer(_Ty* _Out, ptrdiff_t = 0) : _Fmt_buffer<...
    method _NODISCARD (line 880) | _NODISCARD _Ty* _Out() noexcept {
  type _Phony_fmt_iter_for (line 887) | struct _Phony_fmt_iter_for {
  type _Range_specs (line 901) | struct _Range_specs : _Fill_align_and_width_specs<_CharT> {
  function _EXPORT_STD (line 906) | _EXPORT_STD template <class _Ty, class _CharT = char>
  function set_brackets (line 921) | constexpr void set_brackets(basic_string_view<_CharT> _Opening, basic_st...
  function _NODISCARD (line 926) | _NODISCARD constexpr formatter<_Ty, _CharT>& underlying() noexcept {
  function _NODISCARD (line 930) | _NODISCARD constexpr const formatter<_Ty, _CharT>& underlying() const no...
  function format (line 940) | _FormatContext::iterator format(_Range&& _Rng, _FormatContext& _Ctx) con...
  type _Range_default_formatter (line 964) | struct _Range_default_formatter
  type _Range_default_formatter<range_format::sequence, _Rng, _CharT> (line 967) | struct _Range_default_formatter<range_format::sequence, _Rng, _CharT> {
    method set_separator (line 974) | constexpr void set_separator(const basic_string_view<_CharT> _Sep) noe...
    method set_brackets (line 978) | constexpr void set_brackets(
    method parse (line 984) | constexpr _ParseContext::iterator parse(_ParseContext& _Ctx) {
    method format (line 989) | _FormatContext::iterator format(_Range_type& _Elems, _FormatContext& _...
  type _Range_default_formatter<range_format::map, _Rng, _CharT> (line 995) | struct _Range_default_formatter<range_format::map, _Rng, _CharT> {
    method _Range_default_formatter (line 1003) | constexpr _Range_default_formatter()
    method parse (line 1014) | constexpr _ParseContext::iterator parse(_ParseContext& _Ctx) {
    method format (line 1019) | _FormatContext::iterator format(_Map_type& _Rx, _FormatContext& _Ctx) ...
  type _Range_default_formatter<range_format::set, _Rng, _CharT> (line 1025) | struct _Range_default_formatter<range_format::set, _Rng, _CharT> {
    method _Range_default_formatter (line 1031) | constexpr _Range_default_formatter() noexcept(is_nothrow_default_const...
    method parse (line 1037) | constexpr _ParseContext::iterator parse(_ParseContext& _Ctx) {
    method format (line 1042) | _FormatContext::iterator format(_Set_type& _Rx, _FormatContext& _Ctx) ...
  type _Range_default_formatter<_Kind, _Rng, _CharT> (line 1049) | struct _Range_default_formatter<_Kind, _Rng, _CharT> {
    method parse (line 1061) | constexpr _ParseContext::iterator parse(_ParseContext& _Ctx) {
    method format (line 1070) | _FormatContext::iterator format(_Range_type& _Rx, _FormatContext& _Ctx...
    method else (line 1082) | else {
  type formatter<_Rng, _CharT> (line 1092) | struct formatter<_Rng, _CharT> {
    method formatter (line 1093) | formatter()                            = delete;
    method formatter (line 1094) | formatter(const formatter&)            = delete;
    method formatter (line 1095) | formatter& operator=(const formatter&) = delete;
  type formatter<_Rng, _CharT> (line 1100) | struct formatter<_Rng, _CharT> : _Range_default_formatter<format_kind<_R...
    method formatter (line 1093) | formatter()                            = delete;
    method formatter (line 1094) | formatter(const formatter&)            = delete;
    method formatter (line 1095) | formatter& operator=(const formatter&) = delete;
  type _Adaptor_formatter_base (line 1105) | struct _Adaptor_formatter_base {
    method parse (line 1115) | constexpr _ParseContext::iterator parse(_ParseContext& _Ctx) {
    method format (line 1120) | _FormatContext::iterator format(_Maybe_const_adaptor& _Adaptor, _Forma...
  class _Tuple_formatter_common_base (line 1135) | class _Tuple_formatter_common_base {
    method set_separator (line 1151) | constexpr void set_separator(const basic_string_view<_CharT> _Sep) noe...
    method set_brackets (line 1155) | constexpr void set_brackets(
  type _Tuple_formatter_base (line 1169) | struct _Tuple_formatter_base {
    method _Tuple_formatter_base (line 1170) | _Tuple_formatter_base()                                        = delete;
    method _Tuple_formatter_base (line 1171) | _Tuple_formatter_base(const _Tuple_formatter_base&)            = delete;
    method _Tuple_formatter_base (line 1172) | _Tuple_formatter_base& operator=(const _Tuple_formatter_base&) = delete;
  type _Tuple_formatter_base<pair<_Ty1, _Ty2>, _CharT> (line 1176) | struct _Tuple_formatter_base<pair<_Ty1, _Ty2>, _CharT> : _Tuple_formatte...
    method format (line 1183) | _FormatContext::iterator format(_Formatted_type& _Elems, _FormatContex...
  type _Tuple_formatter_base<tuple<_Types...>, _CharT> (line 1189) | struct _Tuple_formatter_base<tuple<_Types...>, _CharT> : _Tuple_formatte...
    method format (line 1196) | _FormatContext::iterator format(_Formatted_type& _Elems, _FormatContex...
  type _Tuple_formatter_base<pair<_Ty1, _Ty2>, _CharT> (line 1208) | struct _Tuple_formatter_base<pair<_Ty1, _Ty2>, _CharT>
    method format (line 1183) | _FormatContext::iterator format(_Formatted_type& _Elems, _FormatContex...
  type _Tuple_formatter_base<tuple<_Types...>, _CharT> (line 1216) | struct _Tuple_formatter_base<tuple<_Types...>, _CharT>
    method format (line 1196) | _FormatContext::iterator format(_Formatted_type& _Elems, _FormatContex...
  type formatter<pair<_Ty1, _Ty2>, _CharT> (line 1223) | struct formatter<pair<_Ty1, _Ty2>, _CharT> : _Tuple_formatter_base<pair<...
  type formatter<tuple<_Types...>, _CharT> (line 1226) | struct formatter<tuple<_Types...>, _CharT> : _Tuple_formatter_base<tuple...

FILE: stl/inc/__msvc_string_view.hpp
  function _Find_first_of_pos_vectorized (line 87) | size_t _Find_first_of_pos_vectorized(const _Ty1* const _Haystack, const ...
  function _Find_last_of_pos_vectorized (line 106) | size_t _Find_last_of_pos_vectorized(const _Ty1* const _Haystack, const s...
  function _Ty (line 121) | const _Ty* _Find_not_ch_vectorized(const _Ty* const _First, const _Ty* c...
  function _Find_last_not_ch_pos_vectorized (line 138) | size_t _Find_last_not_ch_pos_vectorized(const _Ty* const _First, const _...
  function _Find_first_not_of_pos_vectorized (line 155) | size_t _Find_first_not_of_pos_vectorized(const _Ty1* const _Haystack, co...
  function _Find_last_not_of_pos_vectorized (line 170) | size_t _Find_last_not_of_pos_vectorized(const _Ty1* const _Haystack, con...
  type _Char_traits (line 190) | struct _Char_traits { // properties of a string or stream element
    method _CONSTEXPR20 (line 202) | static _CONSTEXPR20 _Elem* copy(_Out_writes_all_(_Count) _Elem* const ...
    method _CONSTEXPR20 (line 225) | static _CONSTEXPR20 _Elem* _Copy_s(_Out_writes_all_(_Dest_size)
    method _CONSTEXPR20 (line 233) | static _CONSTEXPR20 _Elem* move(_Out_writes_all_(_Count) _Elem* const ...
    method compare (line 281) | int compare(_In_reads_(_Count) const _Elem* _First1,
    method length (line 293) | size_t length(_In_z_ const _Elem* _First) noexcept /* strengthened */ {
    method _Elem (line 304) | const _Elem* find(
    method _CONSTEXPR20 (line 316) | static _CONSTEXPR20 _Elem* assign(
    method _CONSTEXPR17 (line 326) | static _CONSTEXPR17 void assign(_Elem& _Left, const _Elem& _Right) noe...
    method _NODISCARD (line 330) | _NODISCARD static constexpr bool eq(const _Elem _Left, const _Elem _Ri...
    method _NODISCARD (line 334) | _NODISCARD static constexpr bool lt(const _Elem _Left, const _Elem _Ri...
    method _NODISCARD (line 338) | _NODISCARD static constexpr _Elem to_char_type(const int_type _Meta) n...
    method _NODISCARD (line 342) | _NODISCARD static constexpr int_type to_int_type(const _Elem _Ch) noex...
    method _NODISCARD (line 346) | _NODISCARD static constexpr bool eq_int_type(const int_type _Left, con...
    method _NODISCARD (line 350) | _NODISCARD static constexpr int_type not_eof(const int_type _Meta) noe...
    method _NODISCARD (line 354) | _NODISCARD static constexpr int_type eof() noexcept {
  function compare (line 379) | int compare(_In_reads_(_Count) const _Elem* const _First1,
  function length (line 401) | size_t length(_In_z_ const _Elem* _First) noexcept /* strengthened */ {
  class _Elem (line 477) | class _Elem
  type char_traits (line 478) | struct char_traits : _Char_traits<_Elem, long> {}
  type char_traits<char16_t> (line 481) | struct char_traits<char16_t> : _WChar_traits<char16_t> {}
  type char_traits<char32_t> (line 484) | struct char_traits<char32_t> : _Char_traits<char32_t, unsigned int> {}
  type char_traits<wchar_t> (line 487) | struct char_traits<wchar_t> : _WChar_traits<wchar_t> {}
  type char_traits<unsigned short> (line 491) | struct char_traits<unsigned short> : _WChar_traits<unsigned short> {}
  type _Narrow_char_traits (line 512) | struct _Narrow_char_traits : private _Char_traits<_Elem, _Int_type> {
    method compare (line 531) | int compare(_In_reads_(_Count) const _Elem* const _First1,
    method length (line 541) | size_t length(_In_z_ const _Elem* const _First) noexcept /* strengthen...
    method _Elem (line 561) | const _Elem* find(_In_reads_(_Count) const _Elem* const _First, const ...
    method _CONSTEXPR20 (line 582) | static _CONSTEXPR20 _Elem* assign(
    method _CONSTEXPR17 (line 594) | static _CONSTEXPR17 void assign(_Elem& _Left, const _Elem& _Right) noe...
    method _NODISCARD (line 598) | _NODISCARD static constexpr bool eq(const _Elem _Left, const _Elem _Ri...
    method _NODISCARD (line 602) | _NODISCARD static constexpr bool lt(const _Elem _Left, const _Elem _Ri...
    method _NODISCARD (line 606) | _NODISCARD static constexpr _Elem to_char_type(const int_type _Meta) n...
    method _NODISCARD (line 610) | _NODISCARD static constexpr int_type to_int_type(const _Elem _Ch) noex...
    method _NODISCARD (line 614) | _NODISCARD static constexpr bool eq_int_type(const int_type _Left, con...
    method _NODISCARD (line 618) | _NODISCARD static constexpr int_type not_eof(const int_type _Meta) noe...
    method _NODISCARD (line 622) | _NODISCARD static constexpr int_type eof() noexcept {
  type char_traits<char> (line 631) | struct char_traits<char> : _Narrow_char_traits<char, int> {}
  type char_traits<char8_t> (line 635) | struct char_traits<char8_t> : _Narrow_char_traits<char8_t, unsigned int> {}
  function _Traits_equal (line 694) | constexpr bool _Traits_equal(_In_reads_(_Left_size) const _Traits_ptr_t<...
  function _Traits_compare (line 709) | constexpr int _Traits_compare(_In_reads_(_Left_size) const _Traits_ptr_t...
  function _Traits_find (line 730) | constexpr size_t _Traits_find(_In_reads_(_Hay_size) const _Traits_ptr_t<...
  function _Traits_find_ch (line 779) | constexpr size_t _Traits_find_ch(_In_reads_(_Hay_size) const _Traits_ptr...
  function _Traits_rfind (line 810) | constexpr size_t _Traits_rfind(_In_reads_(_Hay_size) const _Traits_ptr_t...
  function _Traits_rfind_ch (line 855) | constexpr size_t _Traits_rfind_ch(_In_reads_(_Hay_size) const _Traits_pt...
  class _String_bitmap (line 892) | class _String_bitmap { // _String_bitmap for character types
    method _Mark (line 894) | constexpr bool _Mark(const _Elem* _First, const _Elem* const _Last) no...
    method _Match (line 904) | constexpr bool _Match(const _Elem _Ch) const noexcept { // test if _Ch...
  class _String_bitmap<_Elem, false> (line 914) | class _String_bitmap<_Elem, false> { // _String_bitmap for wchar_t/unsig...
    method _Mark (line 920) | constexpr bool _Mark(const _Elem* _First, const _Elem* const _Last) no...
    method _Match (line 935) | constexpr bool _Match(const _Elem _Ch) const noexcept { // test if _Ch...
  function _Traits_find_first_of (line 944) | constexpr size_t _Traits_find_first_of(_In_reads_(_Hay_size) const _Trai...
  function _Traits_find_last_of (line 993) | constexpr size_t _Traits_find_last_of(_In_reads_(_Hay_size) const _Trait...
  function _Traits_find_first_not_of (line 1044) | constexpr size_t _Traits_find_first_not_of(_In_reads_(_Hay_size) const _...
  function _Traits_find_not_ch (line 1095) | constexpr size_t _Traits_find_not_ch(_In_reads_(_Hay_size) const _Traits...
  function _Traits_find_last_not_of (line 1127) | constexpr size_t _Traits_find_last_not_of(_In_reads_(_Hay_size) const _T...
  function _Traits_rfind_not_ch (line 1178) | constexpr size_t _Traits_rfind_not_ch(_In_reads_(_Hay_size) const _Trait...
  class _Elem (line 1214) | class _Elem
  class _Traits (line 1214) | class _Traits
  class _String_view_iterator (line 1218) | class _String_view_iterator {
    method _String_view_iterator (line 1229) | constexpr _String_view_iterator() noexcept = default;
    method _String_view_iterator (line 1235) | constexpr _String_view_iterator(const pointer _Data, const size_t _Siz...
    method _String_view_iterator (line 1238) | constexpr explicit _String_view_iterator(const pointer _Ptr) noexcept ...
    method _NODISCARD (line 1242) | _NODISCARD constexpr reference operator*() const noexcept {
    method _NODISCARD (line 1252) | _NODISCARD constexpr pointer operator->() const noexcept {
    method _String_view_iterator (line 1262) | constexpr _String_view_iterator& operator++() noexcept {
    method _String_view_iterator (line 1273) | constexpr _String_view_iterator operator++(int) noexcept {
    method _String_view_iterator (line 1279) | constexpr _String_view_iterator& operator--() noexcept {
    method _String_view_iterator (line 1290) | constexpr _String_view_iterator operator--(int) noexcept {
    method _Verify_offset (line 1296) | constexpr void _Verify_offset(const difference_type _Off) const noexce...
    method _String_view_iterator (line 1315) | constexpr _String_view_iterator& operator+=(const difference_type _Off...
    method _String_view_iterator (line 1332) | constexpr _String_view_iterator operator+(
    method _String_view_iterator (line 1338) | constexpr _String_view_iterator& operator-=(const difference_type _Off...
    method _NODISCARD (line 1377) | _NODISCARD constexpr reference operator[](const difference_type _Off) ...
    method _NODISCARD (line 1381) | _NODISCARD constexpr bool operator==(const _String_view_iterator& _Rig...
    method _NODISCARD (line 1402) | _NODISCARD constexpr bool operator!=(const _String_view_iterator& _Rig...
    method _NODISCARD (line 1406) | _NODISCARD constexpr bool operator<(const _String_view_iterator& _Righ...
    method _NODISCARD (line 1416) | _NODISCARD constexpr bool operator>(const _String_view_iterator& _Righ...
    method _NODISCARD (line 1420) | _NODISCARD constexpr bool operator<=(const _String_view_iterator& _Rig...
    method _NODISCARD (line 1424) | _NODISCARD constexpr bool operator>=(const _String_view_iterator& _Rig...
    method _Verify_range (line 1430) | constexpr void _Verify_range(const _String_view_iterator& _First, cons...
    method _NODISCARD (line 1439) | _NODISCARD constexpr pointer _Unwrapped() const noexcept {
    method _Seek_to (line 1449) | constexpr void _Seek_to(pointer _It) noexcept {
  type pointer_traits<_String_view_iterator<_Traits>> (line 1469) | struct pointer_traits<_String_view_iterator<_Traits>> {
    method _NODISCARD (line 1474) | _NODISCARD static constexpr element_type* to_address(const pointer& _I...
  class _Elem (line 1485) | class _Elem
  class _Traits (line 1485) | class _Traits
  class basic_string_view (line 1486) | class basic_string_view { // wrapper for any kind of contiguous characte...
    method basic_string_view (line 1512) | constexpr basic_string_view() noexcept : _Mydata(), _Mysize(0) {}
    method basic_string_view (line 1514) | constexpr basic_string_view(const basic_string_view&) noexcept        ...
    method basic_string_view (line 1515) | constexpr basic_string_view& operator=(const basic_string_view&) noexc...
    method basic_string_view (line 1517) | constexpr basic_string_view(_In_z_ const const_pointer _Ntcts) noexcep...
    method basic_string_view (line 1521) | basic_string_view(nullptr_t) = delete;
    method basic_string_view (line 1524) | constexpr basic_string_view(
    method basic_string_view (line 1535) | constexpr basic_string_view(_Iter _First, _Sent _Last) noexcept(noexce...
    method basic_string_view (line 1545) | constexpr explicit basic_string_view(_Range&& _Rng)
    method begin (line 1551) | begin() const noexcept {
    method end (line 1559) | end() const noexcept {
    method cbegin (line 1567) | cbegin() const noexcept {
    method cend (line 1571) | cend() const noexcept {
    method rbegin (line 1575) | rbegin() const noexcept {
    method rend (line 1579) | rend() const noexcept {
    method crbegin (line 1583) | crbegin() const noexcept {
    method crend (line 1587) | crend() const noexcept {
    method const_pointer (line 1591) | constexpr const_pointer _Unchecked_begin() const noexcept {
    method const_pointer (line 1595) | constexpr const_pointer _Unchecked_end() const noexcept {
    method _NODISCARD (line 1599) | _NODISCARD constexpr size_type size() const noexcept {
    method _NODISCARD (line 1603) | _NODISCARD constexpr size_type length() const noexcept {
    method _NODISCARD (line 1607) | _NODISCARD constexpr bool empty() const noexcept {
    method data (line 1611) | data() const noexcept {
    method _NODISCARD (line 1615) | _NODISCARD constexpr size_type max_size() const noexcept {
    method at (line 1630) | at(const size_type _Off) const {
    method front (line 1636) | front() const noexcept /* strengthened */ {
    method back (line 1644) | back() const noexcept /* strengthened */ {
    method remove_prefix (line 1652) | constexpr void remove_prefix(const size_type _Count) noexcept /* stren...
    method remove_suffix (line 1661) | constexpr void remove_suffix(const size_type _Count) noexcept /* stren...
    method swap (line 1669) | constexpr void swap(basic_string_view& _Other) noexcept {
    method _CONSTEXPR20 (line 1675) | _CONSTEXPR20 size_type copy(
    method _CONSTEXPR20 (line 1684) | _CONSTEXPR20 size_type
    method substr (line 1694) | substr(const size_type _Off = 0, size_type _Count = npos) const {
    method _Equal (line 1701) | constexpr bool _Equal(const basic_string_view _Right) const noexcept {
    method _NODISCARD (line 1705) | _NODISCARD constexpr int compare(const basic_string_view _Right) const...
    method _NODISCARD (line 1709) | _NODISCARD constexpr int compare(const size_type _Off, const size_type...
    method _NODISCARD (line 1714) | _NODISCARD constexpr int compare(const size_type _Off, const size_type...
    method _NODISCARD (line 1720) | _NODISCARD constexpr int compare(_In_z_ const _Elem* const _Ptr) const...
    method _NODISCARD (line 1725) | _NODISCARD constexpr int compare(const size_type _Off, const size_type...
    method _NODISCARD (line 1730) | _NODISCARD constexpr int compare(const size_type _Off, const size_type...
    method _NODISCARD (line 1737) | _NODISCARD constexpr bool starts_with(const basic_string_view _Right) ...
    method _NODISCARD (line 1745) | _NODISCARD constexpr bool starts_with(const _Elem _Right) const noexce...
    method _NODISCARD (line 1749) | _NODISCARD constexpr bool starts_with(const _Elem* const _Right) const...
    method _NODISCARD (line 1753) | _NODISCARD constexpr bool ends_with(const basic_string_view _Right) co...
    method _NODISCARD (line 1761) | _NODISCARD constexpr bool ends_with(const _Elem _Right) const noexcept {
    method _NODISCARD (line 1765) | _NODISCARD constexpr bool ends_with(const _Elem* const _Right) const n...
    method _NODISCARD (line 1771) | _NODISCARD constexpr bool contains(const basic_string_view _Right) con...
    method _NODISCARD (line 1775) | _NODISCARD constexpr bool contains(const _Elem _Right) const noexcept {
    method _NODISCARD (line 1779) | _NODISCARD constexpr bool contains(const _Elem* const _Right) const no...
    method _NODISCARD (line 1784) | _NODISCARD constexpr size_type find(const basic_string_view _Right, co...
    method _NODISCARD (line 1789) | _NODISCARD constexpr size_type find(const _Elem _Ch, const size_type _...
    method _NODISCARD (line 1794) | _NODISCARD constexpr size_type find(_In_reads_(_Count) const _Elem* co...
    method _NODISCARD (line 1800) | _NODISCARD constexpr size_type find(_In_z_ const _Elem* const _Ptr, co...
    method _NODISCARD (line 1806) | _NODISCARD constexpr size_type rfind(const basic_string_view _Right, c...
    method _NODISCARD (line 1811) | _NODISCARD constexpr size_type rfind(const _Elem _Ch, const size_type ...
    method _NODISCARD (line 1816) | _NODISCARD constexpr size_type rfind(_In_reads_(_Count) const _Elem* c...
    method _NODISCARD (line 1822) | _NODISCARD constexpr size_type rfind(_In_z_ const _Elem* const _Ptr, c...
    method _NODISCARD (line 1828) | _NODISCARD constexpr size_type find_first_of(const basic_string_view _...
    method _NODISCARD (line 1833) | _NODISCARD constexpr size_type find_first_of(const _Elem _Ch, const si...
    method _NODISCARD (line 1838) | _NODISCARD constexpr size_type find_first_of(_In_reads_(_Count) const ...
    method _NODISCARD (line 1844) | _NODISCARD constexpr size_type find_first_of(
    method _NODISCARD (line 1850) | _NODISCARD constexpr size_type find_last_of(const basic_string_view _R...
    method _NODISCARD (line 1855) | _NODISCARD constexpr size_type find_last_of(const _Elem _Ch, const siz...
    method _NODISCARD (line 1860) | _NODISCARD constexpr size_type find_last_of(_In_reads_(_Count) const _...
    method _NODISCARD (line 1866) | _NODISCARD constexpr size_type find_last_of(
    method _NODISCARD (line 1872) | _NODISCARD constexpr size_type find_first_not_of(const basic_string_vi...
    method _NODISCARD (line 1877) | _NODISCARD constexpr size_type find_first_not_of(const _Elem _Ch, cons...
    method _NODISCARD (line 1882) | _NODISCARD constexpr size_type find_first_not_of(_In_reads_(_Count) co...
    method _NODISCARD (line 1888) | _NODISCARD constexpr size_type find_first_not_of(
    method _NODISCARD (line 1894) | _NODISCARD constexpr size_type find_last_not_of(const basic_string_vie...
    method _NODISCARD (line 1899) | _NODISCARD constexpr size_type find_last_not_of(const _Elem _Ch, const...
    method _NODISCARD (line 1904) | _NODISCARD constexpr size_type find_last_not_of(_In_reads_(_Count) con...
    method _NODISCARD (line 1910) | _NODISCARD constexpr size_type find_last_not_of(
    method _NODISCARD (line 1916) | _NODISCARD constexpr bool _Starts_with(const basic_string_view _View) ...
    method _Check_offset (line 1921) | constexpr void _Check_offset(const size_type _Off) const { // checks w...
    method _Check_offset_exclusive (line 1927) | constexpr void _Check_offset_exclusive(const size_type _Off) const {
    method size_type (line 1934) | constexpr size_type _Clamp_suffix_size(const size_type _Off, const siz...
    method _Xran (line 1939) | [[noreturn]] static void _Xran() {
  function namespace (line 1958) | namespace ranges {
  class _Elem (line 1965) | class _Elem
  class _Traits (line 1965) | class _Traits
  function _NODISCARD (line 1966) | _NODISCARD constexpr bool operator==(const basic_string_view<_Elem, _Tra...
  type _Get_comparison_category (line 1972) | struct _Get_comparison_category {
  type _Get_comparison_category<_Traits> (line 1978) | struct _Get_comparison_category<_Traits> {
  class _Elem (line 1988) | class _Elem
  class _Traits (line 1988) | class _Traits
  function _NODISCARD (line 1995) | _NODISCARD constexpr bool operator==(
  function _NODISCARD (line 2001) | _NODISCARD constexpr bool operator==(
  function _NODISCARD (line 2007) | _NODISCARD constexpr bool operator==(
  function _NODISCARD (line 2013) | _NODISCARD constexpr bool operator!=(
  function _NODISCARD (line 2019) | _NODISCARD constexpr bool operator!=(
  function _NODISCARD (line 2025) | _NODISCARD constexpr bool operator!=(
  function _NODISCARD (line 2031) | _NODISCARD constexpr bool operator<(
  function _NODISCARD (line 2037) | _NODISCARD constexpr bool operator<(
  function _NODISCARD (line 2043) | _NODISCARD constexpr bool operator<(
  function _NODISCARD (line 2049) | _NODISCARD constexpr bool operator>(
  function _NODISCARD (line 2055) | _NODISCARD constexpr bool operator>(
  function _NODISCARD (line 2061) | _NODISCARD constexpr bool operator>(
  function _NODISCARD (line 2067) | _NODISCARD constexpr bool operator<=(
  function _NODISCARD (line 2073) | _NODISCARD constexpr bool operator<=(
  function _NODISCARD (line 2079) | _NODISCARD constexpr bool operator<=(
  function _NODISCARD (line 2085) | _NODISCARD constexpr bool operator>=(
  function _NODISCARD (line 2091) | _NODISCARD constexpr bool operator>=(
  function _NODISCARD (line 2097) | _NODISCARD constexpr bool operator>=(
  type hash<basic_string_view<_Elem>> (line 2112) | struct hash<basic_string_view<_Elem>> : _Conditionally_enabled_hash<basi...
    method _NODISCARD (line 2113) | _NODISCARD static size_t _Do_hash(const basic_string_view<_Elem> _Keyv...
  class _Elem (line 2118) | class _Elem
  class _Traits (line 2118) | class _Traits
  function namespace (line 2124) | inline namespace literals {

FILE: stl/inc/__msvc_threads_core.hpp
  type _Thrd_t (line 21) | struct _Thrd_t { // thread identifier for Win32
  type _Thrd_result (line 28) | enum class _Thrd_result : int { _Success, _Nomem, _Timedout, _Busy, _Err...
  type _Stl_critical_section (line 30) | struct _Stl_critical_section {
  type _Mtx_internal_imp_t (line 35) | struct _Mtx_internal_imp_t {
  type _Stl_condition_variable (line 54) | struct _Stl_condition_variable {
  type _Cnd_internal_imp_t (line 61) | struct _Cnd_internal_imp_t {

FILE: stl/inc/__msvc_tzdb.hpp
  type __std_tzdb_leap_info (line 26) | struct __std_tzdb_leap_info {
  type __std_tzdb_error (line 35) | enum class __std_tzdb_error {
  type __std_tzdb_time_zones_info (line 41) | struct __std_tzdb_time_zones_info {
  type __std_tzdb_current_zone_info (line 54) | struct __std_tzdb_current_zone_info {
  type __std_tzdb_sys_info (line 59) | struct __std_tzdb_sys_info {
  type __std_tzdb_sys_info_type (line 68) | enum class __std_tzdb_sys_info_type : char {
  type _Tzdb_deleter<__std_tzdb_time_zones_info> (line 103) | struct _Tzdb_deleter<__std_tzdb_time_zones_info> {
  type _Tzdb_deleter<__std_tzdb_current_zone_info> (line 110) | struct _Tzdb_deleter<__std_tzdb_current_zone_info> {
  type _Tzdb_deleter<__std_tzdb_sys_info> (line 117) | struct _Tzdb_deleter<__std_tzdb_sys_info> {
  type _Tzdb_deleter<__std_tzdb_leap_info[]> (line 124) | struct _Tzdb_deleter<__std_tzdb_leap_info[]> {
  class _Crt_allocator (line 131) | class _Crt_allocator {
    method _Crt_allocator (line 137) | constexpr _Crt_allocator() noexcept = default;
    method _Crt_allocator (line 139) | constexpr _Crt_allocator(const _Crt_allocator&) noexcept = default;
    method _Crt_allocator (line 141) | constexpr _Crt_allocator(const _Crt_allocator<_Other>&) noexcept {}
    method _NODISCARD (line 143) | _NODISCARD __declspec(allocator) _Ty* allocate(_CRT_GUARDOVERFLOW cons...
    method deallocate (line 151) | void deallocate(_Ty* const _Ptr, size_t) noexcept {
    method _NODISCARD (line 156) | _NODISCARD bool operator==(const _Crt_allocator<_Other>&) const noexce...

FILE: stl/inc/__msvc_xlocinfo_types.hpp
  function _EXTERN_C_UNLESS_PURE (line 18) | _EXTERN_C_UNLESS_PURE
  type _Ctypevec (line 25) | struct _Ctypevec { // stuff needed by _Tolower, etc.
  type _Cvtvec (line 32) | struct _Cvtvec { // stuff needed by _Mbrtowc, etc.

FILE: stl/inc/xatomic.h
  type memory_order (line 95) | enum memory_order {
  function _Integral (line 115) | const volatile _Integral* _Atomic_address_as(const _Ty& _Source) noexcept {

FILE: stl/inc/xcall_once.h
  type once_flag (line 22) | struct once_flag { // opaque data structure for call_once()
  type _Init_once_completer (line 81) | struct _Init_once_completer {
  function _Init_once_completer (line 102) | _Init_once_completer _Op{_Once, _Init_once_init_failed};

FILE: stl/inc/xcharconv.h
  type class (line 27) | enum class
  function _EXPORT_STD (line 36) | _EXPORT_STD struct to_chars_result {

FILE: stl/inc/xcharconv_ryu.h
  function __decimalLength9 (line 81) | inline uint32_t __decimalLength9(const uint32_t __v) {
  function _NODISCARD (line 98) | _NODISCARD inline int32_t __pow5bits(const int32_t __e) {
  function _NODISCARD (line 108) | _NODISCARD inline uint32_t __log10Pow2(const int32_t __e) {
  function _NODISCARD (line 116) | _NODISCARD inline uint32_t __log10Pow5(const int32_t __e) {
  function _NODISCARD (line 123) | _NODISCARD inline uint32_t __float_to_bits(const float __f) {
  function _NODISCARD (line 129) | _NODISCARD inline uint64_t __double_to_bits(const double __d) {
  function _NODISCARD (line 151) | _NODISCARD inline uint64_t __ryu_umul128(const uint64_t __a, const uint6...
  function _NODISCARD (line 162) | _NODISCARD __forceinline uint64_t __ryu_umul128(const uint64_t __a, cons...
  function _NODISCARD (line 195) | _NODISCARD inline uint64_t __ryu_shiftright128(const uint64_t __lo, cons...
  function _NODISCARD (line 216) | _NODISCARD inline uint64_t __umulh(const uint64_t __a, const uint64_t __...
  function _NODISCARD (line 238) | _NODISCARD inline uint64_t __div5(const uint64_t __x) {
  function _NODISCARD (line 242) | _NODISCARD inline uint64_t __div10(const uint64_t __x) {
  function _NODISCARD (line 246) | _NODISCARD inline uint64_t __div100(const uint64_t __x) {
  function _NODISCARD (line 250) | _NODISCARD inline uint64_t __div1e8(const uint64_t __x) {
  function _NODISCARD (line 254) | _NODISCARD inline uint64_t __div1e9(const uint64_t __x) {
  function _NODISCARD (line 258) | _NODISCARD inline uint32_t __mod1e9(const uint64_t __x) {
  function _NODISCARD (line 273) | _NODISCARD inline uint64_t __div5(const uint64_t __x) {
  function _NODISCARD (line 277) | _NODISCARD inline uint64_t __div10(const uint64_t __x) {
  function _NODISCARD (line 281) | _NODISCARD inline uint64_t __div100(const uint64_t __x) {
  function _NODISCARD (line 285) | _NODISCARD inline uint64_t __div1e8(const uint64_t __x) {
  function _NODISCARD (line 289) | _NODISCARD inline uint64_t __div1e9(const uint64_t __x) {
  function _NODISCARD (line 293) | _NODISCARD inline uint32_t __mod1e9(const uint64_t __x) {
  function _NODISCARD (line 299) | _NODISCARD inline uint32_t __pow5Factor(uint64_t __value) {
  function _NODISCARD (line 315) | _NODISCARD inline bool __multipleOfPowerOf5(const uint64_t __value, cons...
  function _NODISCARD (line 321) | _NODISCARD inline bool __multipleOfPowerOf2(const uint64_t __value, cons...
  function _NODISCARD (line 336) | _NODISCARD inline uint64_t __umul256_hi128_lo64(
  function _NODISCARD (line 355) | _NODISCARD inline uint32_t __uint128_mod1e9(const uint64_t __vHi, const ...
  function _NODISCARD (line 367) | _NODISCARD inline uint32_t __mulShift_mod1e9(const uint64_t __m, const u...
  function __append_d_digits (line 434) | inline void __append_d_digits(const uint32_t __olength, uint32_t __digit...
  function _NODISCARD (line 502) | _NODISCARD inline uint32_t __indexForExponent(const uint32_t __e) {
  function _NODISCARD (line 506) | _NODISCARD inline uint32_t __pow10BitsForIndex(const uint32_t __idx) {
  function _NODISCARD (line 510) | _NODISCARD inline uint32_t __lengthForIndex(const uint32_t __idx) {
  function _NODISCARD (line 706) | _NODISCARD inline to_chars_result __d2exp_buffered_n(char* _First, char*...
  function _NODISCARD (line 984) | _NODISCARD inline uint32_t __pow5Factor(uint32_t __value) {
  function _NODISCARD (line 1000) | _NODISCARD inline bool __multipleOfPowerOf5(const uint32_t __value, cons...
  function _NODISCARD (line 1005) | _NODISCARD inline bool __multipleOfPowerOf2(const uint32_t __value, cons...
  function _NODISCARD (line 1012) | _NODISCARD inline uint32_t __mulShift(const uint32_t __m, const uint64_t...
  function _NODISCARD (line 1040) | _NODISCARD inline uint32_t __mulPow5InvDivPow2(const uint32_t __m, const...
  function _NODISCARD (line 1044) | _NODISCARD inline uint32_t __mulPow5divPow2(const uint32_t __m, const ui...
  type __floating_decimal_32 (line 1049) | struct __floating_decimal_32 {
  function _NODISCARD (line 1054) | _NODISCARD inline __floating_decimal_32 __f2d(const uint32_t __ieeeManti...
  function _CSTD (line 1490) | _CSTD memmove(_First, _First + 1, static_cast<size_t>(_Whole_digits) * s...
  function _NODISCARD (line 1666) | _NODISCARD inline uint64_t __mulShift(const uint64_t __m, const uint64_t...
  function _NODISCARD (line 1679) | _NODISCARD inline uint64_t __mulShiftAll(const uint64_t __m, const uint6...
  function _NODISCARD (line 1688) | _NODISCARD __forceinline uint64_t __mulShiftAll(uint64_t __m, const uint...
  function _NODISCARD (line 1723) | _NODISCARD inline uint32_t __decimalLength17(const uint64_t __v) {
  type __floating_decimal_64 (line 1749) | struct __floating_decimal_64 {
  function _NODISCARD (line 1754) | _NODISCARD inline __floating_decimal_64 __d2d(const uint64_t __ieeeManti...
  function _CSTD (line 2139) | _CSTD memmove(_First, _First + 1, static_cast<size_t>(_Whole_digits) * s...
  function _NODISCARD (line 2243) | _NODISCARD inline bool __d2d_small_int(const uint64_t __ieeeMantissa, co...
  function to_chars_result (line 2363) | to_chars_result _Floating_to_chars_ryu(
  function to_chars_result (line 2373) | to_chars_result _Floating_to_chars_scientific_precision(
  function to_chars_result (line 2394) | to_chars_result _Floating_to_chars_fixed_precision(

FILE: stl/inc/xcharconv_tables.h
  function float (line 84) | struct _General_precision_tables_2<float> {
  function double (line 95) | struct _General_precision_tables_2<double> {

FILE: stl/inc/xerrc.h
  type class (line 19) | enum class

FILE: stl/inc/xfilesystem_abi.h
  function __std_win_error (line 25) | enum class __std_win_error : unsigned long {

FILE: stl/inc/xnode_handle.h
  type _Insert_return_type (line 26) | struct _Insert_return_type {
  function noexcept (line 37) | const noexcept /* strengthened */ {
  function noexcept (line 40) | const noexcept /* strengthened */ {
  function _Nodeptr (line 77) | _Nodeptr _Ptr{}
  function _Clear (line 81) | void _Clear() noexcept { // destroy any contained node and return to the...
  function _Alnode (line 135) | _Alnode _Node_alloc{_Al};
  function _Alloc (line 153) | const _Alloc& _Getal() const noexcept {
  function _Nodeptr (line 171) | _Nodeptr _Release() noexcept { // extract the node from *this
  function swap (line 177) | void swap(_Node_handle& _That) noexcept /* strengthened */ {
  function _Node_handle (line 202) | static _Node_handle _Make(const _Nodeptr _Ptr, const allocator_type& _Al) {

FILE: stl/inc/xpolymorphic_allocator.h
  function namespace (line 129) | namespace pmr {
  function _NODISCARD (line 147) | _NODISCARD bool is_equal(const memory_resource& _That) const noexcept {
  function memory_resource (line 172) | inline memory_resource* get_default_resource() noexcept {
  function _NODISCARD (line 182) | _NODISCARD _Deallocate_bytes_guard {
  function noexcept (line 211) | polymorphic_allocator(memory_resource* const _Resource_) noexcept // str...
  function _Tombstone (line 227) | const auto _Tombstone{reinterpret_cast<memory_resource*>(_MSVC_STL_UINTP...
  function _NODISCARD_RAW_PTR_ALLOC (line 232) | _NODISCARD_RAW_PTR_ALLOC __declspec(allocator) _Ty* allocate(_CRT_GUARDO...
  function deallocate (line 238) | void deallocate(_Ty* const _Ptr, const size_t _Count) noexcept /* streng...
  function _Uty (line 268) | __declspec(allocator) _Uty* new_object(_Types&&... _Args) {
  function _STD (line 290) | _STD apply(
  function _NODISCARD (line 311) | _NODISCARD polymorphic_allocator select_on_container_copy_construction()...

FILE: stl/inc/xsmf_control.h
  function _STD_BEGIN (line 20) | _STD_BEGIN
  function _CONSTEXPR20 (line 58) | _CONSTEXPR20 _Non_trivial_move(_Non_trivial_move&& _That)

FILE: stl/inc/yvals.h
  function class (line 389) | class _CRTIMP2_PURE_IMPORT _Lockit { // lock while object in existence -...
  function class (line 426) | class _CRTIMP2_PURE_IMPORT _EmptyLockit { // empty lock class used for b...

FILE: stl/src/StlCompareStringA.cpp
  function _CRTIMP2 (line 31) | _CRTIMP2 int __cdecl __crtCompareStringA(_In_z_ LPCWSTR LocaleName, _In_...

FILE: stl/src/StlCompareStringW.cpp
  function _CRTIMP2 (line 26) | _CRTIMP2 int __cdecl __crtCompareStringW(_In_z_ LPCWSTR LocaleName, _In_...

FILE: stl/src/StlLCMapStringA.cpp
  function _CRTIMP2 (line 31) | _CRTIMP2 int __cdecl __crtLCMapStringA(_In_opt_z_ LPCWSTR LocaleName, _I...

FILE: stl/src/StlLCMapStringW.cpp
  function _CRTIMP2 (line 33) | _CRTIMP2 int __cdecl __crtLCMapStringW(_In_opt_z_ LPCWSTR const locale_n...

FILE: stl/src/_tolower.cpp
  function _EXTERN_C_UNLESS_PURE (line 20) | _EXTERN_C_UNLESS_PURE
  function _CRTIMP2_PURE (line 101) | _CRTIMP2_PURE _Ctypevec __CLRCALL_PURE_OR_CDECL _Getctype() noexcept {

FILE: stl/src/_toupper.cpp
  function _EXTERN_C_UNLESS_PURE (line 19) | _EXTERN_C_UNLESS_PURE

FILE: stl/src/asan.cpp
  type std (line 4) | namespace std {

FILE: stl/src/asan_noop.cpp
  function __sanitizer_annotate_contiguous_container_default (line 8) | void __cdecl __sanitizer_annotate_contiguous_container_default(

FILE: stl/src/atomic.cpp
  function _CRTIMP2_PURE (line 16) | _CRTIMP2_PURE void __cdecl _Lock_shared_ptr_spin_lock() noexcept { // TR...
  function _CRTIMP2_PURE (line 20) | _CRTIMP2_PURE void __cdecl _Unlock_shared_ptr_spin_lock() noexcept { // ...

FILE: stl/src/atomic_wait.cpp
  type _Wait_context (line 23) | struct _Wait_context {
  type _Guarded_wait_context (line 30) | struct [[nodiscard]] _Guarded_wait_context : _Wait_context {
    method _Guarded_wait_context (line 31) | _Guarded_wait_context(const void* _Storage_, _Wait_context* const _Hea...
    method _Guarded_wait_context (line 44) | _Guarded_wait_context(const _Guarded_wait_context&)            = delete;
    method _Guarded_wait_context (line 45) | _Guarded_wait_context& operator=(const _Guarded_wait_context&) = delete;
  class _SrwLock_guard (line 48) | class [[nodiscard]] _SrwLock_guard {
    method _SrwLock_guard (line 50) | explicit _SrwLock_guard(SRWLOCK& _Locked_) noexcept : _Locked(&_Locked...
    method _SrwLock_guard (line 58) | _SrwLock_guard(const _SrwLock_guard&)            = delete;
    method _SrwLock_guard (line 59) | _SrwLock_guard& operator=(const _SrwLock_guard&) = delete;
  type _Wait_table_entry (line 67) | struct alignas(_STD hardware_destructive_interference_size) _Wait_table_...
    method _Wait_table_entry (line 75) | constexpr _Wait_table_entry() noexcept = default;
  function _Wait_table_entry (line 79) | [[nodiscard]] _Wait_table_entry& _Atomic_wait_table_entry(const void* co...
    method _Wait_table_entry (line 75) | constexpr _Wait_table_entry() noexcept = default;
  function _Assume_timeout (line 87) | void _Assume_timeout() noexcept {
  function __std_atomic_wait_direct (line 97) | int __stdcall __std_atomic_wait_direct(const void* const _Storage, void*...
  function __std_atomic_notify_one_direct (line 108) | void __stdcall __std_atomic_notify_one_direct(const void* const _Storage...
  function __std_atomic_notify_all_direct (line 112) | void __stdcall __std_atomic_notify_all_direct(const void* const _Storage...
  function __std_atomic_notify_one_indirect (line 116) | void __stdcall __std_atomic_notify_one_indirect(const void* const _Stora...
  function __std_atomic_notify_all_indirect (line 134) | void __stdcall __std_atomic_notify_all_indirect(const void* const _Stora...
  function __std_atomic_wait_indirect (line 151) | int __stdcall __std_atomic_wait_indirect(const void* _Storage, void* _Co...
  function __std_atomic_wait_get_deadline (line 181) | unsigned long long __stdcall __std_atomic_wait_get_deadline(const unsign...
  function __std_atomic_wait_get_remaining_timeout (line 190) | unsigned long __stdcall __std_atomic_wait_get_remaining_timeout(unsigned...
  type __std_atomic_api_level (line 212) | enum class __std_atomic_api_level : unsigned long { __not_set, __detecti...
  function __std_atomic_api_level (line 213) | __std_atomic_api_level __stdcall __std_atomic_set_api_level(__std_atomic...
  type _Table_entry (line 224) | struct alignas(std::hardware_destructive_interference_size) _Table_entry {
  function __std_atomic_compare_exchange_128 (line 238) | [[nodiscard]] unsigned char __stdcall __std_atomic_compare_exchange_128(...
  function __std_atomic_has_cmpxchg16b (line 253) | [[nodiscard]] char __stdcall __std_atomic_has_cmpxchg16b() noexcept {

FILE: stl/src/cerr.cpp
  type _Init_cerr (line 25) | struct _Init_cerr { // ensures that cerr is initialized
    method __CLR_OR_THIS_CALL (line 26) | __CLR_OR_THIS_CALL _Init_cerr() { // initialize cerr

FILE: stl/src/charconv.cpp
  type std (line 8) | namespace std {

FILE: stl/src/cin.cpp
  type _Init_cin (line 25) | struct _Init_cin { // ensures that cin is initialized
    method __CLR_OR_THIS_CALL (line 26) | __CLR_OR_THIS_CALL _Init_cin() { // initialize cin

FILE: stl/src/clog.cpp
  type _Init_clog (line 27) | struct _Init_clog { // ensures that clog is initialized
    method __CLR_OR_THIS_CALL (line 28) | __CLR_OR_THIS_CALL _Init_clog() { // initialize clog

FILE: stl/src/cond.cpp
  function _CRTIMP2_PURE (line 16) | _CRTIMP2_PURE void __cdecl _Cnd_init_in_situ(const _Cnd_t cond) noexcept...
  function _CRTIMP2_PURE (line 21) | _CRTIMP2_PURE void __cdecl _Cnd_destroy_in_situ(_Cnd_t) noexcept {}
  function _CRTIMP2_PURE (line 24) | _CRTIMP2_PURE _Thrd_result __cdecl _Cnd_init(_Cnd_t* const pcond) noexce...
  function _CRTIMP2_PURE (line 38) | _CRTIMP2_PURE void __cdecl _Cnd_destroy(const _Cnd_t cond) noexcept { //...
  function _CRTIMP2_PURE (line 45) | _CRTIMP2_PURE void __cdecl _Mtx_clear_owner(_Mtx_t mtx) noexcept { // se...
  function _CRTIMP2_PURE (line 51) | _CRTIMP2_PURE void __cdecl _Mtx_reset_owner(_Mtx_t mtx) noexcept { // se...
  function _CRTIMP2_PURE (line 56) | _CRTIMP2_PURE _Thrd_result __cdecl _Cnd_wait(const _Cnd_t cond, const _M...
  function _CRTIMP2_PURE (line 64) | _CRTIMP2_PURE _Thrd_result __cdecl _Cnd_timedwait(
  function _CRTIMP2_PURE (line 86) | _CRTIMP2_PURE _Thrd_result __cdecl _Cnd_signal(const _Cnd_t cond) noexce...
  function _CRTIMP2_PURE (line 91) | _CRTIMP2_PURE _Thrd_result __cdecl _Cnd_broadcast(const _Cnd_t cond) noe...

FILE: stl/src/cout.cpp
  type _Init_cout (line 25) | struct _Init_cout { // ensures that cout is initialized
    method __CLR_OR_THIS_CALL (line 26) | __CLR_OR_THIS_CALL _Init_cout() { // initialize cout

FILE: stl/src/cthread.cpp
  type _Thrd_binder (line 18) | struct _Thrd_binder { // bind function pointer and data to pass to threa...
  function _Thrd_runner (line 28) | unsigned int __stdcall _Thrd_runner(void* d) { // call thread function
  function _CRTIMP2_PURE (line 43) | [[noreturn]] _CRTIMP2_PURE void __cdecl _Thrd_exit(int res) noexcept { /...
  function _CRTIMP2_PURE (line 48) | _CRTIMP2_PURE _Thrd_result __cdecl _Thrd_start(_Thrd_t* thr, _Thrd_callb...
  function _CRTIMP2_PURE (line 54) | _CRTIMP2_PURE _Thrd_result __cdecl _Thrd_join(_Thrd_t thr, int* code) no...
  function _CRTIMP2_PURE (line 70) | _CRTIMP2_PURE _Thrd_result __cdecl _Thrd_detach(_Thrd_t thr) noexcept {
  function _CRTIMP2_PURE (line 76) | _CRTIMP2_PURE void __cdecl _Thrd_sleep(const _timespec64* xt) noexcept {...
  function _CRTIMP2_PURE (line 85) | _CRTIMP2_PURE void __cdecl _Thrd_yield() noexcept { // surrender remaind...
  function _CRTIMP2_PURE (line 90) | _CRTIMP2_PURE int __cdecl _Thrd_equal(_Thrd_t thr0, _Thrd_t thr1) noexce...
  function _CRTIMP2_PURE (line 96) | _CRTIMP2_PURE _Thrd_t __cdecl _Thrd_current() noexcept { // return _Thrd...
  function _CRTIMP2_PURE (line 103) | _CRTIMP2_PURE _Thrd_id_t __cdecl _Thrd_id() noexcept { // return unique ...
  function _Thrd_hardware_concurrency (line 107) | _CRTIMP2_PURE unsigned int __cdecl _Thrd_hardware_concurrency() noexcept...
  function _CRTIMP2_PURE (line 160) | _CRTIMP2_PURE _Thrd_result __cdecl _Thrd_create(_Thrd_t* thr, _Thrd_star...

FILE: stl/src/dllmain.cpp
  function BOOL (line 8) | BOOL APIENTRY DllMain(HMODULE, DWORD, LPVOID) noexcept {

FILE: stl/src/dllmain_satellite.cpp
  function BOOL (line 8) | BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID)...

FILE: stl/src/excptptr.cpp
  function _Ty (line 42) | _Ty& _Immortalize() { // return a reference to an object that will live ...
  type _Constexpr_excptptr_immortalize_impl (line 48) | struct _Constexpr_excptptr_immortalize_impl {
    method _Constexpr_excptptr_immortalize_impl (line 53) | constexpr _Constexpr_excptptr_immortalize_impl() noexcept : _Storage{} {}
    method _Constexpr_excptptr_immortalize_impl (line 55) | _Constexpr_excptptr_immortalize_impl(const _Constexpr_excptptr_immorta...
    method _Constexpr_excptptr_immortalize_impl (line 56) | _Constexpr_excptptr_immortalize_impl& operator=(const _Constexpr_excpt...
    method _MSVC_NOOP_DTOR (line 58) | _MSVC_NOOP_DTOR ~_Constexpr_excptptr_immortalize_impl() {
  function _Ty (line 67) | [[nodiscard]] _Ty& _Immortalize() noexcept {
  function _Ty (line 72) | _Ty& _Immortalize() { // return a reference to an object that will live ...
  function _PopulateCppExceptionRecord (line 80) | void _PopulateCppExceptionRecord(
  function _CopyExceptionRecord (line 123) | void _CopyExceptionRecord(_EXCEPTION_RECORD& _Dest, const _EXCEPTION_REC...
  function _CopyExceptionObject (line 139) | void _CopyExceptionObject(void* _Dest, const void* _Src, const Catchable...
  function _STD_BEGIN (line 186) | _STD_BEGIN
  class _ExceptionPtr_static (line 202) | class _ExceptionPtr_static final : public _Ref_count_base {
    method _Destroy (line 206) | void _Destroy() noexcept override {
    method _Delete_this (line 210) | void _Delete_this() noexcept override {
    method _ExceptionPtr_static (line 216) | explicit _ExceptionPtr_static() noexcept : _Ref_count_base() {
    method _Get (line 220) | static shared_ptr<const _EXCEPTION_RECORD> _Get() noexcept {
  class _ExceptionPtr_normal (line 232) | class _ExceptionPtr_normal final : public _Ref_count_base {
    method _Destroy (line 236) | void _Destroy() noexcept override {
    method _Delete_this (line 282) | void _Delete_this() noexcept override {
    method _ExceptionPtr_normal (line 287) | explicit _ExceptionPtr_normal(const _EXCEPTION_RECORD& _Record) noexce...
  function _Assign_seh_exception_ptr_from_record (line 299) | void _Assign_seh_exception_ptr_from_record(
  function _Assign_cpp_exception_ptr_from_record (line 312) | void _Assign_cpp_exception_ptr_from_record(
  function _CRTIMP2_PURE (line 416) | _CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL __ExceptionPtrCreate(_Out_ vo...
  function _CRTIMP2_PURE (line 420) | _CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL __ExceptionPtrDestroy(_Inout_...
  function _CRTIMP2_PURE (line 424) | _CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL __ExceptionPtrCopy(_Out_ void...
  function _CRTIMP2_PURE (line 428) | _CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL __ExceptionPtrAssign(_Inout_ ...
  function _CRTIMP2_PURE (line 433) | _CRTIMP2_PURE bool __CLRCALL_PURE_OR_CDECL __ExceptionPtrCompare(
  function _CRTIMP2_PURE (line 439) | _CRTIMP2_PURE bool __CLRCALL_PURE_OR_CDECL __ExceptionPtrToBool(_In_ con...
  function _CRTIMP2_PURE (line 443) | _CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL __ExceptionPtrSwap(_Inout_ vo...
  function _CRTIMP2_PURE (line 448) | _CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL __ExceptionPtrCurrentExceptio...
  function _CRTIMP2_PURE (line 465) | [[noreturn]] _CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL __ExceptionPtrRe...
  function _CRTIMP2_PURE (line 529) | _CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL __ExceptionPtrCopyException(

FILE: stl/src/filesys.cpp
  type perms (line 55) | enum class perms { // names for permissions
  type space_info (line 82) | struct space_info { // space information for a file
  function file_type (line 88) | static file_type _Map_mode(int _Mode) { // map Windows file attributes t...
  function _CRTIMP2_PURE (line 103) | _CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL _Close_dir(void* _Handle) noe...
  function wchar_t (line 107) | static wchar_t* _Strcpy(wchar_t (&_Dest)[_MAX_FILESYS_NAME], const wchar...
  function HANDLE (line 112) | static HANDLE _FilesysOpenFile(const wchar_t* _Fname, DWORD _Desired_acc...
  function _CRTIMP2_PURE (line 121) | _CRTIMP2_PURE wchar_t* __CLRCALL_PURE_OR_CDECL _Read_dir(
  function _Filesys_code_page (line 139) | static unsigned int _Filesys_code_page() { // determine appropriate code...
  function _CRTIMP2_PURE (line 151) | _CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _To_wide(const char* _Bsrc, wc...
  function _CRTIMP2_PURE (line 156) | _CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _To_byte(const wchar_t* _Wsrc,...
  function _CRTIMP2_PURE (line 161) | _CRTIMP2_PURE void* __CLRCALL_PURE_OR_CDECL _Open_dir(
  function _CRTIMP2_PURE (line 198) | _CRTIMP2_PURE bool __CLRCALL_PURE_OR_CDECL _Current_get(wchar_t (&_Dest)...
  function _CRTIMP2_PURE (line 208) | _CRTIMP2_PURE bool __CLRCALL_PURE_OR_CDECL _Current_set(const wchar_t* _...
  function _CRTIMP2_PURE (line 218) | _CRTIMP2_PURE wchar_t* __CLRCALL_PURE_OR_CDECL _Symlink_get(
  function _CRTIMP2_PURE (line 225) | _CRTIMP2_PURE wchar_t* __CLRCALL_PURE_OR_CDECL _Temp_get(wchar_t (&_Dest...
  function _CRTIMP2_PURE (line 231) | _CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Make_dir(const wchar_t* _Fnam...
  function _CRTIMP2_PURE (line 242) | _CRTIMP2_PURE bool __CLRCALL_PURE_OR_CDECL _Remove_dir(
  function _CRTIMP2_PURE (line 247) | _CRTIMP2_PURE file_type __CLRCALL_PURE_OR_CDECL _Stat(
  function _CRTIMP2_PURE (line 278) | _CRTIMP2_PURE file_type __CLRCALL_PURE_OR_CDECL _Lstat(const wchar_t* _F...
  function _CRTIMP2_PURE (line 283) | _CRTIMP2_PURE uintmax_t __CLRCALL_PURE_OR_CDECL _Hard_links(const wchar_...
  function _CRTIMP2_PURE (line 299) | _CRTIMP2_PURE uintmax_t __CLRCALL_PURE_OR_CDECL _File_size(const wchar_t...
  function _CRTIMP2_PURE (line 320) | _CRTIMP2_PURE int64_t __CLRCALL_PURE_OR_CDECL _Last_write_time(
  function _CRTIMP2_PURE (line 334) | _CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Set_last_write_time(
  function _CRTIMP2_PURE (line 353) | _CRTIMP2_PURE space_info __CLRCALL_PURE_OR_CDECL _Statvfs(const wchar_t*...
  function _CRTIMP2_PURE (line 374) | _CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Equivalent(
  function _CRTIMP2_PURE (line 406) | _CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Link(const wchar_t* _Fname1, ...
  function _CRTIMP2_PURE (line 417) | _CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Symlink(const wchar_t* _Fname...
  function _CRTIMP2_PURE (line 428) | _CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Rename(const wchar_t* _Fname1...
  function _CRTIMP2_PURE (line 433) | _CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Resize(
  function _CRTIMP2_PURE (line 451) | _CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Unlink(const wchar_t* _Fname)...
  function _CRTIMP2_PURE (line 455) | _CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Copy_file(
  function _CRTIMP2_PURE (line 471) | _CRTIMP2_PURE int __CLRCALL_PURE_OR_CDECL _Chmod(const wchar_t* _Fname, ...

FILE: stl/src/filesystem.cpp
  function BOOLEAN (line 26) | BOOLEAN __stdcall _Not_supported_CreateSymbolicLinkW(const wchar_t*, con...
  function HANDLE (line 35) | HANDLE __stdcall __vcp_CreateFile(const wchar_t* const _File_name, const...
  function __std_win_error (line 48) | [[nodiscard]] __std_win_error __stdcall _Translate_CreateFile_last_error...
  function __std_fs_copy_file_result (line 56) | [[nodiscard]] __std_fs_copy_file_result __stdcall __vcp_Copyfile(
  function __std_win_error (line 71) | [[nodiscard]] __std_win_error __stdcall _Create_symlink(
  function __std_win_error (line 90) | [[nodiscard]] __std_win_error __stdcall _Translate_not_found_to_success(...
  function __std_win_error (line 98) | [[nodiscard]] __std_win_error __stdcall _Get_last_write_time_by_handle(
  function __std_win_error (line 110) | [[nodiscard]] __std_win_error __stdcall _Get_file_id_by_handle(
  function __std_win_error (line 120) | __std_win_error
  function _Merge_to_ull (line 149) | [[nodiscard]] unsigned long long _Merge_to_ull(DWORD _High, DWORD _Low) ...
  function __std_ulong_and_error (line 156) | [[nodiscard]] __std_ulong_and_error __stdcall __std_fs_get_full_path_nam...
  function __std_win_error (line 162) | [[nodiscard]] __std_win_error __stdcall __std_fs_open_handle(_Out_ __std...
  function __std_fs_close_handle (line 172) | void __stdcall __std_fs_close_handle(const __std_fs_file_handle _Handle)...
  function __std_win_error (line 178) | __std_win_error
  function __std_ulong_and_error (line 193) | [[nodiscard]] __std_ulong_and_error __stdcall __std_fs_get_final_path_na...
  function __std_win_error (line 205) | [[nodiscard]] __std_win_error __stdcall __std_fs_directory_iterator_open...
  function __std_fs_directory_iterator_close (line 217) | void __stdcall __std_fs_directory_iterator_close(_In_ const __std_fs_dir...
  function __std_win_error (line 223) | [[nodiscard]] __std_win_error __stdcall __std_fs_directory_iterator_adva...
  function __std_code_page (line 232) | [[nodiscard]] __std_code_page __stdcall __std_fs_code_page() noexcept {
  function __std_fs_convert_result (line 246) | [[nodiscard]] __std_fs_convert_result __stdcall __std_fs_convert_narrow_...
  function __std_fs_convert_result (line 254) | [[nodiscard]] __std_fs_convert_result __stdcall __std_fs_convert_wide_to...
  function __std_fs_convert_result (line 289) | [[nodiscard]] __std_fs_convert_result __stdcall __std_fs_convert_wide_to...
  function __std_fs_copy_file_result (line 311) | [[nodiscard]] __std_fs_copy_file_result __stdcall __std_fs_copy_file(_In...
  type __std_fs_file_id (line 400) | struct __std_fs_file_id { // typedef struct _FILE_ID_INFO {
  function __std_win_error (line 406) | __std_win_error
  function __std_fs_equivalent_result (line 420) | [[nodiscard]] __std_fs_equivalent_result __stdcall __std_fs_equivalent(
  function __std_win_error (line 451) | [[nodiscard]] __std_win_error __stdcall __std_fs_create_directory_symbol...
  function __std_win_error (line 456) | [[nodiscard]] __std_win_error __stdcall __std_fs_create_hard_link(
  function __std_win_error (line 471) | [[nodiscard]] __std_win_error __stdcall __std_fs_create_symbolic_link(
  function __std_win_error (line 476) | [[nodiscard]] __std_win_error __stdcall __std_fs_read_reparse_data_buffe...
  function __std_win_error (line 488) | [[nodiscard]] __std_win_error __stdcall __std_fs_write_reparse_data_buffer(
  function __std_fs_is_junction_from_reparse_data_buffer (line 501) | [[nodiscard]] bool __stdcall __std_fs_is_junction_from_reparse_data_buffer(
  function __std_win_error (line 506) | __std_win_error
  function __std_win_error (line 539) | [[nodiscard]] __std_win_error __stdcall __std_fs_set_last_write_time(
  function __std_fs_remove_result (line 555) | [[nodiscard]] __std_fs_remove_result __stdcall __std_fs_remove(_In_z_ co...
  function __std_win_error (line 638) | [[nodiscard]] __std_win_error __stdcall __std_fs_change_permissions(
  function __std_win_error (line 684) | [[nodiscard]] __std_win_error __stdcall __std_fs_rename(
  function __std_win_error (line 693) | [[nodiscard]] __std_win_error __stdcall __std_fs_resize_file(
  function __std_win_error (line 711) | [[nodiscard]] __std_win_error __stdcall __std_fs_space(_In_z_ const wcha...
  function WINAPI (line 790) | WINAPI _Stl_GetTempPath2W(
  function __std_ulong_and_error (line 810) | __std_ulong_and_error
  function __std_win_error (line 840) | __std_win_error
  function __std_fs_create_directory_result (line 980) | [[nodiscard]] __std_fs_create_directory_result __stdcall __std_fs_create...
  function __std_fs_create_directory_result (line 1001) | [[nodiscard]] __std_fs_create_directory_result __stdcall __std_fs_create...
  function __std_ulong_and_error (line 1020) | __std_ulong_and_error
  function __std_win_error (line 1033) | [[nodiscard]] __std_win_error __stdcall __std_fs_set_current_path(_In_z_...

FILE: stl/src/fiopen.cpp
  function FILE (line 11) | FILE* _Xfsopen(_In_z_ const char* filename, _In_ int mode, _In_ int prot) {
  function FILE (line 19) | FILE* _Xfsopen(_In_z_ const wchar_t* filename, _In_ int mode, _In_ int p...
  function FILE (line 28) | FILE* _Xfiopen(const CharT* filename, ios_base::openmode mode, int prot) {
  function _STD_BEGIN (line 87) | _STD_BEGIN
  function _CRTIMP2_PURE (line 94) | _CRTIMP2_PURE FILE* __CLRCALL_PURE_OR_CDECL _Fiopen(
  function _CRTIMP2_PURE (line 100) | _CRTIMP2_PURE FILE* __CLRCALL_PURE_OR_CDECL _Fiopen(

FILE: stl/src/format.cpp
  function __std_win_error (line 13) | [[nodiscard]] __std_win_error __stdcall __std_get_cvt(

FILE: stl/src/future.cpp
  function _STD_BEGIN (line 7) | _STD_BEGIN
  function _CRTIMP2_PURE (line 15) | [[noreturn]] _CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL _Rethrow_future_...

FILE: stl/src/init_locks.hpp
  function _STD_BEGIN (line 8) | _STD_BEGIN

FILE: stl/src/instances.cpp
  class _CRTIMP2_PURE_IMPORT (line 22) | class _CRTIMP2_PURE_IMPORT
  class _CRTIMP2_PURE_IMPORT (line 23) | class _CRTIMP2_PURE_IMPORT

FILE: stl/src/iomanip.cpp
  function _STD_BEGIN (line 7) | _STD_BEGIN
  function sifun (line 12) | static void __cdecl sifun(ios_base& iostr, ios_base::fmtflags mask) { //...
  function sbfun (line 16) | static void __cdecl sbfun(ios_base& iostr, int base) { // set base
  function spfun (line 24) | static void __cdecl spfun(ios_base& iostr, streamsize prec) { // set pre...
  function swfun (line 28) | static void __cdecl swfun(ios_base& iostr, streamsize wide) { // set width
  function _MRTIMP2 (line 32) | _MRTIMP2 _Smanip<ios_base::fmtflags> __cdecl resetiosflags(
  function _MRTIMP2 (line 37) | _MRTIMP2 _Smanip<ios_base::fmtflags> __cdecl setiosflags(ios_base::fmtfl...
  function _MRTIMP2 (line 41) | _MRTIMP2 _Smanip<int> __cdecl setbase(int base) { // manipulator to set ...
  function _MRTIMP2 (line 45) | _MRTIMP2 _Smanip<streamsize> __cdecl setprecision(streamsize prec) { // ...
  function _MRTIMP2 (line 49) | _MRTIMP2 _Smanip<streamsize> __cdecl setw(streamsize wide) { // manipula...

FILE: stl/src/iosptrs.cpp
  function _MRTIMP2 (line 36) | _MRTIMP2 void __cdecl _Atexit(void(__cdecl* pf)()) { // add to wrapup list
  type _Init_atexit (line 44) | struct _Init_atexit { // controller for atexit processing
    method __CLR_OR_THIS_CALL (line 45) | __CLR_OR_THIS_CALL ~_Init_atexit() noexcept { // process wrapup functions

FILE: stl/src/iostream.cpp
  function _CRTIMP2_PURE (line 14) | _CRTIMP2_PURE void __cdecl ios_base::Init::_Init_ctor(ios_base::Init*) {...
  function _CRTIMP2_PURE (line 22) | _CRTIMP2_PURE void __cdecl ios_base::Init::_Init_dtor(ios_base::Init*) {...

FILE: stl/src/locale.cpp
  function _STD_BEGIN (line 18) | _STD_BEGIN

FILE: stl/src/locale0.cpp
  type _Fac_node (line 25) | struct _Fac_node { // node for lazy facet recording
    method _Fac_node (line 26) | _Fac_node(_Fac_node* _Nextarg, _Facet_base* _Facptrarg)
  type _Fac_tidy_reg_t (line 52) | struct _Fac_tidy_reg_t {
  function _MRTIMP2_PURE (line 108) | _MRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL std::locale::_Setgloballocale...
  function _MRTIMP2_PURE (line 138) | _MRTIMP2_PURE const locale& __CLRCALL_PURE_OR_CDECL locale::classic() { ...
  function _MRTIMP2_PURE (line 159) | _MRTIMP2_PURE locale __CLRCALL_PURE_OR_CDECL locale::empty() { // make e...

FILE: stl/src/memory_resource.cpp
  function _STD_BEGIN (line 8) | _STD_BEGIN

FILE: stl/src/multprec.cpp
  function _Unsigned128 (line 17) | [[nodiscard]] _Unsigned128 _Get_u128_from_mp(_MP_arr _Wx) noexcept {
  function _Assign_mp_from_u128 (line 24) | void _Assign_mp_from_u128(_MP_arr _Wx, const _Unsigned128 _Result) noexc...
  function _STD_BEGIN (line 36) | _STD_BEGIN
  function _CRTIMP2_PURE (line 44) | _CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL _MP_Add(_MP_arr _Wx, const ui...
  function _CRTIMP2_PURE (line 51) | _CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL _MP_Mul(_MP_arr _Wx, const ui...
  function _CRTIMP2_PURE (line 58) | _CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL _MP_Rem(_MP_arr _Wx, const ui...

FILE: stl/src/mutex.cpp
  function _CRTIMP2_PURE (line 16) | [[noreturn]] _CRTIMP2_PURE void __cdecl _Thrd_abort(const char* msg) noe...
  type __stl_sync_api_modes_enum (line 31) | enum class __stl_sync_api_modes_enum { normal, win7, vista, concrt }
  function _CRTIMP2 (line 32) | _CRTIMP2 void __cdecl __set_stl_sync_api_mode(__stl_sync_api_modes_enum)...
  function PSRWLOCK (line 34) | [[nodiscard]] static PSRWLOCK get_srw_lock(_Mtx_t mtx) noexcept {
  function _CRTIMP2_PURE (line 39) | _CRTIMP2_PURE void __cdecl _Mtx_init_in_situ(_Mtx_t mtx, int type) noexc...
  function _CRTIMP2_PURE (line 47) | _CRTIMP2_PURE void __cdecl _Mtx_destroy_in_situ(_Mtx_t mtx) noexcept { /...
  function _CRTIMP2_PURE (line 53) | _CRTIMP2_PURE _Thrd_result __cdecl _Mtx_init(_Mtx_t* mtx, int type) noex...
  function _CRTIMP2_PURE (line 69) | _CRTIMP2_PURE void __cdecl _Mtx_destroy(_Mtx_t mtx) noexcept { // destro...
  function _Thrd_result (line 76) | static _Thrd_result mtx_do_lock(_Mtx_t mtx, const _timespec64* target) n...
  function _CRTIMP2_PURE (line 149) | _CRTIMP2_PURE _Thrd_result __cdecl _Mtx_unlock(_Mtx_t mtx) noexcept { //...
  function _CRTIMP2_PURE (line 164) | _CRTIMP2_PURE _Thrd_result __cdecl _Mtx_lock(_Mtx_t mtx) noexcept { // l...
  function _CRTIMP2_PURE (line 168) | _CRTIMP2_PURE _Thrd_result __cdecl _Mtx_trylock(_Mtx_t mtx) noexcept { /...
  function _CRTIMP2_PURE (line 177) | _CRTIMP2_PURE _Thrd_result __cdecl _Mtx_timedlock(_Mtx_t mtx, const _tim...
  function _CRTIMP2_PURE (line 186) | _CRTIMP2_PURE int __cdecl _Mtx_current_owns(_Mtx_t mtx) noexcept { // te...
  function _CRTIMP2_PURE (line 191) | _CRTIMP2_PURE void* __cdecl _Mtx_getconcrtcs(_Mtx_t mtx) noexcept { // g...

FILE: stl/src/parallel_algorithms.cpp
  function __std_parallel_algorithms_hw_threads (line 12) | [[nodiscard]] unsigned int __stdcall __std_parallel_algorithms_hw_thread...
  function PTP_WORK (line 23) | [[nodiscard]] PTP_WORK __stdcall __std_create_threadpool_work(
  function __std_submit_threadpool_work (line 28) | void __stdcall __std_submit_threadpool_work(PTP_WORK _Work) noexcept {
  function __std_bulk_submit_threadpool_work (line 32) | void __stdcall __std_bulk_submit_threadpool_work(PTP_WORK _Work, const s...
  function __std_close_threadpool_work (line 38) | void __stdcall __std_close_threadpool_work(PTP_WORK _Work) noexcept {
  function __std_wait_for_threadpool_work_callbacks (line 42) | void __stdcall __std_wait_for_threadpool_work_callbacks(PTP_WORK _Work, ...
  function __std_execution_wait_on_uchar (line 46) | void __stdcall __std_execution_wait_on_uchar(const volatile unsigned cha...
  function __std_execution_wake_by_address_all (line 50) | void __stdcall __std_execution_wake_by_address_all(const volatile void* ...

FILE: stl/src/pplerror.cpp
  type Concurrency (line 20) | namespace Concurrency {
    type details (line 21) | namespace details {
      function _CRTIMP2 (line 23) | _CRTIMP2 void __thiscall _ExceptionHolder::ReportUnhandledError() {
      function _CRTIMP2 (line 56) | _CRTIMP2 void __thiscall _ExceptionHolder::ReportUnhandledError() {}
    type details (line 54) | namespace details {
      function _CRTIMP2 (line 23) | _CRTIMP2 void __thiscall _ExceptionHolder::ReportUnhandledError() {
      function _CRTIMP2 (line 56) | _CRTIMP2 void __thiscall _ExceptionHolder::ReportUnhandledError() {}
  type Concurrency (line 53) | namespace Concurrency {
    type details (line 21) | namespace details {
      function _CRTIMP2 (line 23) | _CRTIMP2 void __thiscall _ExceptionHolder::ReportUnhandledError() {
      function _CRTIMP2 (line 56) | _CRTIMP2 void __thiscall _ExceptionHolder::ReportUnhandledError() {}
    type details (line 54) | namespace details {
      function _CRTIMP2 (line 23) | _CRTIMP2 void __thiscall _ExceptionHolder::ReportUnhandledError() {
      function _CRTIMP2 (line 56) | _CRTIMP2 void __thiscall _ExceptionHolder::ReportUnhandledError() {}

FILE: stl/src/ppltasks.cpp
  type Concurrency (line 25) | namespace Concurrency {
    type details (line 27) | namespace details {
      function _CRTIMP2 (line 28) | [[noreturn]] _CRTIMP2 void __cdecl _ReportUnobservedException() {
      type platform (line 32) | namespace platform {
        function GetCurrentThreadId (line 34) | _CRTIMP2 long __cdecl GetCurrentThreadId() {
        function _CRTIMP2 (line 41) | _CRTIMP2 size_t __cdecl CaptureCallstack(void** stackData, size_t ...
        function GetNextAsyncId (line 48) | _CRTIMP2 unsigned int __cdecl GetNextAsyncId() {
      function _CRTIMP2 (line 54) | _CRTIMP2 void __thiscall _TaskEventLogger::_LogScheduleTask(bool) {}
      function _CRTIMP2 (line 56) | _CRTIMP2 void __thiscall _TaskEventLogger::_LogTaskCompleted() {}
      function _CRTIMP2 (line 58) | _CRTIMP2 void __thiscall _TaskEventLogger::_LogCancelTask() {}
      function _CRTIMP2 (line 60) | _CRTIMP2 void __thiscall _TaskEventLogger::_LogTaskExecutionComplete...
      function _CRTIMP2 (line 62) | _CRTIMP2 void __thiscall _TaskEventLogger::_LogWorkItemStarted() {}
      function _CRTIMP2 (line 64) | _CRTIMP2 void __thiscall _TaskEventLogger::_LogWorkItemCompleted() {}
      function HRESULT (line 76) | static HRESULT __stdcall _PPLTaskContextCallbackBridge(ComCallData* ...
      function _CRTIMP2 (line 81) | _CRTIMP2 void __thiscall _ContextCallback::_CallInContext(
      function _CRTIMP2 (line 98) | _CRTIMP2 void __thiscall _ContextCallback::_Capture() {
      function _CRTIMP2 (line 105) | _CRTIMP2 void __thiscall _ContextCallback::_Reset() {
      function _CRTIMP2 (line 111) | _CRTIMP2 void __thiscall _ContextCallback::_Assign(void* _PContextCa...
      function _CRTIMP2 (line 118) | _CRTIMP2 bool __cdecl _ContextCallback::_IsCurrentOriginSTA() {
      function _CRTIMP2 (line 140) | _CRTIMP2 bool __cdecl _Task_impl_base::_IsNonBlockingThread() {
      function _CRTIMP2 (line 171) | _CRTIMP2 void __thiscall _ContextCallback::_CallInContext(_CallbackF...
      function _CRTIMP2 (line 175) | _CRTIMP2 void __thiscall _ContextCallback::_Capture() {}
      function _CRTIMP2 (line 177) | _CRTIMP2 void __thiscall _ContextCallback::_Reset() {}
      function _CRTIMP2 (line 179) | _CRTIMP2 void __thiscall _ContextCallback::_Assign(void*) {}
      function _CRTIMP2 (line 181) | _CRTIMP2 bool __cdecl _ContextCallback::_IsCurrentOriginSTA() {
      function _CRTIMP2 (line 185) | _CRTIMP2 bool __cdecl _Task_impl_base::_IsNonBlockingThread() {

FILE: stl/src/primitives.hpp
  function _Primitive_wait_for (line 11) | inline bool _Primitive_wait_for(const _Cnd_t cond, const _Mtx_t mtx, con...
  function _Primitive_wait (line 17) | inline void _Primitive_wait(const _Cnd_t cond, const _Mtx_t mtx) noexcept {
  function _Primitive_notify_one (line 23) | inline void _Primitive_notify_one(const _Cnd_t cond) noexcept {
  function _Primitive_notify_all (line 28) | inline void _Primitive_notify_all(const _Cnd_t cond) noexcept {

FILE: stl/src/print.cpp
  function __std_unicode_console_retrieval_result (line 17) | __std_unicode_console_retrieval_result
  class _Allocated_string (line 58) | class _Allocated_string {
    method _Allocated_string (line 60) | _Allocated_string() noexcept {
    method wchar_t (line 70) | [[nodiscard]] wchar_t* _Data() noexcept {
    method _Capacity (line 74) | [[nodiscard]] size_t _Capacity() const noexcept {
    method _Grow (line 78) | [[nodiscard]] bool _Grow(const size_t _Capacity) noexcept {
    method _Using_heap (line 109) | [[nodiscard]] bool _Using_heap() const noexcept {
  class _Really_basic_string_view (line 121) | class _Really_basic_string_view {
    method _Really_basic_string_view (line 123) | _Really_basic_string_view() = default;
    method _Really_basic_string_view (line 125) | explicit _Really_basic_string_view(const _Char_type* const _Other_str,...
    method _Char_type (line 128) | [[nodiscard]] const _Char_type* _Data() const noexcept {
    method _Size (line 132) | [[nodiscard]] size_t _Size() const noexcept {
    method _Empty (line 136) | [[nodiscard]] bool _Empty() const noexcept {
  function _Minimal_string_view (line 148) | [[nodiscard]] _Minimal_string_view _Get_next_utf8_string_segment(
  class _Transcode_result (line 180) | class _Transcode_result {
    method _Transcode_result (line 182) | _Transcode_result() noexcept : _Transcoded_str(), _Successful(true) {}
    method _Transcode_result (line 184) | _Transcode_result(_Minimal_wstring_view _Result_str) noexcept
    method _Transcode_result (line 187) | _Transcode_result(__std_win_error _Result_error) noexcept : _Win_error...
    method _Has_value (line 189) | [[nodiscard]] bool _Has_value() const noexcept {
    method _Minimal_wstring_view (line 193) | [[nodiscard]] _Minimal_wstring_view _Value() const noexcept {
    method __std_win_error (line 197) | [[nodiscard]] __std_win_error _Error() const noexcept {
  function _Transcode_result (line 210) | [[nodiscard]] _Transcode_result _Transcode_utf8_string(
    method _Transcode_result (line 182) | _Transcode_result() noexcept : _Transcoded_str(), _Successful(true) {}
    method _Transcode_result (line 184) | _Transcode_result(_Minimal_wstring_view _Result_str) noexcept
    method _Transcode_result (line 187) | _Transcode_result(__std_win_error _Result_error) noexcept : _Win_error...
    method _Has_value (line 189) | [[nodiscard]] bool _Has_value() const noexcept {
    method _Minimal_wstring_view (line 193) | [[nodiscard]] _Minimal_wstring_view _Value() const noexcept {
    method __std_win_error (line 197) | [[nodiscard]] __std_win_error _Error() const noexcept {
  function __std_win_error (line 243) | [[nodiscard]] __std_win_error _Write_console(
  function __std_win_error (line 258) | __std_win_error
  function __std_win_error (line 300) | __std_win_error

FILE: stl/src/regex.cpp
  function __std_regex_transform_primary_char (line 23) | size_t __stdcall __std_regex_transform_primary_char(
  function __std_regex_transform_primary_wchar_t (line 69) | size_t __stdcall __std_regex_transform_primary_wchar_t(

FILE: stl/src/sharedmutex.cpp
  function _Smtx_lock_exclusive (line 16) | void __cdecl _Smtx_lock_exclusive(_Smtx_t* smtx) noexcept { // lock shar...
  function _Smtx_lock_shared (line 20) | void __cdecl _Smtx_lock_shared(_Smtx_t* smtx) noexcept { // lock shared ...
  function _Smtx_try_lock_exclusive (line 24) | int __cdecl _Smtx_try_lock_exclusive(_Smtx_t* smtx) noexcept { // try to...
  function _Smtx_try_lock_shared (line 28) | int __cdecl _Smtx_try_lock_shared(_Smtx_t* smtx) noexcept { // try to lo...
  function _Smtx_unlock_exclusive (line 32) | void __cdecl _Smtx_unlock_exclusive(_Smtx_t* smtx) noexcept { // unlock ...
  function _Smtx_unlock_shared (line 37) | void __cdecl _Smtx_unlock_shared(_Smtx_t* smtx) noexcept { // unlock non...
  function _Thrd_sleep_for (line 41) | void __stdcall _Thrd_sleep_for(const unsigned long ms) noexcept { // sus...
  function _Thrd_result (line 46) | _Thrd_result __stdcall _Cnd_timedwait_for_impl(
  function _Thrd_result (line 73) | _Thrd_result __stdcall _Cnd_timedwait_for(const _Cnd_t cond, const _Mtx_...
  function _Thrd_result (line 77) | _Thrd_result __stdcall _Cnd_timedwait_for_unchecked(

FILE: stl/src/special_math.cpp
  function _Boost_call (line 51) | [[nodiscard]] auto _Boost_call(const _Func& _Fn) noexcept {
  function _CRT_SATELLITE_2 (line 63) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_assoc_laguerre(
  function _CRT_SATELLITE_2 (line 72) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_assoc_laguerref(
  function _CRT_SATELLITE_2 (line 81) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_assoc_legendre(
  function _CRT_SATELLITE_2 (line 97) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_assoc_legendref(
  function _CRT_SATELLITE_2 (line 113) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_beta(const dou...
  function _CRT_SATELLITE_2 (line 117) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_betaf(const flo...
  function _CRT_SATELLITE_2 (line 121) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_comp_ellint_1(...
  function _CRT_SATELLITE_2 (line 125) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_comp_ellint_1f(...
  function _CRT_SATELLITE_2 (line 129) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_comp_ellint_2(...
  function _CRT_SATELLITE_2 (line 137) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_comp_ellint_2f(...
  function _CRT_SATELLITE_2 (line 145) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_comp_ellint_3(...
  function _CRT_SATELLITE_2 (line 157) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_comp_ellint_3f(...
  function _CRT_SATELLITE_2 (line 169) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_cyl_bessel_i(c...
  function _CRT_SATELLITE_2 (line 181) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_cyl_bessel_if(c...
  function _CRT_SATELLITE_2 (line 193) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_cyl_bessel_j(c...
  function _CRT_SATELLITE_2 (line 205) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_cyl_bessel_jf(c...
  function _CRT_SATELLITE_2 (line 217) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_cyl_bessel_k(c...
  function _CRT_SATELLITE_2 (line 229) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_cyl_bessel_kf(c...
  function _CRT_SATELLITE_2 (line 241) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_cyl_neumann(co...
  function _CRT_SATELLITE_2 (line 253) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_cyl_neumannf(co...
  function _CRT_SATELLITE_2 (line 265) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_ellint_1(const...
  function _CRT_SATELLITE_2 (line 277) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_ellint_1f(const...
  function _CRT_SATELLITE_2 (line 289) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_ellint_2(const...
  function _CRT_SATELLITE_2 (line 301) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_ellint_2f(const...
  function _CRT_SATELLITE_2 (line 313) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_ellint_3(
  function _CRT_SATELLITE_2 (line 330) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_ellint_3f(
  function _CRT_SATELLITE_2 (line 347) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_expint(const d...
  function _CRT_SATELLITE_2 (line 355) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_expintf(const f...
  function _CRT_SATELLITE_2 (line 363) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_hermite(const ...
  function _CRT_SATELLITE_2 (line 371) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_hermitef(const ...
  function _CRT_SATELLITE_2 (line 379) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_laguerre(const...
  function _CRT_SATELLITE_2 (line 387) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_laguerref(const...
  function _CRT_SATELLITE_2 (line 395) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_legendre(const...
  function _CRT_SATELLITE_2 (line 403) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_legendref(const...
  function _CRT_SATELLITE_2 (line 411) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_riemann_zeta(c...
  function _CRT_SATELLITE_2 (line 419) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_riemann_zetaf(c...
  function _CRT_SATELLITE_2 (line 427) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_sph_bessel(
  function _CRT_SATELLITE_2 (line 436) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_sph_besself(con...
  function _CRT_SATELLITE_2 (line 444) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_sph_legendre(
  function _CRT_SATELLITE_2 (line 453) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_sph_legendref(
  function _CRT_SATELLITE_2 (line 462) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_sph_neumann(
  function _CRT_SATELLITE_2 (line 471) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_sph_neumannf(
  function _Ty (line 483) | [[nodiscard]] _Ty _Hypot3(_Ty _Dx, _Ty _Dy, _Ty _Dz) noexcept { // type-...
  function _CRT_SATELLITE_2 (line 515) | [[nodiscard]] _CRT_SATELLITE_2 double __stdcall __std_smf_hypot3(
  function _CRT_SATELLITE_2 (line 520) | [[nodiscard]] _CRT_SATELLITE_2 float __stdcall __std_smf_hypot3f(

FILE: stl/src/stacktrace.cpp
  function string_fill (line 23) | size_t string_fill(const _Stacktrace_string_fill callback, const size_t ...
  class dbg_eng_data (line 31) | class [[nodiscard]] dbg_eng_data {
    method dbg_eng_data (line 33) | dbg_eng_data() noexcept {
    method dbg_eng_data (line 41) | dbg_eng_data(const dbg_eng_data&)            = delete;
    method dbg_eng_data (line 42) | dbg_eng_data& operator=(const dbg_eng_data&) = delete;
    method uninitialize (line 44) | void uninitialize() noexcept {
    method try_initialize (line 75) | [[nodiscard]] bool try_initialize() noexcept {
    method get_description (line 122) | size_t get_description(
    method source_file (line 165) | size_t source_file(const void* const address, void* const str, size_t ...
    method source_line (line 199) | [[nodiscard]] unsigned int source_line(const void* const address) noex...
    method address_to_string (line 210) | size_t address_to_string(
  function lock_and_uninitialize (line 241) | void lock_and_uninitialize() noexcept {
  function __std_stacktrace_capture (line 250) | [[nodiscard]] unsigned short __stdcall __std_stacktrace_capture(unsigned...
  function __std_stacktrace_description (line 259) | void __stdcall __std_stacktrace_description(
  function __std_stacktrace_source_file (line 270) | void __stdcall __std_stacktrace_source_file(
  function __std_stacktrace_source_line (line 281) | [[nodiscard]] unsigned int __stdcall __std_stacktrace_source_line(const ...
  function __std_stacktrace_address_to_string (line 291) | void __stdcall __std_stacktrace_address_to_string(
  function __std_stacktrace_to_string (line 302) | void __stdcall __std_stacktrace_to_string(const void* const* const _Addr...

FILE: stl/src/stdhndlr.cpp
  function _New_handler_interface (line 14) | int __cdecl _New_handler_interface(size_t) { // interface to existing Mi...
  function _STD_BEGIN (line 20) | _STD_BEGIN
  function _CRTIMP2 (line 30) | _CRTIMP2 new_handler __cdecl get_new_handler() noexcept { // get current...

FILE: stl/src/stdthrow.cpp
  function _CRTIMP2_PURE (line 10) | _CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL _Debug_message(
  function _CRTIMP2_PURE (line 17) | _CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL _Debug_message(

FILE: stl/src/syncstream.cpp
  type _Mutex_count_pair (line 21) | struct _Mutex_count_pair {
  function _STD (line 37) | [[nodiscard]] _STD shared_mutex* __stdcall __std_acquire_shared_mutex_fo...
  function __std_release_shared_mutex_for_instance (line 48) | void __stdcall __std_release_shared_mutex_for_instance(void* _Ptr) noexc...

FILE: stl/src/syserror.cpp
  type _Win_errtab_t (line 24) | struct _Win_errtab_t { // maps Windows error to Posix error
  type _Sys_errtab_t (line 123) | struct _Sys_errtab_t { // maps error_code to NTBS
  function _STD_BEGIN (line 212) | _STD_BEGIN
  function _CRTIMP2_PURE (line 236) | _CRTIMP2_PURE const char* __CLRCALL_PURE_OR_CDECL _Syserror_map(int _Err...

FILE: stl/src/syserror_import_lib.cpp
  type _Whitespace_bitmap_t (line 9) | struct _Whitespace_bitmap_t {
    method _Whitespace_bitmap_t (line 12) | constexpr _Whitespace_bitmap_t() noexcept : _Is_whitespace{} {
    method _Test (line 20) | [[nodiscard]] constexpr bool _Test(const char _Ch) const noexcept {

FILE: stl/src/taskscheduler.cpp
  type Concurrency (line 20) | namespace Concurrency {
    type details (line 21) | namespace details {
      function HMODULE (line 36) | HMODULE _Call_get_module_handle_ex(DWORD _Flags, LPCWSTR _Addr) {
      type _STL_host_status (line 53) | enum class _STL_host_status { _Exe, _Dll, _Unknown }
      function _STL_host_status (line 55) | _STL_host_status _Get_STL_host_status() {
      function _Increment_outstanding (line 74) | void _Increment_outstanding() {}
      function _Decrement_outstanding (line 75) | void _Decrement_outstanding() {}
      function _Increment_outstanding (line 81) | void _Increment_outstanding() { // block shutdown
      function _Decrement_outstanding (line 90) | void _Decrement_outstanding() { // release shutdown
      type _Task_scheduler_main_block (line 106) | struct _Task_scheduler_main_block {
        method _Task_scheduler_main_block (line 107) | _Task_scheduler_main_block()                                      ...
        method _Task_scheduler_main_block (line 108) | _Task_scheduler_main_block(const _Task_scheduler_main_block&)     ...
        method _Task_scheduler_main_block (line 109) | _Task_scheduler_main_block& operator=(const _Task_scheduler_main_b...
      function _Task_scheduler_callback (line 119) | void CALLBACK _Task_scheduler_callback(PTP_CALLBACK_INSTANCE _Pci, P...
      function _CRTIMP2 (line 138) | _CRTIMP2 void __cdecl _Release_chore(_Threadpool_chore* _Chore) {
      function _CRTIMP2 (line 145) | _CRTIMP2 int __cdecl _Reschedule_chore(const _Threadpool_chore* _Cho...
      function _CRTIMP2 (line 159) | _CRTIMP2 int __cdecl _Schedule_chore(_Threadpool_chore* _Chore) {

FILE: stl/src/thread0.cpp
  function _CRTIMP2_PURE (line 32) | [[noreturn]] _CRTIMP2_PURE void __cdecl _Throw_Cpp_error(int code) { // ...
  function _CRTIMP2_PURE (line 37) | [[noreturn]] _CRTIMP2_PURE void __cdecl _Throw_C_error(int code) { // th...

FILE: stl/src/tzdb.cpp
  type _Icu_api_level (line 18) | enum class _Icu_api_level : unsigned long {
  type _Icu_functions_table (line 25) | struct _Icu_functions_table {
  function _Load_address (line 45) | void _Load_address(
  function _Icu_api_level (line 55) | [[nodiscard]] _Icu_api_level _Init_icu_functions(_Icu_api_level _Level) ...
  function _Icu_api_level (line 99) | [[nodiscard]] _Icu_api_level _Acquire_icu_functions() noexcept {
  function __icu_ucal_close (line 108) | void __icu_ucal_close(UCalendar* cal) noexcept {
  function __icu_ucal_get (line 113) | [[nodiscard]] int32_t __icu_ucal_get(const UCalendar* cal, UCalendarDate...
  function __icu_ucal_getCanonicalTimeZoneID (line 118) | [[nodiscard]] int32_t __icu_ucal_getCanonicalTimeZoneID(const UChar* id,...
  function __icu_ucal_getDefaultTimeZone (line 124) | [[nodiscard]] int32_t __icu_ucal_getDefaultTimeZone(
  function __icu_ucal_getTimeZoneDisplayName (line 130) | [[nodiscard]] int32_t __icu_ucal_getTimeZoneDisplayName(const UCalendar*...
  function UBool (line 136) | [[nodiscard]] UBool __icu_ucal_getTimeZoneTransitionDate(
  function UCalendar (line 147) | [[nodiscard]] UCalendar* __icu_ucal_open(
  function UEnumeration (line 153) | [[nodiscard]] UEnumeration* __icu_ucal_openTimeZoneIDEnumeration(
  function __icu_ucal_setMillis (line 159) | void __icu_ucal_setMillis(UCalendar* cal, UDate dateTime, UErrorCode* st...
  function __icu_uenum_close (line 164) | void __icu_uenum_close(UEnumeration* en) noexcept {
  function __icu_uenum_count (line 169) | [[nodiscard]] int32_t __icu_uenum_count(UEnumeration* en, UErrorCode* ec...
  function UChar (line 174) | [[nodiscard]] const UChar* __icu_uenum_unext(UEnumeration* en, int32_t* ...
  type _UEnumeration_deleter (line 179) | struct _UEnumeration_deleter {
  type _UCalendar_deleter (line 185) | struct _UCalendar_deleter {
  function _STD (line 220) | [[nodiscard]] _STD unique_ptr<const char16_t[]> _Allocate_narrow_to_wide(
  function _STD (line 248) | [[nodiscard]] _STD unique_ptr<const char16_t[]> _Get_icu_string_impl(con...
  function _STD (line 277) | [[nodiscard]] _STD unique_ptr<const char16_t[]> _Get_canonical_id(
  function _STD (line 286) | [[nodiscard]] _STD unique_ptr<const char16_t[]> _Get_default_timezone(
  function _STD (line 294) | [[nodiscard]] _STD unique_ptr<const char16_t[]> _Get_timezone_short_id(
  function _STD (line 304) | [[nodiscard]] _STD unique_ptr<UCalendar, _UCalendar_deleter> _Get_cal(
  function _Ty (line 322) | [[nodiscard]] _Ty* _Report_error(_STD unique_ptr<_Ty, _Dx>& _Info, const...
  function _Ty (line 328) | [[nodiscard]] _Ty* _Propagate_error(_STD unique_ptr<_Ty, _Dx>& _Info) no...
  function __std_tzdb_delete_time_zones (line 417) | void __stdcall __std_tzdb_delete_time_zones(__std_tzdb_time_zones_info* ...
  function __std_tzdb_delete_current_zone (line 471) | void __stdcall __std_tzdb_delete_current_zone(__std_tzdb_current_zone_in...
  function __std_tzdb_delete_sys_info (line 588) | void __stdcall __std_tzdb_delete_sys_info(__std_tzdb_sys_info* const _In...
  function __std_tzdb_delete_leap_seconds (line 643) | void __stdcall __std_tzdb_delete_leap_seconds(__std_tzdb_leap_info* _Inf...
  function __std_free_crt (line 651) | void __stdcall __std_free_crt(void* p) noexcept {

FILE: stl/src/uncaught_exception.cpp
  function _STD_BEGIN (line 6) | _STD_BEGIN

FILE: stl/src/uncaught_exceptions.cpp
  function _STD_BEGIN (line 6) | _STD_BEGIN

FILE: stl/src/vector_algorithms.cpp
  function _Use_avx2 (line 27) | bool _Use_avx2() noexcept {
  function _Use_sse42 (line 31) | bool _Use_sse42() noexcept {
  type _Zeroupper_on_exit (line 35) | struct [[nodiscard]] _Zeroupper_on_exit { // TRANSITION, DevCom-10331414
    method _Zeroupper_on_exit (line 36) | _Zeroupper_on_exit() = default;
    method _Zeroupper_on_exit (line 38) | _Zeroupper_on_exit(const _Zeroupper_on_exit&)            = delete;
    method _Zeroupper_on_exit (line 39) | _Zeroupper_on_exit& operator=(const _Zeroupper_on_exit&) = delete;
  function __m256i (line 46) | __m256i _Avx2_tail_mask_32(const size_t _Count_in_bytes) noexcept {
  function _Use_FEAT_DotProd (line 56) | bool _Use_FEAT_DotProd() noexcept {
  function _Use_FEAT_I8MM (line 60) | bool _Use_FEAT_I8MM() noexcept {
  function _Use_FEAT_SHA3 (line 64) | bool _Use_FEAT_SHA3() noexcept {
  function _Use_FEAT_SVE (line 68) | bool _Use_FEAT_SVE() noexcept {
  function _Use_FEAT_SVE2 (line 72) | bool _Use_FEAT_SVE2() noexcept {
  function _Use_FEAT_SVE2p1 (line 76) | bool _Use_FEAT_SVE2p1() noexcept {
  function _Use_FEAT_SVE_SHA3 (line 80) | bool _Use_FEAT_SVE_SHA3() noexcept {
  function _Use_FEAT_AES (line 84) | bool _Use_FEAT_AES() noexcept {
  function _Use_FEAT_BitPerm (line 88) | bool _Use_FEAT_BitPerm() noexcept {
  function _Byte_length (line 93) | size_t _Byte_length(const void* const _First, const void* const _Last) n...
  function _Rewind_bytes (line 97) | void _Rewind_bytes(void*& _Target, const size_t _Offset) noexcept {
  function _Rewind_bytes (line 101) | void _Rewind_bytes(const void*& _Target, const size_t _Offset) noexcept {
  function _Advance_bytes (line 106) | void _Advance_bytes(void*& _Target, const _Integral _Offset) noexcept {
  function _Advance_bytes (line 111) | void _Advance_bytes(const void*& _Target, const _Integral _Offset) noexc...
  function __std_swap_ranges_trivially_swappable_noalias (line 119) | __declspec(noalias) void __cdecl __std_swap_ranges_trivially_swappable_n...
  function __std_swap_ranges_trivially_swappable_noalias (line 198) | __declspec(noalias) void __cdecl __std_swap_ranges_trivially_swappable_n...
  type _Rotating (line 287) | namespace _Rotating {
    function _Swap_3_ranges (line 305) | void __forceinline _Swap_3_ranges(void* _First1, void* const _Last1, v...
    function _Swap_3_ranges (line 409) | void _Swap_3_ranges(void* _First1, void* const _Last1, void* _First2, ...
    function _Use_buffer (line 502) | bool _Use_buffer(const size_t _Smaller, const size_t _Larger) noexcept {
  function __std_rotate (line 510) | __declspec(noalias) void __stdcall __std_rotate(void* _First, void* cons...
  type _Reversing (line 572) | namespace _Reversing {
    function _Reverse_tail (line 574) | void _Reverse_tail(_BidIt _First, _BidIt _Last) noexcept {
    function _Reverse_copy_tail (line 583) | void _Reverse_copy_tail(const _BidIt _First, _BidIt _Last, _OutIt _Des...
    type _Traits_1 (line 590) | struct _Traits_1 {
      method uint8x8_t (line 591) | static uint8x8_t _Rev(const uint8x8_t _Val) noexcept {
      method uint8x16_t (line 595) | static uint8x16_t _Rev(const uint8x16_t _Val) noexcept {
      method __m256i (line 774) | static __m256i _Rev_avx(const __m256i _Val) noexcept {
      method __m128i (line 783) | static __m128i _Rev_sse(const __m128i _Val) noexcept {
    type _Traits_2 (line 601) | struct _Traits_2 {
      method uint8x8_t (line 602) | static uint8x8_t _Rev(const uint8x8_t _Val) noexcept {
      method uint8x16_t (line 606) | static uint8x16_t _Rev(const uint8x16_t _Val) noexcept {
      method __m256i (line 790) | static __m256i _Rev_avx(const __m256i _Val) noexcept {
      method __m128i (line 799) | static __m128i _Rev_sse(const __m128i _Val) noexcept {
    type _Traits_4 (line 612) | struct _Traits_4 {
      method uint8x8_t (line 613) | static uint8x8_t _Rev(const uint8x8_t _Val) noexcept {
      method uint8x16_t (line 617) | static uint8x16_t _Rev(const uint8x16_t _Val) noexcept {
      method __m256i (line 806) | static __m256i _Rev_avx(const __m256i _Val) noexcept {
      method __m128i (line 811) | static __m128i _Rev_sse(const __m128i _Val) noexcept {
    type _Traits_8 (line 623) | struct _Traits_8 {
      method uint8x8_t (line 624) | static uint8x8_t _Rev(const uint8x8_t _Val) noexcept {
      method uint8x16_t (line 628) | static uint8x16_t _Rev(const uint8x16_t _Val) noexcept {
      method __m256i (line 817) | static __m256i _Rev_avx(const __m256i _Val) noexcept {
      method __m128i (line 821) | static __m128i _Rev_sse(const __m128i _Val) noexcept {
    function _Reverse_impl (line 634) | __declspec(noalias) void __cdecl _Reverse_impl(void* _First, void* _La...
    function _Reverse_copy_impl (line 712) | __declspec(noalias) void __cdecl _Reverse_copy_impl(
    type _Traits_1 (line 773) | struct _Traits_1 {
      method uint8x8_t (line 591) | static uint8x8_t _Rev(const uint8x8_t _Val) noexcept {
      method uint8x16_t (line 595) | static uint8x16_t _Rev(const uint8x16_t _Val) noexcept {
      method __m256i (line 774) | static __m256i _Rev_avx(const __m256i _Val) noexcept {
      method __m128i (line 783) | static __m128i _Rev_sse(const __m128i _Val) noexcept {
    type _Traits_2 (line 789) | struct _Traits_2 {
      method uint8x8_t (line 602) | static uint8x8_t _Rev(const uint8x8_t _Val) noexcept {
      method uint8x16_t (line 606) | static uint8x16_t _Rev(const uint8x16_t _Val) noexcept {
      method __m256i (line 790) | static __m256i _Rev_avx(const __m256i _Val) noexcept {
      method __m128i (line 799) | static __m128i _Rev_sse(const __m128i _Val) noexcept {
    type _Traits_4 (line 805) | struct _Traits_4 {
      method uint8x8_t (line 613) | static uint8x8_t _Rev(const uint8x8_t _Val) noexcept {
      method uint8x16_t (line 617) | static uint8x16_t _Rev(const uint8x16_t _Val) noexcept {
      method __m256i (line 806) | static __m256i _Rev_avx(const __m256i _Val) noexcept {
      method __m128i (line 811) | static __m128i _Rev_sse(const __m128i _Val) noexcept {
    type _Traits_8 (line 816) | struct _Traits_8 {
      method uint8x8_t (line 624) | static uint8x8_t _Rev(const uint8x8_t _Val) noexcept {
      method uint8x16_t (line 628) | static uint8x16_t _Rev(const uint8x16_t _Val) noexcept {
      method __m256i (line 817) | static __m256i _Rev_avx(const __m256i _Val) noexcept {
      method __m128i (line 821) | static __m128i _Rev_sse(const __m128i _Val) noexcept {
    function __m256i (line 826) | __m256i _Avx2_rev_tail_mask_32(const size_t _Count_in_bytes) noexcept {
    function _Reverse_impl (line 835) | __declspec(noalias) void __cdecl _Reverse_impl(void* _First, void* _La...
    function _Reverse_copy_impl (line 872) | __declspec(noalias) void __cdecl _Reverse_copy_impl(
  function __std_reverse_trivially_swappable_1 (line 924) | __declspec(noalias) void __cdecl __std_reverse_trivially_swappable_1(voi...
  function __std_reverse_trivially_swappable_2 (line 928) | __declspec(noalias) void __cdecl __std_reverse_trivially_swappable_2(voi...
  function __std_reverse_trivially_swappable_4 (line 932) | __declspec(noalias) void __cdecl __std_reverse_trivially_swappable_4(voi...
  function __std_reverse_trivially_swappable_8 (line 936) | __declspec(noalias) void __cdecl __std_reverse_trivially_swappable_8(voi...
  function __std_reverse_copy_trivially_copyable_1 (line 940) | __declspec(noalias) void __cdecl __std_reverse_copy_trivially_copyable_1(
  function __std_reverse_copy_trivially_copyable_2 (line 945) | __declspec(noalias) void __cdecl __std_reverse_copy_trivially_copyable_2(
  function __std_reverse_copy_trivially_copyable_4 (line 950) | __declspec(noalias) void __cdecl __std_reverse_copy_trivially_copyable_4(
  function __std_reverse_copy_trivially_copyable_8 (line 955) | __declspec(noalias) void __cdecl __std_reverse_copy_trivially_copyable_8(
  type _Min_max_mode (line 973) | enum _Min_max_mode {
  type _Traits_scalar (line 980) | struct _Traits_scalar : _Base {
  type _Traits_neon_base (line 988) | struct _Traits_neon_base {
    method _Exit_vectorized (line 996) | static void _Exit_vectorized() noexcept {}
  type _Traits_sse_base (line 999) | struct _Traits_sse_base {
    method __m128i (line 1008) | static __m128i _Zero() noexcept {
    method __m128i (line 1012) | static __m128i _All_ones() noexcept {
    method __m128i (line 1016) | static __m128i _Blend(const __m128i _Px1, const __m128i _Px2, const __...
    method _Mask (line 1020) | static unsigned long _Mask(const __m128i _Val) noexcept {
    method _Exit_vectorized (line 1024) | static void _Exit_vectorized() noexcept {}
    method _Get_first_h_pos (line 1026) | static unsigned long _Get_first_h_pos(const unsigned long _Mask) noexc...
    method _Get_last_h_pos (line 1033) | static unsigned long _Get_last_h_pos(const unsigned long _Mask) noexce...
  type _Traits_avx_base (line 1041) | struct _Traits_avx_base {
    method __m256i (line 1048) | static __m256i _Zero() noexcept {
    method __m256i (line 1052) | static __m256i _All_ones() noexcept {
    method __m256i (line 1056) | static __m256i _Blend(const __m256i _Px1, const __m256i _Px2, const __...
    method _Mask (line 1060) | static unsigned long _Mask(const __m256i _Val) noexcept {
    method _Exit_vectorized (line 1064) | static void _Exit_vectorized() noexcept {
    method _Get_first_h_pos (line 1068) | static unsigned long _Get_first_h_pos(const unsigned long _Mask) noexc...
    method _Get_last_h_pos (line 1072) | static unsigned long _Get_last_h_pos(const unsigned long _Mask) noexce...
  type _Traits_avx_i_base (line 1077) | struct _Traits_avx_i_base : _Traits_avx_base {
    method __m256i (line 1081) | static __m256i _Blendval(const __m256i _Px1, const __m256i _Px2, const...
    method __m256i (line 1085) | static __m256i _Load_mask(const void* const _Src, const __m256i _Mask)...
  type _Traits_1_base (line 1091) | struct _Traits_1_base {
  type _Traits_1_neon (line 1108) | struct _Traits_1_neon : _Traits_1_base, _Traits_neon_base {
    method _Vec_t (line 1111) | static _Vec_t _Sign_correction(const _Vec_t _Val, bool) noexcept {
    method _Vec_t (line 1115) | static _Vec_t _Zero() noexcept {
    method _Vec_t (line 1119) | static _Vec_t _All_ones() noexcept {
    method _Vec_t (line 1123) | static _Vec_t _Blend(const _Vec_t _Px1, const _Vec_t _Px2, const _Vec_...
    method _Mask (line 1128) | static uint64_t _Mask(const _Vec_t _Val) noexcept {
    method _Match_mask (line 1133) | static uint64_t _Match_mask(const _Vec_t _Val_lo, const _Vec_t _Val_hi...
    method _Get_first_h_pos (line 1138) | static unsigned long _Get_first_h_pos(const uint64_t _Mask) noexcept {
    method _Get_last_h_pos (line 1142) | static unsigned long _Get_last_h_pos(const uint64_t _Mask) noexcept {
    method _Vec_t (line 1146) | static _Vec_t _Load(const void* const _Src) noexcept {
    method _Vec_t (line 1150) | static _Vec_t _Inc(const _Vec_t _Idx) noexcept {
    method _Vec_t (line 1154) | static _Vec_t _H_min(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 1158) | static _Vec_t _H_max(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 1162) | static _Vec_t _H_min_u(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 1167) | static _Vec_t _H_max_u(const _Vec_t _Cur) noexcept {
    method _Signed_t (line 1172) | static _Signed_t _Get_any(const _Vec_t _Cur) noexcept {
    method _Unsigned_t (line 1176) | static _Unsigned_t _Get_v_pos(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 1180) | static _Vec_t _Cmp_eq(const _Vec_t _First, const _Vec_t _Second) noexc...
    method _Vec_t (line 1184) | static _Vec_t _Cmp_gt(const _Vec_t _First, const _Vec_t _Second) noexc...
    method _Vec_t (line 1188) | static _Vec_t _Cmp_gt_u(const _Vec_t _First, const _Vec_t _Second) noe...
    method _Vec_t (line 1192) | static _Vec_t _Cmp_eq_idx(const _Vec_t _First, const _Vec_t _Second) n...
    method _Vec_t (line 1196) | static _Vec_t _Min(const _Vec_t _First, const _Vec_t _Second, _Vec_t =...
    method _Vec_t (line 1200) | static _Vec_t _Max(const _Vec_t _First, const _Vec_t _Second, _Vec_t =...
    method _Vec_t (line 1204) | static _Vec_t _Min_u(const _Vec_t _First, const _Vec_t _Second, _Vec_t...
    method _Vec_t (line 1209) | static _Vec_t _Max_u(const _Vec_t _First, const _Vec_t _Second, _Vec_t...
    method _Vec_t (line 1214) | static _Vec_t _Mask_cast(const _Vec_t _Mask) noexcept {
  type _Traits_1_sse (line 1219) | struct _Traits_1_sse : _Traits_1_base, _Traits_sse_base {
    method __m128i (line 1220) | static __m128i _Load(const void* const _Src) noexcept {
    method __m128i (line 1224) | static __m128i _Sign_correction(const __m128i _Val, const bool _Sign) ...
    method __m128i (line 1231) | static __m128i _Inc(const __m128i _Idx) noexcept {
    method __m128i (line 1236) | static __m128i _H_func(const __m128i _Cur, const _Fn _Funct) noexcept {
    method __m128i (line 1248) | static __m128i _H_min(const __m128i _Cur) noexcept {
    method __m128i (line 1253) | static __m128i _H_max(const __m128i _Cur) noexcept {
    method __m128i (line 1258) | static __m128i _H_min_u(const __m128i _Cur) noexcept {
    method __m128i (line 1263) | static __m128i _H_max_u(const __m128i _Cur) noexcept {
    method _Signed_t (line 1268) | static _Signed_t _Get_any(const __m128i _Cur) noexcept {
    method _Unsigned_t (line 1272) | static _Unsigned_t _Get_v_pos(const __m128i _Idx) noexcept {
    method __m128i (line 1276) | static __m128i _Cmp_eq(const __m128i _First, const __m128i _Second) no...
    method __m128i (line 1280) | static __m128i _Cmp_gt(const __m128i _First, const __m128i _Second) no...
    method __m128i (line 1284) | static __m128i _Cmp_eq_idx(const __m128i _First, const __m128i _Second...
    method __m128i (line 1288) | static __m128i _Min(const __m128i _First, const __m128i _Second, __m12...
    method __m128i (line 1292) | static __m128i _Max(const __m128i _First, const __m128i _Second, __m12...
    method __m128i (line 1296) | static __m128i _Min_u(const __m128i _First, const __m128i _Second) noe...
    method __m128i (line 1300) | static __m128i _Max_u(const __m128i _First, const __m128i _Second) noe...
    method __m128i (line 1304) | static __m128i _Mask_cast(const __m128i _Mask) noexcept {
  type _Traits_1_avx (line 1309) | struct _Traits_1_avx : _Traits_1_base, _Traits_avx_i_base {
    method __m256i (line 1310) | static __m256i _Load(const void* const _Src) noexcept {
    method __m256i (line 1314) | static __m256i _Sign_correction(const __m256i _Val, const bool _Sign) ...
    method __m256i (line 1323) | static __m256i _Inc(const __m256i _Idx) noexcept {
    method __m256i (line 1328) | static __m256i _H_func(const __m256i _Cur, const _Fn _Funct) noexcept {
    method __m256i (line 1341) | static __m256i _H_min(const __m256i _Cur) noexcept {
    method __m256i (line 1346) | static __m256i _H_max(const __m256i _Cur) noexcept {
    method __m256i (line 1351) | static __m256i _H_min_u(const __m256i _Cur) noexcept {
    method __m256i (line 1356) | static __m256i _H_max_u(const __m256i _Cur) noexcept {
    method _Signed_t (line 1361) | static _Signed_t _Get_any(const __m256i _Cur) noexcept {
    method _Unsigned_t (line 1365) | static _Unsigned_t _Get_v_pos(const __m256i _Idx) noexcept {
    method __m256i (line 1369) | static __m256i _Cmp_eq(const __m256i _First, const __m256i _Second) no...
    method __m256i (line 1373) | static __m256i _Cmp_gt(const __m256i _First, const __m256i _Second) no...
    method __m256i (line 1377) | static __m256i _Cmp_eq_idx(const __m256i _First, const __m256i _Second...
    method __m256i (line 1381) | static __m256i _Min(
    method __m256i (line 1386) | static __m256i _Max(
    method __m256i (line 1391) | static __m256i _Min_u(const __m256i _First, const __m256i _Second) noe...
    method __m256i (line 1395) | static __m256i _Max_u(const __m256i _First, const __m256i _Second) noe...
    method __m256i (line 1399) | static __m256i _Mask_cast(const __m256i _Mask) noexcept {
  type _Traits_2_base (line 1405) | struct _Traits_2_base {
  type _Traits_2_neon (line 1422) | struct _Traits_2_neon : _Traits_2_base, _Traits_neon_base {
    method _Vec_t (line 1425) | static _Vec_t _Sign_correction(const _Vec_t _Val, bool) noexcept {
    method _Vec_t (line 1429) | static _Vec_t _Zero() noexcept {
    method _Vec_t (line 1433) | static _Vec_t _All_ones() noexcept {
    method _Vec_t (line 1437) | static _Vec_t _Blend(const _Vec_t _Px1, const _Vec_t _Px2, const _Vec_...
    method _Mask (line 1442) | static uint64_t _Mask(const _Vec_t _Val) noexcept {
    method _Match_mask (line 1447) | static uint64_t _Match_mask(const _Vec_t _Val_lo, const _Vec_t _Val_hi...
    method _Get_first_h_pos (line 1452) | static unsigned long _Get_first_h_pos(const uint64_t _Mask) noexcept {
    method _Get_last_h_pos (line 1456) | static unsigned long _Get_last_h_pos(const uint64_t _Mask) noexcept {
    method _Vec_t (line 1460) | static _Vec_t _Load(const void* const _Src) noexcept {
    method _Vec_t (line 1464) | static _Vec_t _Inc(const _Vec_t _Idx) noexcept {
    method _Vec_t (line 1468) | static _Vec_t _H_min(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 1472) | static _Vec_t _H_max(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 1476) | static _Vec_t _H_min_u(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 1481) | static _Vec_t _H_max_u(const _Vec_t _Cur) noexcept {
    method _Signed_t (line 1486) | static _Signed_t _Get_any(const _Vec_t _Cur) noexcept {
    method _Unsigned_t (line 1490) | static _Unsigned_t _Get_v_pos(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 1494) | static _Vec_t _Cmp_eq(const _Vec_t _First, const _Vec_t _Second) noexc...
    method _Vec_t (line 1498) | static _Vec_t _Cmp_gt(const _Vec_t _First, const _Vec_t _Second) noexc...
    method _Vec_t (line 1502) | static _Vec_t _Cmp_gt_u(const _Vec_t _First, const _Vec_t _Second) noe...
    method _Vec_t (line 1506) | static _Vec_t _Cmp_eq_idx(const _Vec_t _First, const _Vec_t _Second) n...
    method _Vec_t (line 1510) | static _Vec_t _Min(const _Vec_t _First, const _Vec_t _Second, _Vec_t =...
    method _Vec_t (line 1514) | static _Vec_t _Max(const _Vec_t _First, const _Vec_t _Second, _Vec_t =...
    method _Vec_t (line 1518) | static _Vec_t _Min_u(const _Vec_t _First, const _Vec_t _Second, _Vec_t...
    method _Vec_t (line 1523) | static _Vec_t _Max_u(const _Vec_t _First, const _Vec_t _Second, _Vec_t...
    method _Vec_t (line 1528) | static _Vec_t _Mask_cast(const _Vec_t _Mask) noexcept {
  type _Traits_2_sse (line 1533) | struct _Traits_2_sse : _Traits_2_base, _Traits_sse_base {
    method __m128i (line 1534) | static __m128i _Load(const void* const _Src) noexcept {
    method __m128i (line 1538) | static __m128i _Sign_correction(const __m128i _Val, const bool _Sign) ...
    method __m128i (line 1544) | static __m128i _Inc(const __m128i _Idx) noexcept {
    method __m128i (line 1549) | static __m128i _H_func(const __m128i _Cur, const _Fn _Funct) noexcept {
    method __m128i (line 1559) | static __m128i _H_min(const __m128i _Cur) noexcept {
    method __m128i (line 1564) | static __m128i _H_max(const __m128i _Cur) noexcept {
    method __m128i (line 1569) | static __m128i _H_min_u(const __m128i _Cur) noexcept {
    method __m128i (line 1574) | static __m128i _H_max_u(const __m128i _Cur) noexcept {
    method _Signed_t (line 1579) | static _Signed_t _Get_any(const __m128i _Cur) noexcept {
    method _Unsigned_t (line 1583) | static _Unsigned_t _Get_v_pos(const __m128i _Idx) noexcept {
    method __m128i (line 1587) | static __m128i _Cmp_eq(const __m128i _First, const __m128i _Second) no...
    method __m128i (line 1591) | static __m128i _Cmp_gt(const __m128i _First, const __m128i _Second) no...
    method __m128i (line 1595) | static __m128i _Cmp_eq_idx(const __m128i _First, const __m128i _Second...
    method __m128i (line 1599) | static __m128i _Min(const __m128i _First, const __m128i _Second, __m12...
    method __m128i (line 1603) | static __m128i _Max(const __m128i _First, const __m128i _Second, __m12...
    method __m128i (line 1607) | static __m128i _Min_u(const __m128i _First, const __m128i _Second) noe...
    method __m128i (line 1611) | static __m128i _Max_u(const __m128i _First, const __m128i _Second) noe...
    method __m128i (line 1615) | static __m128i _Mask_cast(const __m128i _Mask) noexcept {
  type _Traits_2_avx (line 1620) | struct _Traits_2_avx : _Traits_2_base, _Traits_avx_i_base {
    method __m256i (line 1621) | static __m256i _Load(const void* const _Src) noexcept {
    method __m256i (line 1625) | static __m256i _Sign_correction(const __m256i _Val, const bool _Sign) ...
    method __m256i (line 1632) | static __m256i _Inc(const __m256i _Idx) noexcept {
    method __m256i (line 1637) | static __m256i _H_func(const __m256i _Cur, const _Fn _Funct) noexcept {
    method __m256i (line 1648) | static __m256i _H_min(const __m256i _Cur) noexcept {
    method __m256i (line 1653) | static __m256i _H_max(const __m256i _Cur) noexcept {
    method __m256i (line 1658) | static __m256i _H_min_u(const __m256i _Cur) noexcept {
    method __m256i (line 1663) | static __m256i _H_max_u(const __m256i _Cur) noexcept {
    method _Signed_t (line 1668) | static _Signed_t _Get_any(const __m256i _Cur) noexcept {
    method _Unsigned_t (line 1672) | static _Unsigned_t _Get_v_pos(const __m256i _Idx) noexcept {
    method __m256i (line 1676) | static __m256i _Cmp_eq(const __m256i _First, const __m256i _Second) no...
    method __m256i (line 1680) | static __m256i _Cmp_gt(const __m256i _First, const __m256i _Second) no...
    method __m256i (line 1684) | static __m256i _Cmp_eq_idx(const __m256i _First, const __m256i _Second...
    method __m256i (line 1688) | static __m256i _Min(
    method __m256i (line 1693) | static __m256i _Max(
    method __m256i (line 1698) | static __m256i _Min_u(const __m256i _First, const __m256i _Second) noe...
    method __m256i (line 1702) | static __m256i _Max_u(const __m256i _First, const __m256i _Second) noe...
    method __m256i (line 1706) | static __m256i _Mask_cast(const __m256i _Mask) noexcept {
  type _Traits_4_base (line 1712) | struct _Traits_4_base {
  type _Traits_4_neon (line 1733) | struct _Traits_4_neon : _Traits_4_base, _Traits_neon_base {
    method _Vec_t (line 1736) | static _Vec_t _Sign_correction(const _Vec_t _Val, bool) noexcept {
    method _Vec_t (line 1740) | static _Vec_t _Zero() noexcept {
    method _Vec_t (line 1744) | static _Vec_t _All_ones() noexcept {
    method _Vec_t (line 1748) | static _Vec_t _Blend(const _Vec_t _Px1, const _Vec_t _Px2, const _Vec_...
    method _Mask (line 1753) | static uint64_t _Mask(const int32x4_t _Val) noexcept {
    method _Match_mask (line 1758) | static uint64_t _Match_mask(const _Vec_t _Val_lo, const _Vec_t _Val_hi...
    method _Get_first_h_pos (line 1763) | static unsigned long _Get_first_h_pos(const uint64_t _Mask) noexcept {
    method _Get_last_h_pos (line 1767) | static unsigned long _Get_last_h_pos(const uint64_t _Mask) noexcept {
    method _Vec_t (line 1771) | static _Vec_t _Load(const void* const _Src) noexcept {
    method _Vec_t (line 1775) | static _Vec_t _Inc(const _Vec_t _Idx) noexcept {
    method _Vec_t (line 1779) | static _Vec_t _H_min(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 1783) | static _Vec_t _H_max(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 1787) | static _Vec_t _H_min_u(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 1792) | static _Vec_t _H_max_u(const _Vec_t _Cur) noexcept {
    method _Signed_t (line 1797) | static _Signed_t _Get_any(const _Vec_t _Cur) noexcept {
    method _Unsigned_t (line 1801) | static _Unsigned_t _Get_v_pos(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 1805) | static _Vec_t _Cmp_eq(const _Vec_t _First, const _Vec_t _Second) noexc...
    method _Vec_t (line 1809) | static _Vec_t _Cmp_gt(const _Vec_t _First, const _Vec_t _Second) noexc...
    method _Vec_t (line 1813) | static _Vec_t _Cmp_gt_u(const _Vec_t _First, const _Vec_t _Second) noe...
    method _Vec_t (line 1817) | static _Vec_t _Cmp_eq_idx(const _Vec_t _First, const _Vec_t _Second) n...
    method _Vec_t (line 1821) | static _Vec_t _Min(const _Vec_t _First, const _Vec_t _Second, _Vec_t =...
    method _Vec_t (line 1825) | static _Vec_t _Max(const _Vec_t _First, const _Vec_t _Second, _Vec_t =...
    method _Vec_t (line 1829) | static _Vec_t _Min_u(const _Vec_t _First, const _Vec_t _Second, _Vec_t...
    method _Vec_t (line 1834) | static _Vec_t _Max_u(const _Vec_t _First, const _Vec_t _Second, _Vec_t...
    method _Vec_t (line 1839) | static _Vec_t _Mask_cast(const _Vec_t _Mask) noexcept {
  type _Traits_4_sse (line 1844) | struct _Traits_4_sse : _Traits_4_base, _Traits_sse_base {
    method __m128i (line 1845) | static __m128i _Load(const void* const _Src) noexcept {
    method __m128i (line 1849) | static __m128i _Sign_correction(const __m128i _Val, const bool _Sign) ...
    method __m128i (line 1855) | static __m128i _Inc(const __m128i _Idx) noexcept {
    method __m128i (line 1860) | static __m128i _H_func(const __m128i _Cur, const _Fn _Funct) noexcept {
    method __m128i (line 1867) | static __m128i _H_min(const __m128i _Cur) noexcept {
    method __m128i (line 1872) | static __m128i _H_max(const __m128i _Cur) noexcept {
    method __m128i (line 1877) | static __m128i _H_min_u(const __m128i _Cur) noexcept {
    method __m128i (line 1882) | static __m128i _H_max_u(const __m128i _Cur) noexcept {
    method _Signed_t (line 1887) | static _Signed_t _Get_any(const __m128i _Cur) noexcept {
    method _Unsigned_t (line 1891) | static _Unsigned_t _Get_v_pos(const __m128i _Idx) noexcept {
    method __m128i (line 1895) | static __m128i _Cmp_eq(const __m128i _First, const __m128i _Second) no...
    method __m128i (line 1899) | static __m128i _Cmp_gt(const __m128i _First, const __m128i _Second) no...
    method __m128i (line 1903) | static __m128i _Cmp_eq_idx(const __m128i _First, const __m128i _Second...
    method __m128i (line 1907) | static __m128i _Min(const __m128i _First, const __m128i _Second, __m12...
    method __m128i (line 1911) | static __m128i _Max(const __m128i _First, const __m128i _Second, __m12...
    method __m128i (line 1915) | static __m128i _Min_u(const __m128i _First, const __m128i _Second) noe...
    method __m128i (line 1919) | static __m128i _Max_u(const __m128i _First, const __m128i _Second) noe...
    method __m128i (line 1923) | static __m128i _Mask_cast(const __m128i _Mask) noexcept {
  type _Traits_4_avx (line 1928) | struct _Traits_4_avx : _Traits_4_base, _Traits_avx_i_base {
    method __m256i (line 1929) | static __m256i _Load(const void* const _Src) noexcept {
    method __m256i (line 1933) | static __m256i _Sign_correction(const __m256i _Val, const bool _Sign) ...
    method __m256i (line 1940) | static __m256i _Inc(const __m256i _Idx) noexcept {
    method __m256i (line 1945) | static __m256i _H_func(const __m256i _Cur, const _Fn _Funct) noexcept {
    method __m256i (line 1953) | static __m256i _H_min(const __m256i _Cur) noexcept {
    method __m256i (line 1958) | static __m256i _H_max(const __m256i _Cur) noexcept {
    method __m256i (line 1963) | static __m256i _H_min_u(const __m256i _Cur) noexcept {
    method __m256i (line 1968) | static __m256i _H_max_u(const __m256i _Cur) noexcept {
    method _Signed_t (line 1973) | static _Signed_t _Get_any(const __m256i _Cur) noexcept {
    method _Unsigned_t (line 1977) | static _Unsigned_t _Get_v_pos(const __m256i _Idx) noexcept {
    method __m256i (line 1981) | static __m256i _Cmp_eq(const __m256i _First, const __m256i _Second) no...
    method __m256i (line 1985) | static __m256i _Cmp_gt(const __m256i _First, const __m256i _Second) no...
    method __m256i (line 1989) | static __m256i _Cmp_eq_idx(const __m256i _First, const __m256i _Second...
    method __m256i (line 1993) | static __m256i _Min(
    method __m256i (line 1998) | static __m256i _Max(
    method __m256i (line 2003) | static __m256i _Min_u(const __m256i _First, const __m256i _Second) noe...
    method __m256i (line 2007) | static __m256i _Max_u(const __m256i _First, const __m256i _Second) noe...
    method __m256i (line 2011) | static __m256i _Mask_cast(const __m256i _Mask) noexcept {
  type _Traits_8_base (line 2017) | struct _Traits_8_base {
  type _Traits_8_neon (line 2033) | struct _Traits_8_neon : _Traits_8_base, _Traits_neon_base {
    method _Vec_t (line 2036) | static _Vec_t _Sign_correction(const _Vec_t _Val, bool) noexcept {
    method _Mask (line 2041) | static uint64_t _Mask(const _Vec_t _Val) noexcept {
    method _Match_mask (line 2046) | static uint64_t _Match_mask(const _Vec_t _Val_lo, const _Vec_t _Val_hi...
    method _Get_first_h_pos (line 2051) | static unsigned long _Get_first_h_pos(const uint64_t _Mask) noexcept {
    method _Vec_t (line 2055) | static _Vec_t _Load(const void* const _Src) noexcept {
    method _Vec_t (line 2059) | static _Vec_t _H_min(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 2065) | static _Vec_t _H_max(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 2071) | static _Vec_t _H_min_u(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 2078) | static _Vec_t _H_max_u(const _Vec_t _Cur) noexcept {
    method _Signed_t (line 2085) | static _Signed_t _Get_any(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 2089) | static _Vec_t _Cmp_gt(const _Vec_t _First, const _Vec_t _Second) noexc...
    method _Vec_t (line 2093) | static _Vec_t _Cmp_gt_u(const _Vec_t _First, const _Vec_t _Second) noe...
    method _Vec_t (line 2097) | static _Vec_t _Min(const _Vec_t _First, const _Vec_t _Second, const _V...
    method _Vec_t (line 2101) | static _Vec_t _Min(const _Vec_t _First, const _Vec_t _Second) noexcept {
    method _Vec_t (line 2105) | static _Vec_t _Min_u(const _Vec_t _First, const _Vec_t _Second) noexce...
    method _Vec_t (line 2109) | static _Vec_t _Max(const _Vec_t _First, const _Vec_t _Second, const _V...
    method _Vec_t (line 2113) | static _Vec_t _Max(const _Vec_t _First, const _Vec_t _Second) noexcept {
    method _Vec_t (line 2117) | static _Vec_t _Max_u(const _Vec_t _First, const _Vec_t _Second) noexce...
    method _Vec_t (line 2121) | static _Vec_t _Mask_cast(const _Vec_t _Mask) noexcept {
  type _Traits_8_sse (line 2126) | struct _Traits_8_sse : _Traits_8_base, _Traits_sse_base {
    method __m128i (line 2127) | static __m128i _Load(const void* const _Src) noexcept {
    method __m128i (line 2131) | static __m128i _Sign_correction(const __m128i _Val, const bool _Sign) ...
    method __m128i (line 2137) | static __m128i _Inc(const __m128i _Idx) noexcept {
    method __m128i (line 2142) | static __m128i _H_func(const __m128i _Cur, const _Fn _Funct) noexcept {
    method __m128i (line 2151) | static __m128i _H_min(const __m128i _Cur) noexcept {
    method __m128i (line 2155) | static __m128i _H_max(const __m128i _Cur) noexcept {
    method __m128i (line 2159) | static __m128i _H_min_u(const __m128i _Cur) noexcept {
    method __m128i (line 2164) | static __m128i _H_max_u(const __m128i _Cur) noexcept {
    method _Signed_t (line 2169) | static _Signed_t _Get_any(const __m128i _Cur) noexcept {
    method _Unsigned_t (line 2177) | static _Unsigned_t _Get_v_pos(const __m128i _Idx) noexcept {
    method __m128i (line 2181) | static __m128i _Cmp_eq(const __m128i _First, const __m128i _Second) no...
    method __m128i (line 2185) | static __m128i _Cmp_gt(const __m128i _First, const __m128i _Second) no...
    method __m128i (line 2189) | static __m128i _Cmp_eq_idx(const __m128i _First, const __m128i _Second...
    method __m128i (line 2193) | static __m128i _Min(const __m128i _First, const __m128i _Second, const...
    method __m128i (line 2197) | static __m128i _Max(const __m128i _First, const __m128i _Second, const...
    method __m128i (line 2201) | static __m128i _Min(const __m128i _First, const __m128i _Second) noexc...
    method __m128i (line 2205) | static __m128i _Max(const __m128i _First, const __m128i _Second) noexc...
    method __m128i (line 2209) | static __m128i _Mask_cast(const __m128i _Mask) noexcept {
  type _Traits_8_avx (line 2214) | struct _Traits_8_avx : _Traits_8_base, _Traits_avx_i_base {
    method __m256i (line 2215) | static __m256i _Load(const void* const _Src) noexcept {
    method __m256i (line 2219) | static __m256i _Sign_correction(const __m256i _Val, const bool _Sign) ...
    method __m256i (line 2226) | static __m256i _Inc(const __m256i _Idx) noexcept {
    method __m256i (line 2231) | static __m256i _H_func(const __m256i _Cur, const _Fn _Funct) noexcept {
    method __m256i (line 2252) | static __m256i _H_min(const __m256i _Cur) noexcept {
    method __m256i (line 2256) | static __m256i _H_max(const __m256i _Cur) noexcept {
    method __m256i (line 2260) | static __m256i _H_min_u(const __m256i _Cur) noexcept {
    method __m256i (line 2265) | static __m256i _H_max_u(const __m256i _Cur) noexcept {
    method _Signed_t (line 2270) | static _Signed_t _Get_any(const __m256i _Cur) noexcept {
    method _Unsigned_t (line 2274) | static _Unsigned_t _Get_v_pos(const __m256i _Idx) noexcept {
    method __m256i (line 2278) | static __m256i _Cmp_eq(const __m256i _First, const __m256i _Second) no...
    method __m256i (line 2282) | static __m256i _Cmp_gt(const __m256i _First, const __m256i _Second) no...
    method __m256i (line 2286) | static __m256i _Cmp_eq_idx(const __m256i _First, const __m256i _Second...
    method __m256i (line 2290) | static __m256i _Min(const __m256i _First, const __m256i _Second, const...
    method __m256i (line 2294) | static __m256i _Max(const __m256i _First, const __m256i _Second, const...
    method __m256i (line 2298) | static __m256i _Min(const __m256i _First, const __m256i _Second) noexc...
    method __m256i (line 2302) | static __m256i _Max(const __m256i _First, const __m256i _Second) noexc...
    method __m256i (line 2306) | static __m256i _Mask_cast(const __m256i _Mask) noexcept {
  type _Traits_f_base (line 2312) | struct _Traits_f_base {
  type _Traits_f_neon (line 2333) | struct _Traits_f_neon : _Traits_f_base, _Traits_neon_base {
    method _Vec_t (line 2338) | static _Vec_t _Sign_correction(const _Vec_t _Val, bool) noexcept {
    method _Idx_t (line 2342) | static _Idx_t _Zero() noexcept {
    method _Idx_t (line 2346) | static _Idx_t _All_ones() noexcept {
    method _Idx_t (line 2350) | static _Idx_t _Blend(const _Idx_t _Px1, const _Idx_t _Px2, const _Idx_...
    method _Mask (line 2354) | static uint64_t _Mask(const _Idx_t _Val) noexcept {
    method _Match_mask (line 2358) | static uint64_t _Match_mask(const _Idx_t _Val_lo, const _Idx_t _Val_hi...
    method _Get_first_h_pos (line 2362) | static unsigned long _Get_first_h_pos(const uint64_t _Mask) noexcept {
    method _Get_last_h_pos (line 2366) | static unsigned long _Get_last_h_pos(const uint64_t _Mask) noexcept {
    method _Vec_t (line 2370) | static _Vec_t _Load(const void* const _Src) noexcept {
    method _Idx_t (line 2374) | static _Idx_t _Inc(const _Idx_t _Idx) noexcept {
    method _Vec_t (line 2378) | static _Vec_t _H_min(const _Vec_t _Cur) noexcept {
    method _Vec_t (line 2382) | static _Vec_t _H_max(const _Vec_t _Cur) noexcept {
    method _Idx_t (line 2386) | static _Idx_t _H_min_u(const _Idx_t _Cur) noexcept {
    method _Idx_t (line 2390) | static _Idx_t _H_max_u(const _Idx_t _Cur) noexcept {
    method _Get_any (line 2394) | static float _Get_any(const _Vec_t _Cur) noexcept {
    method _Get_v_pos (line 2398) | static _Traits_4_neon::_Unsigned_t _Get_v_pos(const _Idx_t _Cur) noexc...
    method _Idx_t (line 2402) | static _Idx_t _Cmp_eq(const _Vec_t _First, const _Vec_t _Second) noexc...
    method _Idx_t (line 2406) | static _Idx_t _Cmp_gt(const _Vec_t _First, const _Vec_t _Second) noexc...
    method _Idx_t (line 2410) | static _Idx_t _Cmp_eq_idx(const _Idx_t _First, const _Idx_t _Second) n...
    method _Vec_t (line 2414) | static _Vec_t _Min(const _Vec_t _First, const _Vec_t _Second, _Idx_t =...
    method _Vec_t (line 2418) | static _Vec_t _Max(const _Vec_t _First, const _Vec_t _Second, _Idx_t =...
    method _Idx_t (line 2422) | static _Idx_t _Mask_cast(const _Idx_t _Mask) noexcept {
  type _Traits_f_sse (line 2427) | struct _Traits_f_sse : _Traits_f_base, _Traits_sse_base {
    method __m128 (line 2430) | static __m128 _Load(const void* const _Src) noexcept {
    method __m128 (line 2434) | static __m128 _Sign_correction(const __m128 _Val, bool) noexcept {
    method __m128i (line 2438) | static __m128i _Inc(const __m128i _Idx) noexcept {
    method __m128 (line 2443) | static __m128 _H_func(const __m128 _Cur, const _Fn _Funct) noexcept {
    method __m128 (line 2450) | static __m128 _H_min(const __m128 _Cur) noexcept {
    method __m128 (line 2455) | static __m128 _H_max(const __m128 _Cur) noexcept {
    method __m128i (line 2460) | static __m128i _H_min_u(const __m128i _Cur) noexcept {
    method __m128i (line 2464) | static __m128i _H_max_u(const __m128i _Cur) noexcept {
    method _Get_any (line 2468) | static float _Get_any(const __m128 _Cur) noexcept {
    method _Get_v_pos (line 2472) | static uint32_t _Get_v_pos(const __m128i _Idx) noexcept {
    method __m128 (line 2476) | static __m128 _Cmp_eq(const __m128 _First, const __m128 _Second) noexc...
    method __m128 (line 2480) | static __m128 _Cmp_gt(const __m128 _First, const __m128 _Second) noexc...
    method __m128i (line 2484) | static __m128i _Cmp_eq_idx(const __m128i _First, const __m128i _Second...
    method __m128 (line 2488) | static __m128 _Min(const __m128 _First, const __m128 _Second, __m128 =...
    method __m128 (line 2492) | static __m128 _Max(const __m128 _First, const __m128 _Second, __m128 =...
    method __m128i (line 2496) | static __m128i _Mask_cast(const __m128 _Mask) noexcept {
  type _Traits_f_avx (line 2501) | struct _Traits_f_avx : _Traits_f_base, _Traits_avx_base {
    method __m256 (line 2505) | static __m256 _Blendval(const __m256 _Px1, const __m256 _Px2, const __...
    method __m256 (line 2509) | static __m256 _Load(const void* const _Src) noexcept {
    method __m256 (line 2513) | static __m256 _Load_mask(const void* const _Src, const __m256i _Mask) ...
    method __m256 (line 2517) | static __m256 _Sign_correction(const __m256 _Val, bool) noexcept {
    method __m256i (line 2521) | static __m256i _Inc(const __m256i _Idx) noexcept {
    method __m256 (line 2526) | static __m256 _H_func(const __m256 _Cur, const _Fn _Funct) noexcept {
    method __m256 (line 2534) | static __m256 _H_min(const __m256 _Cur) noexcept {
    method __m256 (line 2539) | static __m256 _H_max(const __m256 _Cur) noexcept {
    method __m256i (line 2544) | static __m256i _H_min_u(const __m256i _Cur) noexcept {
    method __m256i (line 2548) | static __m256i _H_max_u(const __m256i _Cur) noexcept {
    method _Get_any (line 2552) | static float _Get_any(const __m256 _Cur) noexcept {
    method _Get_v_pos (line 2556) | static uint32_t _Get_v_pos(const __m256i _Idx) noexcept {
    method __m256 (line 2560) | static __m256 _Cmp_eq(const __m256 _First, const __m256 _Second) noexc...
    method __m256 (line 2564) | static __m256 _Cmp_gt(const __m256 _First, const __m256 _Second) noexc...
    method __m256i (line 2568) | static __m256i _Cmp_eq_idx(const __m256i _First, const __m256i _Second...
    method __m256 (line 2572) | static __m256 _Min(const __m256 _First, const __m256 _Second, __m256 =...
    method __m256 (line 2576) | static __m256 _Max(const __m256 _First, const __m256 _Second, __m256 =...
    method __m256i (line 2580) | static __m256i _Mask_cast(const __m256 _Mask) noexcept {
  type _Traits_d_base (line 2586) | struct _Traits_d_base {
  type _Traits_d_neon (line 2602) | struct _Traits_d_neon : _Traits_d_base, _Traits_neon_base {
    method _Vec_t (line 2607) | static _Vec_t _Sign_correction(const _Vec_t _Val, bool) noexcept {
    method _Idx_t (line 2611) | static _Idx_t _Zero() noexcept {
    method _Idx_t (line 2615) | static _Idx_t _All_ones() noexcept {
    method _Idx
Copy disabled (too large) Download .json
Condensed preview — 2516 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (28,024K chars).
[
  {
    "path": ".clang-format",
    "chars": 11866,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n# https://releases."
  },
  {
    "path": ".gitattributes",
    "chars": 573,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n# Disable CRLF-mapp"
  },
  {
    "path": ".github/CODEOWNERS",
    "chars": 122,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n* @microsoft/vclibs"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug-report.md",
    "chars": 2821,
    "preview": "---\r\nname: Bug Report\r\nabout: Report a bug in the STL\r\ntitle: \"`<header>`: Problem\"\r\nlabels: ''\r\nassignees: ''\r\n\r\n---\r\n\r"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/question.md",
    "chars": 1372,
    "preview": "---\r\nname: Question\r\nabout: Ask a question about this STL implementation\r\ntitle: \"\"\r\nlabels: question\r\nassignees: ''\r\n\r\n"
  },
  {
    "path": ".github/pull_request_template.md",
    "chars": 1900,
    "preview": "<!-- Before submitting a pull request, please ensure that:\r\n\r\n* Any AI-generated code has been clearly disclosed in your"
  },
  {
    "path": ".github/workflows/update-status-chart.yml",
    "chars": 1251,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\nname: Update Status"
  },
  {
    "path": ".gitignore",
    "chars": 189,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n__pycache__/\r\n.vs/\r"
  },
  {
    "path": ".gitmodules",
    "chars": 419,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n[submodule \"llvm-pr"
  },
  {
    "path": ".mailmap",
    "chars": 480,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n# This file maps au"
  },
  {
    "path": "CMakeLists.txt",
    "chars": 5142,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\ncmake_minimum_requi"
  },
  {
    "path": "CMakePresets.json",
    "chars": 2530,
    "preview": "{\r\n  \"version\": 5,\r\n  \"cmakeMinimumRequired\": {\r\n    \"major\": 3,\r\n    \"minor\": 26,\r\n    \"patch\": 0\r\n  },\r\n  \"configurePr"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 558,
    "preview": "# Microsoft Open Source Code of Conduct\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://op"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 3707,
    "preview": "# Contributing\r\n\r\nThis project welcomes contributions and suggestions. Most contributions require you to agree to a\r\nCon"
  },
  {
    "path": "LICENSE.txt",
    "chars": 12550,
    "preview": "The Microsoft C++ Standard Library is under the Apache License v2.0 with LLVM Exception:\r\n\r\n                            "
  },
  {
    "path": "NOTICE.txt",
    "chars": 10382,
    "preview": "Microsoft C++ Standard Library\r\n\r\nCopyright (c) Microsoft Corporation\r\n\r\nLicensed under the Apache License, Version 2.0 "
  },
  {
    "path": "README.md",
    "chars": 33629,
    "preview": "# Microsoft's C++ Standard Library\r\n\r\nThis is the official repository for Microsoft's implementation of the C++ Standard"
  },
  {
    "path": "SECURITY.md",
    "chars": 2656,
    "preview": "<!-- BEGIN MICROSOFT SECURITY.MD V0.0.9 BLOCK -->\n\n## Security\n\nMicrosoft takes the security of our software products an"
  },
  {
    "path": "azure-devops/asan-pipeline.yml",
    "chars": 1548,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n# Build STL targeti"
  },
  {
    "path": "azure-devops/build-and-test.yml",
    "chars": 2765,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\nparameters:\r\n- name"
  },
  {
    "path": "azure-devops/build-benchmarks.yml",
    "chars": 2270,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\nparameters:\r\n- name"
  },
  {
    "path": "azure-devops/checkout-self.yml",
    "chars": 615,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\nsteps:\r\n- checkout:"
  },
  {
    "path": "azure-devops/checkout-submodule.yml",
    "chars": 1123,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\nparameters:\r\n- name"
  },
  {
    "path": "azure-devops/cmake-configure-build.yml",
    "chars": 2133,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\nparameters:\r\n- name"
  },
  {
    "path": "azure-devops/config.yml",
    "chars": 1099,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n# Common configurat"
  },
  {
    "path": "azure-devops/create-1es-hosted-pool.ps1",
    "chars": 18370,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n<#\r\n.SYNOPSIS\r\nCrea"
  },
  {
    "path": "azure-devops/format-validation.yml",
    "chars": 3868,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n# run the `validato"
  },
  {
    "path": "azure-devops/provision-image.ps1",
    "chars": 7371,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n<#\r\n.SYNOPSIS\r\nSets"
  },
  {
    "path": "azure-devops/run-tests.yml",
    "chars": 1430,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\nparameters:\r\n- name"
  },
  {
    "path": "azure-pipelines.yml",
    "chars": 5219,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n# Build STL targeti"
  },
  {
    "path": "benchmarks/CMakeLists.txt",
    "chars": 6489,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\ncmake_minimum_requi"
  },
  {
    "path": "benchmarks/inc/lorem.hpp",
    "chars": 3657,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#pragma once\r\n\r\n#"
  },
  {
    "path": "benchmarks/inc/skewed_allocator.hpp",
    "chars": 2446,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#pragma once\r\n\r\n#"
  },
  {
    "path": "benchmarks/inc/udt.hpp",
    "chars": 671,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#pragma once\r\n\r\nt"
  },
  {
    "path": "benchmarks/inc/utility.hpp",
    "chars": 1302,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#pragma once\r\n\r\n#"
  },
  {
    "path": "benchmarks/src/adjacent_difference.cpp",
    "chars": 1854,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/adjacent_find.cpp",
    "chars": 1636,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/any_swap.cpp",
    "chars": 1099,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <any>\r\n#"
  },
  {
    "path": "benchmarks/src/bitset_from_string.cpp",
    "chars": 5141,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/bitset_to_string.cpp",
    "chars": 1863,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <array>\r"
  },
  {
    "path": "benchmarks/src/charconv_floats.cpp",
    "chars": 4599,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/efficient_nonlocking_print.cpp",
    "chars": 1530,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n// This benchmark"
  },
  {
    "path": "benchmarks/src/filesystem.cpp",
    "chars": 601,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/fill.cpp",
    "chars": 3482,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/find_and_count.cpp",
    "chars": 4910,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/find_first_of.cpp",
    "chars": 4322,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/flat_meow_assign.cpp",
    "chars": 2183,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/has_single_bit.cpp",
    "chars": 1469,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/includes.cpp",
    "chars": 5007,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/integer_to_string.cpp",
    "chars": 3702,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/iota.cpp",
    "chars": 1170,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/is_sorted_until.cpp",
    "chars": 3106,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/locale_classic.cpp",
    "chars": 461,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/locate_zone.cpp",
    "chars": 483,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include \"benchma"
  },
  {
    "path": "benchmarks/src/minmax_element.cpp",
    "chars": 5426,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/mismatch.cpp",
    "chars": 2127,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/move_only_function.cpp",
    "chars": 1277,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/nth_element.cpp",
    "chars": 12297,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/path_lexically_normal.cpp",
    "chars": 901,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/priority_queue_push_range.cpp",
    "chars": 2592,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/random_integer_generation.cpp",
    "chars": 2374,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/ranges_div_ceil.cpp",
    "chars": 1316,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/regex_match.cpp",
    "chars": 2281,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/regex_search.cpp",
    "chars": 2057,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/remove.cpp",
    "chars": 2297,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/replace.cpp",
    "chars": 1376,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/reverse.cpp",
    "chars": 1571,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/rotate.cpp",
    "chars": 2032,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/sample.cpp",
    "chars": 1881,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/search.cpp",
    "chars": 9114,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/search_n.cpp",
    "chars": 3421,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/shuffle.cpp",
    "chars": 1572,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/std_copy.cpp",
    "chars": 5305,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/sv_equal.cpp",
    "chars": 1425,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/swap_ranges.cpp",
    "chars": 2654,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/unique.cpp",
    "chars": 2786,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <algorit"
  },
  {
    "path": "benchmarks/src/vector_bool_copy.cpp",
    "chars": 3581,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/vector_bool_copy_n.cpp",
    "chars": 3528,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/vector_bool_count.cpp",
    "chars": 766,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/vector_bool_meow_of.cpp",
    "chars": 1783,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/vector_bool_move.cpp",
    "chars": 3581,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "benchmarks/src/vector_bool_transform.cpp",
    "chars": 1821,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n#include <benchma"
  },
  {
    "path": "docs/cgmanifest.json",
    "chars": 1623,
    "preview": "{\r\n    \"$schema\": \"https://json.schemastore.org/component-detection-manifest.json\",\r\n    \"Registrations\": [\r\n        {\r\n"
  },
  {
    "path": "docs/import_library.md",
    "chars": 2643,
    "preview": "<!-- Copyright (c) Microsoft Corporation. -->\r\n<!-- SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -->\r\n\r\n# Fil"
  },
  {
    "path": "stl/CMakeLists.txt",
    "chars": 29877,
    "preview": "# Copyright (c) Microsoft Corporation.\r\n# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n###################"
  },
  {
    "path": "stl/debugger/STL.natvis",
    "chars": 115563,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<!--\r\nCopyright (c) Microsoft Corporation.\r\nSPDX-License-Identifier: Apache-2.0 "
  },
  {
    "path": "stl/inc/__msvc_all_public_headers.hpp",
    "chars": 5271,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n// This file is i"
  },
  {
    "path": "stl/inc/__msvc_bit_utils.hpp",
    "chars": 15357,
    "preview": "// __msvc_bit_utils.hpp internal header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: A"
  },
  {
    "path": "stl/inc/__msvc_chrono.hpp",
    "chars": 35524,
    "preview": "// __msvc_chrono.hpp internal header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 "
  },
  {
    "path": "stl/inc/__msvc_cxx_stdatomic.hpp",
    "chars": 4161,
    "preview": "// __msvc_cxx_stdatomic.hpp internal header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apac"
  },
  {
    "path": "stl/inc/__msvc_filebuf.hpp",
    "chars": 27781,
    "preview": "// __msvc_filebuf.hpp internal header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0"
  },
  {
    "path": "stl/inc/__msvc_format_ucd_tables.hpp",
    "chars": 61926,
    "preview": "// __msvc_format_ucd_tables.hpp internal header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: "
  },
  {
    "path": "stl/inc/__msvc_formatter.hpp",
    "chars": 16504,
    "preview": "// __msvc_formatter.hpp internal header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2"
  },
  {
    "path": "stl/inc/__msvc_heap_algorithms.hpp",
    "chars": 5973,
    "preview": "// __msvc_heap_algorithms.hpp internal header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Ap"
  },
  {
    "path": "stl/inc/__msvc_int128.hpp",
    "chars": 58511,
    "preview": "// __msvc_int128.hpp internal header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apac"
  },
  {
    "path": "stl/inc/__msvc_iter_core.hpp",
    "chars": 19874,
    "preview": "// __msvc_iter_core.hpp internal header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: A"
  },
  {
    "path": "stl/inc/__msvc_minmax.hpp",
    "chars": 1473,
    "preview": "// __msvc_minmax.hpp internal header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apac"
  },
  {
    "path": "stl/inc/__msvc_ostream.hpp",
    "chars": 37506,
    "preview": "// __msvc_ostream.hpp internal header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0"
  },
  {
    "path": "stl/inc/__msvc_print.hpp",
    "chars": 3304,
    "preview": "// __msvc_print.hpp internal header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apach"
  },
  {
    "path": "stl/inc/__msvc_ranges_to.hpp",
    "chars": 55905,
    "preview": "// __msvc_ranges_to.hpp internal header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2"
  },
  {
    "path": "stl/inc/__msvc_ranges_tuple_formatter.hpp",
    "chars": 51349,
    "preview": "// __msvc_ranges_tuple_formatter.hpp internal header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identif"
  },
  {
    "path": "stl/inc/__msvc_sanitizer_annotate_container.hpp",
    "chars": 7538,
    "preview": "// __msvc_sanitizer_annotate_container.hpp internal header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-I"
  },
  {
    "path": "stl/inc/__msvc_string_view.hpp",
    "chars": 90494,
    "preview": "// __msvc_string_view.hpp internal header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache"
  },
  {
    "path": "stl/inc/__msvc_system_error_abi.hpp",
    "chars": 1224,
    "preview": "// __msvc_system_error_abi.hpp internal header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identi"
  },
  {
    "path": "stl/inc/__msvc_threads_core.hpp",
    "chars": 3025,
    "preview": "// __msvc_threads_core.hpp internal header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier"
  },
  {
    "path": "stl/inc/__msvc_tzdb.hpp",
    "chars": 5157,
    "preview": "// __msvc_tzdb.hpp internal header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WI"
  },
  {
    "path": "stl/inc/__msvc_xlocinfo_types.hpp",
    "chars": 1207,
    "preview": "// __msvc_xlocinfo_types.hpp internal header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifi"
  },
  {
    "path": "stl/inc/algorithm",
    "chars": 575210,
    "preview": "// algorithm standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLV"
  },
  {
    "path": "stl/inc/any",
    "chars": 19797,
    "preview": "// any standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exce"
  },
  {
    "path": "stl/inc/array",
    "chars": 28800,
    "preview": "// array standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-ex"
  },
  {
    "path": "stl/inc/atomic",
    "chars": 125285,
    "preview": "// atomic standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-e"
  },
  {
    "path": "stl/inc/barrier",
    "chars": 8698,
    "preview": "// barrier standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-"
  },
  {
    "path": "stl/inc/bit",
    "chars": 8417,
    "preview": "// bit standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LL"
  },
  {
    "path": "stl/inc/bitset",
    "chars": 25764,
    "preview": "// bitset standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-e"
  },
  {
    "path": "stl/inc/cassert",
    "chars": 215,
    "preview": "// cassert standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WIT"
  },
  {
    "path": "stl/inc/ccomplex",
    "chars": 740,
    "preview": "// ccomplex standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM"
  },
  {
    "path": "stl/inc/cctype",
    "chars": 1113,
    "preview": "// cctype standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH"
  },
  {
    "path": "stl/inc/cerrno",
    "chars": 314,
    "preview": "// cerrno standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH"
  },
  {
    "path": "stl/inc/cfenv",
    "chars": 1308,
    "preview": "// cfenv standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH "
  },
  {
    "path": "stl/inc/cfloat",
    "chars": 242,
    "preview": "// cfloat standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH"
  },
  {
    "path": "stl/inc/charconv",
    "chars": 124564,
    "preview": "// charconv standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM"
  },
  {
    "path": "stl/inc/chrono",
    "chars": 276872,
    "preview": "// chrono standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-e"
  },
  {
    "path": "stl/inc/cinttypes",
    "chars": 940,
    "preview": "// cinttypes standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 W"
  },
  {
    "path": "stl/inc/ciso646",
    "chars": 425,
    "preview": "// ciso646 standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-"
  },
  {
    "path": "stl/inc/climits",
    "chars": 319,
    "preview": "// climits standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WIT"
  },
  {
    "path": "stl/inc/clocale",
    "chars": 744,
    "preview": "// clocale standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WIT"
  },
  {
    "path": "stl/inc/cmath",
    "chars": 72317,
    "preview": "// cmath standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-ex"
  },
  {
    "path": "stl/inc/codecvt",
    "chars": 26868,
    "preview": "// codecvt standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-"
  },
  {
    "path": "stl/inc/compare",
    "chars": 38442,
    "preview": "// compare standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WIT"
  },
  {
    "path": "stl/inc/complex",
    "chars": 86572,
    "preview": "// complex standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-"
  },
  {
    "path": "stl/inc/concepts",
    "chars": 11624,
    "preview": "// concepts standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WI"
  },
  {
    "path": "stl/inc/condition_variable",
    "chars": 9310,
    "preview": "// condition_variable standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0"
  },
  {
    "path": "stl/inc/coroutine",
    "chars": 8360,
    "preview": "// coroutine standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 W"
  },
  {
    "path": "stl/inc/csetjmp",
    "chars": 716,
    "preview": "// csetjmp standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WIT"
  },
  {
    "path": "stl/inc/csignal",
    "chars": 797,
    "preview": "// csignal standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WIT"
  },
  {
    "path": "stl/inc/cstdalign",
    "chars": 786,
    "preview": "// cstdalign standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLV"
  },
  {
    "path": "stl/inc/cstdarg",
    "chars": 669,
    "preview": "// cstdarg standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WIT"
  },
  {
    "path": "stl/inc/cstdbool",
    "chars": 737,
    "preview": "// cstdbool standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM"
  },
  {
    "path": "stl/inc/cstddef",
    "chars": 4015,
    "preview": "// cstddef standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WIT"
  },
  {
    "path": "stl/inc/cstdint",
    "chars": 1697,
    "preview": "// cstdint standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WIT"
  },
  {
    "path": "stl/inc/cstdio",
    "chars": 2511,
    "preview": "// cstdio standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH"
  },
  {
    "path": "stl/inc/cstdlib",
    "chars": 2532,
    "preview": "// cstdlib standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WIT"
  },
  {
    "path": "stl/inc/cstring",
    "chars": 1532,
    "preview": "// cstring standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WIT"
  },
  {
    "path": "stl/inc/ctgmath",
    "chars": 751,
    "preview": "// ctgmath standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-"
  },
  {
    "path": "stl/inc/ctime",
    "chars": 3296,
    "preview": "// ctime standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH "
  },
  {
    "path": "stl/inc/cuchar",
    "chars": 843,
    "preview": "// cuchar standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH"
  },
  {
    "path": "stl/inc/cwchar",
    "chars": 3044,
    "preview": "// cwchar standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH"
  },
  {
    "path": "stl/inc/cwctype",
    "chars": 1771,
    "preview": "// cwctype standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WIT"
  },
  {
    "path": "stl/inc/deque",
    "chars": 67788,
    "preview": "// deque standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-ex"
  },
  {
    "path": "stl/inc/exception",
    "chars": 13765,
    "preview": "// exception standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLV"
  },
  {
    "path": "stl/inc/execution",
    "chars": 252207,
    "preview": "// execution standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLV"
  },
  {
    "path": "stl/inc/expected",
    "chars": 84876,
    "preview": "// expected standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM"
  },
  {
    "path": "stl/inc/experimental/coroutine",
    "chars": 10089,
    "preview": "// coroutine experimental header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH"
  },
  {
    "path": "stl/inc/experimental/generator",
    "chars": 7550,
    "preview": "// generator experimental header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH"
  },
  {
    "path": "stl/inc/experimental/resumable",
    "chars": 2562,
    "preview": "// resumable experimental header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH"
  },
  {
    "path": "stl/inc/filesystem",
    "chars": 192180,
    "preview": "// filesystem standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LL"
  },
  {
    "path": "stl/inc/flat_map",
    "chars": 74920,
    "preview": "// flat_map standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM"
  },
  {
    "path": "stl/inc/flat_set",
    "chars": 45629,
    "preview": "// flat_set standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM"
  },
  {
    "path": "stl/inc/format",
    "chars": 144794,
    "preview": "// format standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-e"
  },
  {
    "path": "stl/inc/forward_list",
    "chars": 63105,
    "preview": "// forward_list standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH "
  },
  {
    "path": "stl/inc/fstream",
    "chars": 17853,
    "preview": "// fstream standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-"
  },
  {
    "path": "stl/inc/functional",
    "chars": 139381,
    "preview": "// functional standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LL"
  },
  {
    "path": "stl/inc/future",
    "chars": 52323,
    "preview": "// future standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-e"
  },
  {
    "path": "stl/inc/generator",
    "chars": 27678,
    "preview": "// generator standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLV"
  },
  {
    "path": "stl/inc/header-units.json",
    "chars": 4634,
    "preview": "// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\r\n\r\n{\r\n    \"Version\":"
  },
  {
    "path": "stl/inc/initializer_list",
    "chars": 2113,
    "preview": "// initializer_list standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apach"
  },
  {
    "path": "stl/inc/iomanip",
    "chars": 16628,
    "preview": "// iomanip standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-"
  },
  {
    "path": "stl/inc/ios",
    "chars": 10486,
    "preview": "// ios standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exce"
  },
  {
    "path": "stl/inc/iosfwd",
    "chars": 11546,
    "preview": "// iosfwd standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-e"
  },
  {
    "path": "stl/inc/iostream",
    "chars": 3102,
    "preview": "// iostream standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM"
  },
  {
    "path": "stl/inc/iso646.h",
    "chars": 740,
    "preview": "// iso646.h standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM"
  },
  {
    "path": "stl/inc/istream",
    "chars": 35008,
    "preview": "// istream standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-"
  },
  {
    "path": "stl/inc/iterator",
    "chars": 56587,
    "preview": "// iterator standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM"
  },
  {
    "path": "stl/inc/latch",
    "chars": 3312,
    "preview": "// latch standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-ex"
  },
  {
    "path": "stl/inc/limits",
    "chars": 27812,
    "preview": "// limits standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH"
  },
  {
    "path": "stl/inc/list",
    "chars": 75439,
    "preview": "// list standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exc"
  },
  {
    "path": "stl/inc/locale",
    "chars": 10632,
    "preview": "// locale standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-e"
  },
  {
    "path": "stl/inc/map",
    "chars": 30308,
    "preview": "// map standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exce"
  },
  {
    "path": "stl/inc/mdspan",
    "chars": 73156,
    "preview": "// mdspan standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-e"
  },
  {
    "path": "stl/inc/memory",
    "chars": 179144,
    "preview": "// memory standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-e"
  },
  {
    "path": "stl/inc/memory_resource",
    "chars": 34291,
    "preview": "// memory_resource standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WI"
  },
  {
    "path": "stl/inc/mutex",
    "chars": 26514,
    "preview": "// mutex standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-ex"
  },
  {
    "path": "stl/inc/new",
    "chars": 1991,
    "preview": "// new standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exce"
  },
  {
    "path": "stl/inc/numbers",
    "chars": 4943,
    "preview": "// numbers standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WIT"
  },
  {
    "path": "stl/inc/numeric",
    "chars": 37628,
    "preview": "// numeric standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-"
  },
  {
    "path": "stl/inc/optional",
    "chars": 41981,
    "preview": "// optional standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM"
  },
  {
    "path": "stl/inc/ostream",
    "chars": 12858,
    "preview": "// ostream standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-"
  },
  {
    "path": "stl/inc/print",
    "chars": 13528,
    "preview": "// print standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-ex"
  },
  {
    "path": "stl/inc/queue",
    "chars": 22227,
    "preview": "// queue standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-ex"
  },
  {
    "path": "stl/inc/random",
    "chars": 164302,
    "preview": "// random standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-e"
  },
  {
    "path": "stl/inc/ranges",
    "chars": 413494,
    "preview": "// ranges standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-e"
  },
  {
    "path": "stl/inc/ratio",
    "chars": 11570,
    "preview": "// ratio standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH "
  },
  {
    "path": "stl/inc/regex",
    "chars": 242014,
    "preview": "// regex standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-ex"
  },
  {
    "path": "stl/inc/scoped_allocator",
    "chars": 12690,
    "preview": "// scoped_allocator standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 W"
  },
  {
    "path": "stl/inc/semaphore",
    "chars": 13073,
    "preview": "// semaphore standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLV"
  },
  {
    "path": "stl/inc/set",
    "chars": 20869,
    "preview": "// set standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exce"
  },
  {
    "path": "stl/inc/shared_mutex",
    "chars": 11193,
    "preview": "// shared_mutex standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH "
  },
  {
    "path": "stl/inc/source_location",
    "chars": 2392,
    "preview": "// source_location standard header (core)\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache"
  },
  {
    "path": "stl/inc/span",
    "chars": 22293,
    "preview": "// span standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exc"
  },
  {
    "path": "stl/inc/spanstream",
    "chars": 14256,
    "preview": "// spanstream standard header\r\n\r\n// Copyright (c) Microsoft Corporation.\r\n// SPDX-License-Identifier: Apache-2.0 WITH LL"
  }
]

// ... and 2316 more files (download for full content)

About this extraction

This page contains the full source code of the microsoft/STL GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2516 files (25.2 MB), approximately 6.8M tokens, and a symbol index with 18235 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!