-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
P2502R2 <generator>
: Synchronous Coroutine Generator For Ranges
#4953
P2502R2 <generator>
: Synchronous Coroutine Generator For Ranges
#4953
Commits on Jan 26, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 8055612 - Browse repository at this point
Copy the full SHA 8055612View commit details
Commits on Jan 31, 2024
-
Configuration menu - View commit details
-
Copy full SHA for fb6a4cb - Browse repository at this point
Copy the full SHA fb6a4cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 95c294b - Browse repository at this point
Copy the full SHA 95c294bView commit details -
Merge pull request microsoft#4354 from StephanTLavavej/merge-generator
Merge `main` to `feature/generator`
Configuration menu - View commit details
-
Copy full SHA for 9bb121c - Browse repository at this point
Copy the full SHA 9bb121cView commit details
Commits on Feb 6, 2024
-
Merge branch 'main' into merge-generator
Resolved conflict in yvals_core.h, removing all guards around `__cpp_lib_generator` except `_HAS_CXX23`. * `__cpp_lib_concepts` is now always available in C++20 and later. * `<generator>` doesn't care about `std::byte` now. * C1XX, Clang, and EDG all define `__cpp_impl_coroutine` in C++20 and later, which wasn't the case earlier.
Configuration menu - View commit details
-
Copy full SHA for 7710f6c - Browse repository at this point
Copy the full SHA 7710f6cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 12621be - Browse repository at this point
Copy the full SHA 12621beView commit details -
Configuration menu - View commit details
-
Copy full SHA for 53bf3a4 - Browse repository at this point
Copy the full SHA 53bf3a4View commit details -
Update
<generator>
's_HAS_CXX23
guard and message.Also add a missing semicolon - this emits a `_Pragma`.
Configuration menu - View commit details
-
Copy full SHA for 84a6efe - Browse repository at this point
Copy the full SHA 84a6efeView commit details -
Work around VSO-1951821 by skipping
stateful_alloc
coverage for EDG.VSO-1951821 "EDG instantiates the wrong overload of `promise_type::operator new` for `generator` machinery"
Configuration menu - View commit details
-
Copy full SHA for f7e6bf1 - Browse repository at this point
Copy the full SHA f7e6bf1View commit details -
Configuration menu - View commit details
-
Copy full SHA for e432c39 - Browse repository at this point
Copy the full SHA e432c39View commit details -
Configuration menu - View commit details
-
Copy full SHA for d2aa714 - Browse repository at this point
Copy the full SHA d2aa714View commit details -
Configuration menu - View commit details
-
Copy full SHA for af01b63 - Browse repository at this point
Copy the full SHA af01b63View commit details
Commits on Feb 7, 2024
-
Merge pull request microsoft#4370 from StephanTLavavej/merge-generator
Merge `main` to `feature/generator`
Configuration menu - View commit details
-
Copy full SHA for 5d949f1 - Browse repository at this point
Copy the full SHA 5d949f1View commit details
Commits on Feb 16, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 553c0c5 - Browse repository at this point
Copy the full SHA 553c0c5View commit details -
Merge pull request microsoft#4398 from StephanTLavavej/merge-generator
Merge `main` to `feature/generator`
Configuration menu - View commit details
-
Copy full SHA for 6bfb4ee - Browse repository at this point
Copy the full SHA 6bfb4eeView commit details
Commits on Mar 12, 2024
-
Configuration menu - View commit details
-
Copy full SHA for d5c525d - Browse repository at this point
Copy the full SHA d5c525dView commit details
Commits on Mar 13, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 14bbb8e - Browse repository at this point
Copy the full SHA 14bbb8eView commit details
Commits on Mar 16, 2024
-
Configuration menu - View commit details
-
Copy full SHA for dde15f8 - Browse repository at this point
Copy the full SHA dde15f8View commit details -
Merge pull request microsoft#4484 from StephanTLavavej/merge-generator
Merge `main` to `feature/generator`
Configuration menu - View commit details
-
Copy full SHA for ac3369a - Browse repository at this point
Copy the full SHA ac3369aView commit details
Commits on Mar 27, 2024
-
<generator>
: Testgenerator::promise_type
(microsoft#4534)Co-authored-by: Stephan T. Lavavej <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7f04044 - Browse repository at this point
Copy the full SHA 7f04044View commit details
Commits on Apr 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 45c7fd9 - Browse repository at this point
Copy the full SHA 45c7fd9View commit details
Commits on Apr 12, 2024
-
Merge branch 'main' into merge-generator
Resolved a trivial merge conflict in `<ranges>` with the `inline constexpr` change for `_Compile_time_max_size`.
Configuration menu - View commit details
-
Copy full SHA for ffe74c1 - Browse repository at this point
Copy the full SHA ffe74c1View commit details -
Merge pull request microsoft#4582 from StephanTLavavej/merge-generator
Merge `main` to `feature/generator`
Configuration menu - View commit details
-
Copy full SHA for 6d55986 - Browse repository at this point
Copy the full SHA 6d55986View commit details
Commits on Apr 17, 2024
-
<generator>
: Testgenerator::iterator
(microsoft#4574)Co-authored-by: Casey Carter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7928387 - Browse repository at this point
Copy the full SHA 7928387View commit details
Commits on Apr 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 6fb9fa3 - Browse repository at this point
Copy the full SHA 6fb9fa3View commit details -
Merge pull request microsoft#4603 from StephanTLavavej/merge-generator
Merge `main` to `feature/generator`
Configuration menu - View commit details
-
Copy full SHA for 9efb2a5 - Browse repository at this point
Copy the full SHA 9efb2a5View commit details
Commits on May 10, 2024
-
Configuration menu - View commit details
-
Copy full SHA for c2b0579 - Browse repository at this point
Copy the full SHA c2b0579View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ad2c73 - Browse repository at this point
Copy the full SHA 7ad2c73View commit details -
<generator>
: An attempt to merge_Top
and_Info
(microsoft#4619)Co-authored-by: Stephan T. Lavavej <[email protected]> Co-authored-by: Alex Guteniev <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0191658 - Browse repository at this point
Copy the full SHA 0191658View commit details
Commits on May 23, 2024
-
Configuration menu - View commit details
-
Copy full SHA for c76bb86 - Browse repository at this point
Copy the full SHA c76bb86View commit details -
Merge pull request microsoft#4692 from StephanTLavavej/merge-generator
Merge `main` to `feature/generator`
Configuration menu - View commit details
-
Copy full SHA for c41dcde - Browse repository at this point
Copy the full SHA c41dcdeView commit details
Commits on Jun 14, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 62bb92b - Browse repository at this point
Copy the full SHA 62bb92bView commit details
Commits on Jun 18, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 7e5c8c3 - Browse repository at this point
Copy the full SHA 7e5c8c3View commit details -
Merge pull request microsoft#4737 from StephanTLavavej/merge-generator
Merge `main` to `feature/generator`
Configuration menu - View commit details
-
Copy full SHA for 9f8ea18 - Browse repository at this point
Copy the full SHA 9f8ea18View commit details
Commits on Jul 11, 2024
-
Merge branch 'main' into merge-generator
Resolved an adjacent-add conflict in yvals_core.h.
Configuration menu - View commit details
-
Copy full SHA for 5d4e965 - Browse repository at this point
Copy the full SHA 5d4e965View commit details -
_NODISCARD_FRIEND
=>_NODISCARD friend
Resolves a stealth merge conflict with GH 4782.
Configuration menu - View commit details
-
Copy full SHA for 156b2dd - Browse repository at this point
Copy the full SHA 156b2ddView commit details
Commits on Jul 12, 2024
-
Merge pull request microsoft#4834 from StephanTLavavej/merge-generator
Merge `main` to `feature/generator`
Configuration menu - View commit details
-
Copy full SHA for e07fc91 - Browse repository at this point
Copy the full SHA e07fc91View commit details
Commits on Jul 17, 2024
-
Configuration menu - View commit details
-
Copy full SHA for cf0bf1a - Browse repository at this point
Copy the full SHA cf0bf1aView commit details
Commits on Aug 1, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 874880f - Browse repository at this point
Copy the full SHA 874880fView commit details
Commits on Aug 15, 2024
-
Configuration menu - View commit details
-
Copy full SHA for b66813a - Browse repository at this point
Copy the full SHA b66813aView commit details -
Merge pull request microsoft#4893 from StephanTLavavej/merge-generator
Merge `main` to `feature/generator`
Configuration menu - View commit details
-
Copy full SHA for 91aceaa - Browse repository at this point
Copy the full SHA 91aceaaView commit details
Commits on Sep 12, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 6d2d6bf - Browse repository at this point
Copy the full SHA 6d2d6bfView commit details -
Merge pull request microsoft#4950 from StephanTLavavej/reformat-gener…
…ator Merge `main` to `feature/generator`
Configuration menu - View commit details
-
Copy full SHA for d19a53a - Browse repository at this point
Copy the full SHA d19a53aView commit details
Commits on Sep 13, 2024
-
Polish
std::generator
(microsoft#4952)This should complete the `generator` feature branch and get it ready to merge. There are very few product code changes here, it's mostly expanded test coverage with some cleanup and reorganization. There's also some documentation of the "stack of coroutines" and the memory layout of allocations that will make it easier for folks to get up to speed on how the code works under the covers. It's broken down nicely by commit for ease of review; I'll replicate the commit messages here as an overview. Comments without specific context refer to `P2502R2_generator` where most changes were made. The `P2502R2_generator_iterator` and `P2502R2_generator_promise` tests were already very nicely complete. * Update `generator` template argument mandates * Update citations to WG21-N4988 * Reorder checks to specification order * Make `_RRef` more obviously reflect the wording for `RRef` in WG21-N4988 [coro.generator.class]/1.4. * Allocator testing updates * Simplify and correct `StatelessAlloc` * Deriving publicly from `std::allocator` not a great idea, as witnessed by the recent addition of `allocate_at_least`. * `deallocate` should be `noexcept` for a `Cpp17Allocator`. * We don't need to reimplement `std::allocator` when we can simply use it. * The domain of equality for `Cpp17Allocators` is an entire `rebind` family, i.e., `StatelessAlloc<T>` and `allocator_traits<StatelessAlloc<T>>::rebind_alloc<U>` must be comparable. * PascalCase `stateful_alloc` for consistency and move into the header with `StatelessAlloc`. * Promise test tweaks * "whose member `await_ready` returns `false`" in WG21-N4988 [coro.generator.promise]/11 implies the return type is exactly `bool`, not "convertible to `bool`". Update `test_yield_elements_of_range` accordingly. * Move non-portable size check from `P2502R2_generator` into `P2502R2_generator_promise` * Expand and complete `static_checks`: Implement a complete `generator` traits in the header to use in both `P2502R2_generator_iterator` and `P2502R2_generator`'s `static_checks`. * Create generic `test_one` template which takes a generator, a description of its static properties, and the expected result of piping the generator through a provided range adaptor. `test_one` validates the static properties with `static_checks`, and confirms the output is as expected. * Extract test cases for weird reference types (mutable lvalue and rvalue references) from `main` into new function `test_weird_reference_types`. * Several small tweaks: * It's no longer significant that `co_upto` wasn't an example in the proposal; strike the comment. * Enforce `co_upto`'s precondition so it's nicely documented. * Consistently prefer `same_as` to `is_same_v`. * Regroup calls to test cases in `main` topically and title each category. * Reorganize test code to agree with call order in `main`. [This is the largest individual commit; it is a pure reordering.] * All product code assertions now depend on `_CONTAINER_DEBUG_LEVEL`. These are all simple O(1) checks, there's no reason not to promote them from `_DEBUG` to `_CONTAINER_DEBUG_LEVEL`. * Clarify allocation mechanisms, including some fancy memory layout diagrams. * Rename `_Promise_allocator` to `_Coro_promise_allocator` to avoid any confusion with `_Promise`. Rename its template parameter `_Allocator` to `_Proto_allocator` to avoid confusion with the rebound allocator type `_Alloc`. * Expand `static_assert` message in `operator new`. If and when `_Coro_promise_allocator` is reused by other coroutine types we can worry about making the message more generic. * Extract block size computations. * `Element_awaiter` must direct-non-list-initialize its stored object, per WG21-N4988 [coro.generator.promise]/7. * Document the "stack of coroutine handles" in a code comment with another work of art.
Configuration menu - View commit details
-
Copy full SHA for 89283a6 - Browse repository at this point
Copy the full SHA 89283a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for bb573d3 - Browse repository at this point
Copy the full SHA bb573d3View commit details
Commits on Sep 17, 2024
-
Configuration menu - View commit details
-
Copy full SHA for b61b7ba - Browse repository at this point
Copy the full SHA b61b7baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4d372ed - Browse repository at this point
Copy the full SHA 4d372edView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6482abe - Browse repository at this point
Copy the full SHA 6482abeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2f9cf38 - Browse repository at this point
Copy the full SHA 2f9cf38View commit details -
Configuration menu - View commit details
-
Copy full SHA for 483d091 - Browse repository at this point
Copy the full SHA 483d091View commit details -
Configuration menu - View commit details
-
Copy full SHA for 402b5d8 - Browse repository at this point
Copy the full SHA 402b5d8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c957a2 - Browse repository at this point
Copy the full SHA 6c957a2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 43ed77d - Browse repository at this point
Copy the full SHA 43ed77dView commit details -
Configuration menu - View commit details
-
Copy full SHA for bba8c2e - Browse repository at this point
Copy the full SHA bba8c2eView commit details -
Configuration menu - View commit details
-
Copy full SHA for c4a4d6e - Browse repository at this point
Copy the full SHA c4a4d6eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9da3deb - Browse repository at this point
Copy the full SHA 9da3debView commit details -
Configuration menu - View commit details
-
Copy full SHA for a4a6b55 - Browse repository at this point
Copy the full SHA a4a6b55View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ab2a88 - Browse repository at this point
Copy the full SHA 3ab2a88View commit details -
Configuration menu - View commit details
-
Copy full SHA for 215c774 - Browse repository at this point
Copy the full SHA 215c774View commit details -
Configuration menu - View commit details
-
Copy full SHA for c16ccbb - Browse repository at this point
Copy the full SHA c16ccbbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 124dc45 - Browse repository at this point
Copy the full SHA 124dc45View commit details -
Configuration menu - View commit details
-
Copy full SHA for 332e3a6 - Browse repository at this point
Copy the full SHA 332e3a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1532f08 - Browse repository at this point
Copy the full SHA 1532f08View commit details -
Configuration menu - View commit details
-
Copy full SHA for 75144b6 - Browse repository at this point
Copy the full SHA 75144b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 44658f2 - Browse repository at this point
Copy the full SHA 44658f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8573013 - Browse repository at this point
Copy the full SHA 8573013View commit details -
Configuration menu - View commit details
-
Copy full SHA for 586e6fa - Browse repository at this point
Copy the full SHA 586e6faView commit details -
test_generator_support.hpp stopped using
<cstdlib>
and `<memory_res……ource>` after GH 4952.
Configuration menu - View commit details
-
Copy full SHA for 61a1651 - Browse repository at this point
Copy the full SHA 61a1651View commit details -
STL's product code review comments
* `const`-ify members of awaitable objects that can be `const`. * Annotate that the iterator's `operator*` has a `/* strengthened */` _noexcept-specifier_.
Configuration menu - View commit details
-
Copy full SHA for 55516dd - Browse repository at this point
Copy the full SHA 55516ddView commit details
Commits on Sep 18, 2024
-
Several minor nits, and I burned away all the unnecessary parts of "mutable rvalue reference type". Don't know where I was heading with it, but it never made it there.
Configuration menu - View commit details
-
Copy full SHA for 1f86f07 - Browse repository at this point
Copy the full SHA 1f86f07View commit details -
Configuration menu - View commit details
-
Copy full SHA for cebe620 - Browse repository at this point
Copy the full SHA cebe620View commit details
Commits on Sep 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 89ebb33 - Browse repository at this point
Copy the full SHA 89ebb33View commit details