-
Notifications
You must be signed in to change notification settings - Fork 191
Open
Labels
Milestone
Description
Believe the primary relevance was #2297 (QT6)?
But there are other features that we would likely want to change across the code base in the process of transitioning compilation.
Many features can just be made use of whenever a contributor feels like it, but others we might want to adopt across the board.
The goal of this issue is to list & discuss those (so feel free to add to the list).
- Make use of filesystem library
This may result in reduction or deprecation ofcore/file/path.hand/orcore/file/utils.h - Nested namespaces
This I'd personally like to see adopted across the code base in order to remove unnecessary indentation. -
std::bytein place of anywhere that auint8_tis used as a set of bitwise flags
Datatypecomes to mind, but there are likely others.
Edit: In addition to bitwise flags, there's also the question of pointers to binary data. On looking around a bit, one suggestion seems to be to usestd::byte*for pointers to completely unstructured / untyped binary data, whereas if the implication is that the underlying data will have some type but the handling code is type-agnostic, continue to usevoid*. But we could equally usestd::byte*for any type-agnostic pointers to binary memory. Open to thoughts.
Edit: For anything for which the size is known at compile time,std::bitsetmay be better. - This may also be the right context in which to address Back-end: Remove all char* / char** usages #2111
Edit: C++17 also hasstd::string_view; this should perhaps be used in instances of interfacing with some code dependency that uses C-style strings, but I'd advocate removing C-style strings across the board where we have the control to do so. - Remove custom
MR::vector<>, revert tostd::vector<> - Remove custom
make_shared<>()andmake_unique<>()