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

44 Коммитов

Автор SHA1 Сообщение Дата
A. Jiang 80e0909966
ADL-proof container operations for iterator pairs and comparators (#4258)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2024-01-17 03:26:36 -08:00
Stephan T. Lavavej ca641a0eac
Defend sequence container constructors from bad CTAD (#4254) 2023-12-14 14:23:06 -08:00
A. Jiang 21b16b4a8f
ADL-proof implementation of `erase_if` and related algorithms (#4217)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2023-11-29 12:53:23 -08: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
Stephan T. Lavavej f70d767e3b
Remove unnecessary `typename`s in all remaining headers (#3894)
Co-authored-by: Casey Carter <cacarter@microsoft.com>
2023-07-26 11:51:57 -07:00
achabense 45111bbc67
Remove redundant template parameters for `_XX_iter_types` (#3765) 2023-06-15 02:12:53 -07:00
Stephan T. Lavavej c8594d8596
Fix static analysis warnings (#3734)
Co-authored-by: Dmitry Kobets <89153909+dmitrykobets-msft@users.noreply.github.com>
2023-05-30 17:05:39 -07:00
A. Jiang 71e404b297
Expand `std::iter_swap` and remove `_Swap_adl` (#3700)
Also
- Move `std::iter_swap` from `<utility>` to `<algorithm>`.
- In `_Partition_by_median_guess_unchecked`, only evaluate `_Prev_iter(_Glast)` once.

Fixes #2692.
2023-05-18 13:33:42 -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
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 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
Casey Carter 05e5e6838e
Cleanup product code uses of feature-test macros (#3053)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-08-26 17:33:09 -07:00
Stephan T. Lavavej bafb10ea0d
Various cleanups (#3019) 2022-08-11 22:30:59 -07:00
Casey Carter 56446a5eeb
P1206R7 Conversions From Ranges To Containers (#2806)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-08-09 01:16:51 -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
Igor Zhukov 5c2d2ad545
add default ctor for node types (#2782)
Co-authored-by: A. Jiang <de34@live.cn>
Co-authored-by: Casey Carter <Casey@Carter.net>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-25 14:50:00 -07:00
Stephan T. Lavavej d047fb3fa4
Various header cleanups (#2802) 2022-06-19 17:42:13 -07:00
Stephan T. Lavavej 33007ac754
Toolset update: VS 2022 17.1 Preview 2, Clang 13 (#2474) 2022-01-19 17:22:46 -08:00
Alex Guteniev bb210e7bb5
Replace tag dispatch with `if constexpr` for `_Choose_pocca`, `_Choose_pocma` (#2217)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-10-19 17:43:35 -07:00
Igor Zhukov d46c27f648
P1518R2 Stop Overconstraining Allocators In Container Deduction Guides (#2032)
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-08-26 17:01:38 -07: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
Stephan T. Lavavej 2ce62b5848
Always use `if constexpr`, require CUDA 10.1 Update 2 (#1544) 2021-01-05 17:19:12 -08:00
Billy O'Neal 691346f20c
Correct comment for _List_val::_Sort. (#1476) 2020-12-01 15:33:34 -08:00
Michael Schellenberger Costa 2c912e9b18
Strengthen noexcept specification for container iterators (#1227)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2020-08-26 00:58:38 -07:00
Stephan T. Lavavej a09bfc7696
Code cleanup: Brace for impact (#1020)
* Change meow<>() to meow<>{}.

* Change meow<>{} to meow{} when C++17 has CTAD.
2020-07-11 15:39:24 -07:00
Casey Carter 37f5689197
Cleanup `using _Pred` and `using operator<` comments (#977)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2020-07-07 14:05:59 -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
Daniel Marshall 627eced6ec
P1115R3 erase()/erase_if() Return size_type (#566)
Fixes #555.
2020-02-29 14:35:24 -08:00
Jean Philippe 577827a79a
Consistently use empty braces to construct tags (#497)
Fixes #468.
2020-02-29 14:21:41 -08: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
Billy O'Neal 991ffe57d8
Reduce stack space consumption of list<T>::insert (#366)
* Avoid burning unused stack space for a T in _List_node_insert_op. Resolves #973579 and GH-365.

* Change forward_list to follow a similar pattern for consistency.

* First round of code review feedback.
2019-12-11 12:58:44 -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
Daniel Marshall 28ec9a3295 P1209R0 erase_if(), erase() (#236)
Resolves #55.

* Deprecate experimental::erase

* Implement P1209R0

* Update yvals_core.h

* Update deprecations and remove <experimental/xutility>

* move and reorder erase/erase_if

* moved _Erase and remove and friends to <xmemory>

* Consistently place erase_if() definitions.
2019-11-01 14:32:39 -07:00
Krystyna Lopez a69a00e33b Fix #218 - remove public redundancy (#219) 2019-10-25 11:26:59 -07:00
Stephan T. Lavavej 53cdb9f8a8
Fix #94 and remove compiler bug workarounds. (#175)
* Properly comment "Tukey's ninther".

* Remove workarounds for VSO-946746.

VSO-946746 "conditional explicit(bool) doesn't work with /clr:pure"
was fixed on 2019-07-23, and should be available in
VS 2019 16.4 Preview 1.

* Remove workarounds for VSO-433486.

VSO-433486 "_Count / 2 inside while (0 < _Count) loop is not
transformed into a simple shift" was fixed on 2019-08-27
and should be available in VS 2019 16.4 Preview 2.

Some shifts are still necessary, and are now commented.

* This mirrors a Microsoft-internal PR:
https://devdiv.visualstudio.com/DevDiv/_git/msvc/pullrequest/207988
2019-10-15 16:49:36 -07:00
Casey Carter 62482a6ddd
Fix regex tokenizing bug (#131)
We skip a non-match character in `regex_iterator::operator++` after a zero-length match to avoid repeat matches, resulting in incorrect behavior when tokenizing with a regex to match the delimiters between tokens.

Fixes [DevCom#733051](https://developercommunity.visualstudio.com/content/problem/733051/splitting-a-string-with-a-regex-returns-seemingly.html).
2019-09-24 15:14:39 -07:00
Billy O'Neal 44720cd5f6
Do size modifications after iterator transfer strategy selection (#129)
This was the cause of the DevCom reported bug:

https://developercommunity.visualstudio.com/content/problem/739698/vc-163-listsplice-bug.html

where we would choose the incorrect strategy to transfer iterators if and only if the number of transferred iterators was exactly half of the container.

This change replicates internal [PR 203902](https://devdiv.visualstudio.com/DevDiv/_git/msvc/pullrequest/203902)
2019-09-24 03:23:13 -07:00
Billy O'Neal 892f6f580a
Remove incorrect noexcept from _Buyheadnode in <list>. (#77)
Replicates https://devdiv.visualstudio.com/DevDiv/_git/msvc/pullrequest/200975
2019-09-05 21:03:29 -07:00
Stephan T. Lavavej 219514876e Initial commit. 2019-09-04 15:57:56 -07:00