summaryrefslogtreecommitdiff
path: root/xsd/cxx/option-types.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2013-07-04 11:30:43 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2013-07-04 11:30:43 +0200
commit9d4a4dd3aedc0b30a55e4013b18cdb6439a9b422 (patch)
treef8c7d26ac758200731bc0c0742078b801bbd17b9 /xsd/cxx/option-types.hxx
parent612b94596ad38263464c27da26a7186e7c22cca9 (diff)
Add --std option that specified C++ standard
Diffstat (limited to 'xsd/cxx/option-types.hxx')
-rw-r--r--xsd/cxx/option-types.hxx36
1 files changed, 36 insertions, 0 deletions
diff --git a/xsd/cxx/option-types.hxx b/xsd/cxx/option-types.hxx
new file mode 100644
index 0000000..13aa363
--- /dev/null
+++ b/xsd/cxx/option-types.hxx
@@ -0,0 +1,36 @@
+// file : xsd/cxx/option-types.hxx
+// author : Boris Kolpackov <boris@codesynthesis.com>
+// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC
+// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+#ifndef XSD_OPTION_TYPES_HXX
+#define XSD_OPTION_TYPES_HXX
+
+#include <iosfwd>
+#include <string>
+
+namespace CXX
+{
+ struct cxx_version
+ {
+ enum value
+ {
+ cxx98,
+ cxx11
+ };
+
+ cxx_version (value v = value (0)) : v_ (v) {}
+ operator value () const {return v_;}
+
+ std::string
+ string () const;
+
+ private:
+ value v_;
+ };
+
+ std::istream&
+ operator>> (std::istream&, cxx_version&);
+}
+
+#endif // XSD_OPTION_TYPES_HXX