summaryrefslogtreecommitdiff
path: root/xsd/cxx/tree/generator.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-08-29 15:24:56 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-08-29 15:24:56 +0200
commit474046c375d24bfdb51a20b0bfd3ac4ac928ef3e (patch)
tree58e80190a253381fe4e0bf636ceb33679e2647fb /xsd/cxx/tree/generator.cxx
parent54333e04060f50cb9d8babb40d3469b7a2a7c38e (diff)
Implement generation of assignment operators
Also add the --suppress-assignment option. We need to generate these operators into the .cxx file instead of relying on the implicit inline ones because in the file-per-type mode types of members are only forward- declared in the header. Also, we don't want to assign the DOMDocument member used to store the wildcard content.
Diffstat (limited to 'xsd/cxx/tree/generator.cxx')
-rw-r--r--xsd/cxx/tree/generator.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/xsd/cxx/tree/generator.cxx b/xsd/cxx/tree/generator.cxx
index c13bf1f..3b0e6cd 100644
--- a/xsd/cxx/tree/generator.cxx
+++ b/xsd/cxx/tree/generator.cxx
@@ -129,6 +129,7 @@ namespace CXX
extern Key generate_comparison = "generate-comparison";
extern Key generate_default_ctor = "generate-default-ctor";
extern Key generate_from_base_ctor = "generate-from-base-ctor";
+ extern Key suppress_assignment = "suppress-assignment";
extern Key generate_detach = "generate-detach";
extern Key generate_wildcard = "generate-wildcard";
extern Key generate_insertion = "generate-insertion";
@@ -284,6 +285,11 @@ namespace CXX
<< " Generate from-base constructors."
<< endl;
+ e << "--suppress-assignment" << endl
+ << " Suppress the generation of copy assignment\n"
+ << " operators for complex types."
+ << endl;
+
e << "--generate-detach" << endl
<< " Generate detach functions for required members."
<< endl;