summaryrefslogtreecommitdiff
path: root/xsd/xsd/cxx/option-types.cxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2023-09-05 15:20:13 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2023-09-06 11:44:16 +0300
commit28f737a15d9ce5d9e8b06ab768ef858c07ae510e (patch)
tree7523a801d1326a6e8ba0646d8d4b927f1eaa608b /xsd/xsd/cxx/option-types.cxx
parent0c40310afde1d595697d0edfb3b174a9738605cf (diff)
Make c++11 value default for xsd --std option
Also add support for c++14, c++17, c++20, and c++23 values and drop passing --std option in tests and examples.
Diffstat (limited to 'xsd/xsd/cxx/option-types.cxx')
-rw-r--r--xsd/xsd/cxx/option-types.cxx14
1 files changed, 13 insertions, 1 deletions
diff --git a/xsd/xsd/cxx/option-types.cxx b/xsd/xsd/cxx/option-types.cxx
index ad8a3c9..8744d7f 100644
--- a/xsd/xsd/cxx/option-types.cxx
+++ b/xsd/xsd/cxx/option-types.cxx
@@ -17,7 +17,11 @@ namespace CXX
static const char* cxx_version_[] =
{
"c++98",
- "c++11"
+ "c++11",
+ "c++14",
+ "c++17",
+ "c++20",
+ "c++23",
};
string cxx_version::
@@ -38,6 +42,14 @@ namespace CXX
v = cxx_version::cxx98;
else if (s == "c++11")
v = cxx_version::cxx11;
+ else if (s == "c++14")
+ v = cxx_version::cxx14;
+ else if (s == "c++17")
+ v = cxx_version::cxx17;
+ else if (s == "c++20")
+ v = cxx_version::cxx20;
+ else if (s == "c++23")
+ v = cxx_version::cxx23;
else
is.setstate (istream::failbit);
}