path: root/xsd/cxx/options.cli
diff options
authorBoris Kolpackov <>2014-01-19 10:05:08 +0200
committerBoris Kolpackov <>2014-01-19 10:06:32 +0200
commit0fdf19714613a82a184f4f6e75fb9a4f9b62f18a (patch)
tree93bb2df0f9d9eab44d36dedf29d4df500ecefcbc /xsd/cxx/options.cli
parent45db924dfc19b49b7930522dbddd123fb9575e32 (diff)
Use std::unique_ptr instead of std::auto_ptr in C++11 mode
Diffstat (limited to 'xsd/cxx/options.cli')
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
"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.