Граф коммитов

35 Коммитов

Автор SHA1 Сообщение Дата
Stephan T. Lavavej 0f8f6bed5f
Fix and improve `array` and `mdspan` static analysis warnings (#4856) 2024-08-07 23:47:09 -07:00
Igor Zhukov 184ce39eef
Remove `_NODISCARD_FRIEND` workaround (#4782)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2024-07-05 00:16:13 -07:00
S. B. Tam 0c47a7cfc9
Enable `__cpp_lib_concepts` for EDG, part 3 (#4298)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2024-02-06 01:05:52 -08:00
A. Jiang bb864444d1
Make `to_array` ADL-proof (#4042)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2023-09-22 15:30:45 -07:00
A. Jiang 97161cdf9f
Fix comparison operators and `get` of `array` (#4041)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2023-09-22 15:28:01 -07:00
Alex Guteniev 939513b9aa
Update preprocessor `#else` and `#endif` comment (#3950)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2023-09-21 12:42:29 -07:00
Alex Guteniev 9ad382e2f5
Update preprocessor `#else` comment in product code to clarify which mode is where (#3900)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2023-08-10 16:48:21 -07:00
Stephan T. Lavavej 92d050e02b
Drop `#pragma once` in STL headers (#3895) 2023-07-26 11:54:17 -07:00
Casey Carter a916571f19
Initialize array<T, 0>'s single element (#3863)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2023-07-13 19:19:56 -07:00
achabense 444ea045a8
Add static for some `_Xxxx()` member functions (#3755) 2023-06-15 01:49:37 -07:00
A. Jiang d3a7da7ace
Cite N4950 in headers and source files (#3686)
Towards #182.

- This PR drops all section numbers except for D.x in `<yvals_core.h>`. I decided to cite WG21-N4868 for C++20 deprecation.
- Some citations in `<format>` are intentionally not updated because WG21-P2675R1 and LWG-3631 are not implemented yet.
- Citations in test files are not updated, but I think I'll do it soon.
- Drive-by change: a comment for `move_only_function`'s move assignment operator explaining why it's `noexcept(false)` (see https://github.com/microsoft/STL/pull/3565#discussion_r1134755402 and https://github.com/microsoft/STL/issues/2278#issuecomment-943360927).

---------

Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
Co-authored-by: Casey Carter <cacarter@microsoft.com>
2023-05-18 11:38:57 -07:00
cristei 297c123ccc
`static_assert` that container and allocator type parameters are object types (#2436)
Co-authored-by: Casey Carter <Casey@Carter.net>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2023-04-13 19:52:38 -07:00
Stephan T. Lavavej a9ecd92ac9
Toolset update: VS 2022 17.6 Preview 3 (#3651) 2023-04-13 19:43:50 -07:00
Igor Zhukov be29af22c0
standardize `^^^ x / !x vvv` comments (#3208)
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
2022-12-06 14:25:25 -08:00
Stephan T. Lavavej 2f8342a3a5
Toolset update: VS 2022 17.4 Preview 3, Clang 15 (#3155)
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-10-14 13:00:48 -07:00
Stephan T. Lavavej 2f03bdf361
P2465R3 Standard Library Modules `std` And `std.compat` (#3108) 2022-09-19 14:47:02 -07:00
Alex Guteniev 539c26c923
[[nodiscard]] messages (#2211)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-08-31 16:06:54 -07:00
Stephan T. Lavavej 18451dc254
Toolset update: VS 2022 17.3 Preview 3, Clang 14 (#2861)
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-07-14 15:03:09 -07:00
Stephan T. Lavavej ee43e7097e
My Little Operator: Friendship Is Magic (#2797) 2022-06-19 18:01:39 -07:00
Stephan T. Lavavej d047fb3fa4
Various header cleanups (#2802) 2022-06-19 17:42:13 -07:00
Stephan T. Lavavej b9505b9818
Cleanups 3: Simple changes (#2675) 2022-05-01 03:36:42 -07:00
Casey Carter 793713e033
Specially handle `array<T, 0>` for non-default-constructible `T` (#2296) 2021-11-13 00:30:28 -08:00
Daniel Marshall 472161105d
Remove SHOUTY BANNERS (#2074)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-08-05 19:33:09 -07:00
Stephan T. Lavavej 9a9820df1a
Toolset update: VS 2022 17.0 Preview 2 (#2064) 2021-07-19 17:53:06 -07:00
Stephan T. Lavavej b52c3797e2
P1614R2 Adding Spaceship <=> To The Library (#1678)
Co-authored-by: Ahana Mukhopadhyay <t-ahmukh@microsoft.com>
Co-authored-by: Anju Del Moral Gonzalez <judelmor@microsoft.com>
Co-authored-by: Casey Carter <cacarter@microsoft.com>
Co-authored-by: Charlie Barto <chbarto@microsoft.com>
Co-authored-by: Curtis Bezault <cubezaul@microsoft.com>
Co-authored-by: d-winsor <danwin@microsoft.com>
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@googlemail.com>
Co-authored-by: statementreply <statementreply@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-02-24 16:19:31 -08:00
Casey Carter 585583b54c
Implement ranges heap algorithms (#930)
`ranges::is_heap`, `ranges::is_heap_until`, `ranges::make_heap`, `ranges::push_heap`, `ranges::pop_heap`, and `ranges::sort_heap`.
2020-07-02 07:36:30 -07:00
Michael Schellenberger Costa 212de15c59
P1032R1 Miscellaneous constexpr (#491) 2020-05-23 00:03:27 -07:00
Casey Carter 045f3dd0e1
C++20 reverse_iterator changes (#759)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2020-04-30 03:15:16 -07:00
Michael Schellenberger Costa ca032aebb0
Remove _ITERATOR_DEBUG_ARRAY_OVERLOADS (#735)
Fixes #660.

Also move `_Array_(const_)?iterator` from `<xutility>` to `<array>`, since it's no longer needed by the IDAO.
2020-04-24 18:44:01 -07:00
Gianni Georg Weinand 90bc6215e4
constexpr for std::array Comparisons (#599)
* Add constexpr to array comparison functions + change feature test macro.

* Fixed clang-format on array and moved comment in yvals_core.h

* Corrected feature test macro constant

* Removed libcxx test skip

* Added constexpr testing for array comparison operators

* clang-formatted the test file

* Added CXX20 feature test macro

* Fixed 0 size array initialization in test file.

* Test variables made global and const, removed to_array, fix typo

* clang-format test file

* Fixed typo, duplicate line and alignment in the constexpr operator test.

* clang-format array

* Changed const global variables to constexpr in test file.

* Removed double parenthesis in test file.

Co-Authored-By: Stephan T. Lavavej <stl@nuwen.net>

* Update tests/std/tests/P1023R0_constexpr_for_array_comparisons/test.cpp

Co-Authored-By: Stephan T. Lavavej <stl@nuwen.net>

* STL's suggestion to avoid disabling clang-format and shorten test.

* clang-format 10 array

* Removed test skip from expected_results.txt to match skipped_tests.txt

Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2020-03-31 14:33:55 -07:00
Billy O'Neal ff83542af4
Update to Clang 10 and Visual Studio 2019 version 16.6p2 (#645)
* Update to Clang 10 and Visual Studio 2019 version 16.6p2

* re-clang-formats the tree to comply with new clang 10 clang-format
* updates our agents to F series VMs which are faster and cheaper for our build workloads
* defaults scale set to 0 VMs and lets the Azure Pipelines service control all resizing
* fix tests to pass with the new compilers

Co-authored by Casey Carter and Curtis Bezault
2020-03-28 18:53:15 -07:00
Billy O'Neal 482f1d8088
Reduce the amount of content included by <array> (#482)
* Reduce the amount of content included by <array>.

Resolves GH-462.

* Demote `back_inserter` and `iterator` to `<iterator>`.
* Demote `_Yarn` to `<xlocinfo>`.
* Demote `_Tidy_guard`, `_Tidy_deallocate_guard`, and `_Nothrow_compare` to `<xmemory>`.
* Promote `_Swap_ranges_unchecked` to `<xutility>`.
* Change `<array>` to include only `<xutility>`.

* Un-demote iterator.

* Workaround many RWC projects that expected std::min and std::max to come from <array>.

* Remove the `_STL_ASSERT` from `std::min` and `std::max`. We normally guard every `op<` with debug checks, but in this case we aren't using it to enforce something like a container invariant; the number of bad op<s we catch with it are likely microscopic.
* Delete `_Min_value` and `_Max_value` from `<utility>`.
* Move `min` and `max` to `<utility>` (in the exact position as the old `_Min_value` and `_Max_value`)
* Change all existing callers of `_Min_value` and `_Max_value` to call `(_STD min)` and `(_STD max)`, respectively.

* Homogenize vector algorithm guards.
2020-02-21 05:55:22 -08:00
Michael Schellenberger Costa 3b0a1c9cfa Consistently use "int = 0" SFINAE (#226)
Fixes #187.

Add TRANSITION comments for #248 and #249, blocked by compiler bugs.

Add `_Enabled` names. When we don't have `enable_if_t`, this makes the
template parameter's purpose clearer. When we do have `enable_if_t`
but without `= 0`, this makes it somewhat clearer that we haven't
forgotten the default argument (it's simply elsewhere).
2019-11-01 18:15:37 -07:00
Charlie Barto ff7d132b2e
implement P0325R4 to_array (#135) 2019-09-25 19:30:31 -07:00
Stephan T. Lavavej 219514876e Initial commit. 2019-09-04 15:57:56 -07:00