summaryrefslogtreecommitdiff
path: root/xsd/cxx/option-types.hxx
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff.email>2024-03-06 10:24:08 +0100
committerJörg Frings-Fürst <debian@jff.email>2024-03-06 10:24:08 +0100
commitaad5ad9bf0c02aa4e79bc6b7d6c934612fff4026 (patch)
tree9cc224b059f248a6229ab0dcdc64eb4a73fa9800 /xsd/cxx/option-types.hxx
parentc1034fc5e99197f507caf450aa15bc178698b26e (diff)
New upstream version 4.2.0upstream/4.2.0upstream
Diffstat (limited to 'xsd/cxx/option-types.hxx')
-rw-r--r--xsd/cxx/option-types.hxx38
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