Library support for C++20 coroutines - #894
Merged
Casey Carter (CaseyCarter) merged 6 commits intoJun 17, 2020
Merged
Conversation
Implements most of <coroutine>. Usefulness of this header is dependent on a compatible compiler (e.g. Visual Studio 2019 16.8 Preview 1 or later) that defines `__cpp_impl_coroutine`. With such a compiler this header exposes the coroutine library support in the `std` namespace without the need for an `/await` switch. This implementation is not yet complete: - noop coroutines are not yet implemented - symmetric transfer is not yet implemented The value of `__cpp_lib_coroutine` is defined to a value less than the Standard-mandated value to represent the incomplete feature.
Casey Carter (CaseyCarter)
suggested changes
Jun 12, 2020
Casey Carter (CaseyCarter)
approved these changes
Jun 12, 2020
Grammar change in pragma message Co-authored-by: Daniel Marshall <xandan@gmail.com>
Stephan T. Lavavej (StephanTLavavej)
requested changes
Jun 16, 2020
| #define __cpp_lib_constexpr_tuple 201811L | ||
| #define __cpp_lib_constexpr_utility 201811L | ||
|
|
||
| #ifdef __cpp_impl_coroutine // TRANSITION, VS 2019 16.8 |
There was a problem hiding this comment.
Do we know when Clang will support this?
Casey Carter (CaseyCarter)
approved these changes
Jun 16, 2020
Stephan T. Lavavej (StephanTLavavej)
requested changes
Jun 16, 2020
Stephan T. Lavavej (StephanTLavavej)
left a comment
Member
There was a problem hiding this comment.
Looks good; last remaining issue is the rephrasing mentioned in #894 (comment) .
Casey Carter (CaseyCarter)
approved these changes
Jun 17, 2020
Contributor
|
Thanks for your co_contribution! |
ahanamuk
pushed a commit
to ahanamuk/STL
that referenced
this pull request
Jun 25, 2020
* Library support for C++20 coroutines Implements most of <coroutine>. Usefulness of this header is dependent on a compatible compiler (e.g. Visual Studio 2019 16.8 Preview 1 or later) that defines `__cpp_impl_coroutine`. With such a compiler this header exposes the coroutine library support in the `std` namespace without the need for an `/await` switch. This implementation is not yet complete: - noop coroutines are not yet implemented - symmetric transfer is not yet implemented The value of `__cpp_lib_coroutine` is defined to a value less than the Standard-mandated value to represent the incomplete feature. Co-authored-by: Daniel Marshall <xandan@gmail.com>
ahanamuk
pushed a commit
to ahanamuk/STL
that referenced
this pull request
Jun 26, 2020
* Library support for C++20 coroutines Implements most of <coroutine>. Usefulness of this header is dependent on a compatible compiler (e.g. Visual Studio 2019 16.8 Preview 1 or later) that defines `__cpp_impl_coroutine`. With such a compiler this header exposes the coroutine library support in the `std` namespace without the need for an `/await` switch. This implementation is not yet complete: - noop coroutines are not yet implemented - symmetric transfer is not yet implemented The value of `__cpp_lib_coroutine` is defined to a value less than the Standard-mandated value to represent the incomplete feature. Co-authored-by: Daniel Marshall <xandan@gmail.com>
ahanamuk
pushed a commit
to ahanamuk/STL
that referenced
this pull request
Jun 29, 2020
* Library support for C++20 coroutines Implements most of <coroutine>. Usefulness of this header is dependent on a compatible compiler (e.g. Visual Studio 2019 16.8 Preview 1 or later) that defines `__cpp_impl_coroutine`. With such a compiler this header exposes the coroutine library support in the `std` namespace without the need for an `/await` switch. This implementation is not yet complete: - noop coroutines are not yet implemented - symmetric transfer is not yet implemented The value of `__cpp_lib_coroutine` is defined to a value less than the Standard-mandated value to represent the incomplete feature. Co-authored-by: Daniel Marshall <xandan@gmail.com>
ahanamuk
pushed a commit
to ahanamuk/STL
that referenced
this pull request
Jul 1, 2020
* Library support for C++20 coroutines Implements most of <coroutine>. Usefulness of this header is dependent on a compatible compiler (e.g. Visual Studio 2019 16.8 Preview 1 or later) that defines `__cpp_impl_coroutine`. With such a compiler this header exposes the coroutine library support in the `std` namespace without the need for an `/await` switch. This implementation is not yet complete: - noop coroutines are not yet implemented - symmetric transfer is not yet implemented The value of `__cpp_lib_coroutine` is defined to a value less than the Standard-mandated value to represent the incomplete feature. Co-authored-by: Daniel Marshall <xandan@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements most of <coroutine>. Usefulness of this header is dependent
on a compatible compiler (e.g. Visual Studio 2019 16.8 Preview 1 or
later) that defines
__cpp_impl_coroutine. With such a compilerthis header exposes the coroutine library support in the
stdnamespacewithout the need for an
/awaitswitch.This implementation is not yet complete:
The value of
__cpp_lib_coroutineis defined to a value less than theStandard-mandated value to represent the incomplete feature.
Partially addresses #40.
[This is the STL portion of internal MSVC-PR-253905.]