Better Enums
papers
Better Enums | papers | |
---|---|---|
5 | 84 | |
1,593 | 589 | |
- | 1.4% | |
3.7 | 4.6 | |
3 months ago | 5 months ago | |
C++ | Perl | |
BSD 2-clause "Simplified" License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Better Enums
-
How to convert an enum to string in C++
I really like better_enums instead of magic_enums. There’s no limit on enum size with it: http://aantron.github.io/better-enums/
It was heavily used at a former employer of mine, so definitely a solid production-ready solution.
-
What C++ library do you wish existed but hasn’t been created yet?
IIRC I then switched to another library doing the same stuff: https://github.com/aantron/better-enums It is not as magical, as it uses a special macro to define the enum, using dedicated syntax. So it only works for enums you yourself define. However, it did work a lot better for me with enums with huge values.
-
Behind the magic of magic_enum
I can't keep up! First we have better enum, then some guy at a conference says we have to use wise enum instead, and now you speak of magic enum!
- What are some cool modern libraries you enjoy using?
-
let's all be chads
If you need a laugh today, look at Better Enums library for C++. If you thought moving from C to C++ would let you leave macros behind, think again! Enums in C++ still suck (a bit less than in C though), so someone built a library to help with that. And it's built on macros. So you can only have 64 entries per enum. And the library's code is barely readable.
papers
-
Learn Modern C++
What's fun is, because everything is decided in papers, we can find out why! https://github.com/cplusplus/papers/issues/884
Accepted paper here: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p20...
> The proposed std::print function improves usability, avoids allocating a temporary std::string object and calling operator<< which performs formatted I/O on text that is already formatted. The number of function calls is reduced to one which, together with std::vformat-like type erasure, results in much smaller binary code (see § 13 Binary code).
Additionally,
> Another problem is formatting of Unicode text:
> std::cout << "Привет, κόσμος!";
> If the source and execution encoding is UTF-8 this will produce the expected output on most GNU/Linux and macOS systems. Unfortunately on Windows it is almost guaranteed to produce mojibake despite the fact that the system is fully capable of printing Unicode
- The insanity of compile time programming
- P1673 A free function linear algebra interface based on the BLAS
-
When will std::linalg make it into a new C++ release?
See https://github.com/cplusplus/papers/issues/557
-
C++ Papercuts
Bringing editions to C++ failed, and I am not aware of anyone trying to tackle the issues https://github.com/cplusplus/papers/issues/631
(I could be wrong though! I follow the committee more than you may guess, but not as much as to think I know everything about what's going on.)
-
Argonne National Lab is attempting to replicate LK-99
GitHub would not be relevant in this respect because:
* It's owned by a (single) commercial corporation, Microsoft.
* There is censorship both by content and in some respects by country of origin.
* The code is closed.
but otherwise it's an interesting idea.
The C++ standardization committee uses GitHub to track papers submitted to them, see:
https://github.com/cplusplus/papers
-
C++23: The Next C++ Standard
There was no non-approval. The facility needs more work, and the authors (and the committee) were focusing on getting print/format done first. I hope that the paper will be worked on again in the future. We will be happy to review it once there is a revision (see github for history)
- What C++ library do you wish existed but hasn’t been created yet?
-
2023-06 Varna ISO C++ Committee Trip Report — First Official C++26 meeting!
For more details on what we did at the 2023-06 Varna meeting, the [GitHub issue](https://github.com/cplusplus/papers/issues/328) associated with the paper has a summary.
-
Trip Summer ISO C++ standards meeting (Varna, Bulgaria)
You subscribe to the Github issue of the proposal: https://github.com/cplusplus/papers/issues
What are some alternatives?
C++ Format - A modern formatting library
circle - The compiler is available for download. Get it!
stb - stb single-file public domain libraries for C/C++
compiler-explorer - Run compilers interactively from your web browser and interact with the assembly
Klib - A standalone and lightweight C library
American Fuzzy Lop - american fuzzy lop - a security-oriented fuzzer
LEWG - Project planning for the C++ Library Evolution Working Group
Cppcheck - static analysis of C/C++ code
CPM.cmake - 📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.
constexpr-8cc - Compile-time C Compiler implemented as C++14 constant expressions
tinyformat - Minimal, type safe printf replacement library for C++