diff options
Diffstat (limited to 'xsd/cxx/option-types.hxx')
-rw-r--r-- | xsd/cxx/option-types.hxx | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/xsd/cxx/option-types.hxx b/xsd/cxx/option-types.hxx new file mode 100644 index 0000000..98a493a --- /dev/null +++ b/xsd/cxx/option-types.hxx @@ -0,0 +1,38 @@ +// file : xsd/cxx/option-types.hxx +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_XSD_OPTION_TYPES_HXX +#define XSD_XSD_OPTION_TYPES_HXX + +#include <iosfwd> +#include <string> + +namespace CXX +{ + struct cxx_version + { + enum value + { + cxx98, + cxx11, + cxx14, + cxx17, + cxx20, + cxx23 + }; + + cxx_version (value v) : v_ (v) {} + operator value () const {return v_;} + + std::string + string () const; + + private: + value v_; + }; + + std::istream& + operator>> (std::istream&, cxx_version&); +} + +#endif // XSD_XSD_OPTION_TYPES_HXX |