[libc++] Implement P2505R5(Monadic operations for std::expected).
authoryronglin <yronglin777@gmail.com>
Wed, 17 May 2023 17:05:13 +0000 (01:05 +0800)
committeryronglin <yronglin777@gmail.com>
Wed, 17 May 2023 17:05:25 +0000 (01:05 +0800)
commitacce2a315945e386a7be6f014ebe90c2a28f38d9
tree4dc99806d34604023905d11f645690782afe0a66
parent5ae9098e5c1564bdfe0ae0fdbc02e581138eeac7
[libc++] Implement P2505R5(Monadic operations for std::expected).

Implement P2505R5(https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2505r5.html)

Reviewed By: #libc, philnik, ldionne

Differential Revision: https://reviews.llvm.org/D140911
29 files changed:
libcxx/docs/FeatureTestMacroTable.rst
libcxx/docs/ReleaseNotes.rst
libcxx/docs/Status/Cxx2bIssues.csv
libcxx/docs/Status/Cxx2bPapers.csv
libcxx/include/__expected/expected.h
libcxx/include/version
libcxx/test/libcxx/utilities/expected/expected.expected/and_then.mandates.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/utilities/expected/expected.expected/error_or.mandates.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/utilities/expected/expected.expected/no_unique_address.compile.pass.cpp
libcxx/test/libcxx/utilities/expected/expected.expected/or_else.mandates.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/utilities/expected/expected.expected/transform_error.mandates.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/utilities/expected/expected.void/and_then.mandates.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/utilities/expected/expected.void/error_or.mandates.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/utilities/expected/expected.void/no_unique_address.compile.pass.cpp
libcxx/test/libcxx/utilities/expected/expected.void/or_else.mandates.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp [new file with mode: 0644]
libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
libcxx/test/std/utilities/expected/expected.expected/monadic/and_then.pass.cpp [new file with mode: 0644]
libcxx/test/std/utilities/expected/expected.expected/monadic/or_else.pass.cpp [new file with mode: 0644]
libcxx/test/std/utilities/expected/expected.expected/monadic/transform.pass.cpp [new file with mode: 0644]
libcxx/test/std/utilities/expected/expected.expected/monadic/transform_error.pass.cpp [new file with mode: 0644]
libcxx/test/std/utilities/expected/expected.expected/observers/error_or.pass.cpp [new file with mode: 0644]
libcxx/test/std/utilities/expected/expected.void/monadic/and_then.pass.cpp [new file with mode: 0644]
libcxx/test/std/utilities/expected/expected.void/monadic/or_else.pass.cpp [new file with mode: 0644]
libcxx/test/std/utilities/expected/expected.void/monadic/transform.pass.cpp [new file with mode: 0644]
libcxx/test/std/utilities/expected/expected.void/monadic/transform_error.pass.cpp [new file with mode: 0644]
libcxx/test/std/utilities/expected/expected.void/observers/error_or.pass.cpp [new file with mode: 0644]
libcxx/utils/generate_feature_test_macro_components.py