Open manuka89 opened 5 years ago
Sure. Send a PR and I will look at it.
You mean PR=Pull Request?
Yes
@tmontgomery Does this project require C++11 or higher? Because that is needed for enum classes.
If we do require C++11 or higher we could remove the SBE_NOEXCEPT
and SBE_CONSTEXPR
macro.
Not all C++11 compilers are equal. Such as various older releases of Visual Studio (right after 11 started showing up) and gcc that don't fully support every piece of the standard.
So, while C++11 is suggested, we try to make it as optional as possible to have the broadest base.
Sure, that's why it's better to target some common platforms (Ubuntu LTS, Centos, SUSE, whatever is common non-EOL VS) and run CI against them. I'm pretty sure all of them have compilers with enum class
support.
Using enum class
could improve type safety in the C++ API. It would also be a API breakage.Something to consider for the future.
I will create a separate issue for this.
When generating enumerations for C++, is it possible to generate typed enumerations?
I mean to generate:
enum Color : uint8_t { BLUE = 0, GREEN = 1, ... }
instead of
enum Color { BLUE = (std::uint8_t)0, GREEN = (std::uint8_t)1, ... }