Represent enums as enums, not int, if possible
Use enum types instead of int for the enum-valued parameters and function return values, this is more type-safe and clear for the users of the library. Change cpp_enum unit test to use C++ to check that C++ enum wrappers can at least be compiled, but still use C API in it. Note that enum whose underlying type is bigger than int still don't work, but this is no different from what it was before, so just document this limitation but don't do anything else about it for now. This commit is best viewed ignoring whitespace-only changes.
This commit is contained in:
parent
815c7c0361
commit
579c343d5f
4 changed files with 198 additions and 96 deletions
|
|
@ -4,8 +4,7 @@
|
|||
|
||||
int main(int argc, const char *argv[]) {
|
||||
|
||||
// We don't have "enum SOME_ENUM"
|
||||
int e = cpp_enum_ENUM_ONE, *p;
|
||||
enum cpp_enum_SOME_ENUM e = cpp_enum_ENUM_ONE, *p;
|
||||
|
||||
// check the constructor's default value
|
||||
cpp_enum_StructWithEnums *s = cpp_enum_StructWithEnums_new();
|
||||
Loading…
Add table
Add a link
Reference in a new issue