Skip to content

Support C++23.#98

Merged
crud89 merged 30 commits intomainfrom
cxx23
Apr 30, 2023
Merged

Support C++23.#98
crud89 merged 30 commits intomainfrom
cxx23

Conversation

@crud89
Copy link
Copy Markdown
Owner

@crud89 crud89 commented Apr 30, 2023

Describe the pull request

This PR adds support for C++23, which improves readability, especially with regards to ranges. Most importantly, the ranges::to adaptor has been replaced with the STL version.

Additionally, this PR now implements a immutable, forwarding Enumerable container, that is used to pass around unstructured collections. This container can be initialized from arbitrary ranges, as well as initializer lists, which makes it straightforward to use. As a careful experiment, some unit tests have been added for this container.

Furthermore, some places where std::gererate or std::ranges::generate were used earlier have been replaced with std::generator. This is currently not available in any compiler, so the PR contains a draft of Microsoft's STL implementation. As soon as this gets available, this should be removed.

crud89 and others added 30 commits April 19, 2023 14:09
This implementation is based on https://github.com/CaseyCarter/STL/tree/generator and should be removed when the standard implementation is made available. The `generator.hpp` file is distributed as a derivate of the STL implementation and licensed accordingly.
Also swap chain now has a function to provide a single present image based on a back buffer index.
@crud89 crud89 added Priority: High A high priority issue. Type: Requirement Build 🛠 Issues that involve the build process. labels Apr 30, 2023
@crud89 crud89 added this to the Alpha #04 milestone Apr 30, 2023
@crud89 crud89 self-assigned this Apr 30, 2023
@crud89 crud89 marked this pull request as ready for review April 30, 2023 10:44
@crud89 crud89 merged commit 8ffce69 into main Apr 30, 2023
@crud89 crud89 deleted the cxx23 branch April 30, 2023 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Build 🛠 Issues that involve the build process. Priority: High A high priority issue.

Projects

Status: v0.4.1

Development

Successfully merging this pull request may close these issues.

1 participant