summaryrefslogtreecommitdiff
path: root/xsd/cxx/options.cli
diff options
context:
space:
mode:
Diffstat (limited to 'xsd/cxx/options.cli')
-rw-r--r--xsd/cxx/options.cli18
1 files changed, 17 insertions, 1 deletions
diff --git a/xsd/cxx/options.cli b/xsd/cxx/options.cli
index 2203188..78fd587 100644
--- a/xsd/cxx/options.cli
+++ b/xsd/cxx/options.cli
@@ -21,7 +21,23 @@ namespace CXX
{
"<version>",
"Specify the C++ standard that the generated code should conform to.
- Valid values are \cb{c++98} (default) and \cb{c++11}."
+ Valid values are \cb{c++98} (default) and \cb{c++11}.
+
+ The C++ standard affects various aspects of the generated code that
+ are discussed in more detail in various mapping-specific
+ documentation. Overall, when C++11 is selected, the generated
+ code relies on the move semantics and uses \cb{std::unique_ptr}
+ instead of deprecated \cb{std::auto_ptr}.
+
+ When the C++11 mode is selected, you normally don't need to
+ perform any extra steps other than enable C++11 in your C++
+ compiler, if required. The XSD compiler will automatically
+ add the necessary macro defines to the generated header files
+ that will switch the header-only XSD runtime library (\cb{libxsd})
+ to the C++11 mode. However, if you include any of the XSD runtime
+ headers directly in your application (normally you just include
+ the generated headers), then you will need to define the
+ \cb{XSD_CXX11} macro for your entire project."
};
// Character type and encoding.