Skip to content

nonergodic/EnumPP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EnumPP

C++ enums with introspection (and hence string conversion and value checking).

Summary

Enum++ enhances C++'s weak enums (especially C++03 and earlier) by providing introspection, (string) conversion, and value checking functionality using a single macro that handles all the code generation using just the preprocessor without any unnecessary boilerplate, meta-compilation, or other non-standard shennanigans.

Check out enum_pp_demo.cpp to see it in use.

Dependencies

  • CMake 3.0 or newer
  • Boost Preprocessor library (only headers, sufficiently recent version (say 1.57 or newer))
  • C++11 (though it can be made to work with C++03 and older with just a few minor drawbacks)
  • Variadic Macros enabled in compiler (see CMakefile)

History/Bragging

I actually implemented the first version of Enum++ in 2012 before any of the "better enum" solutions existed out there (or at least before they could be found via Google). With the advent of C++11's scoped enums, I was able to overcome the last major design limitation, thus giving rise to the library as it is today, usable as a drop-in replacement wherever normal enums can be used (namespaces, nested in classes, ...)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published