From 35ebba53cd5380751554511f2472f15ae846e06a Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 8 Mar 2012 11:07:46 +0200 Subject: Print usage/version information to STDOUT instead of STDERR --- xsde/cxx/hybrid/generator.cxx | 189 +++++++++++++++++++------------------- xsde/cxx/parser/generator.cxx | 133 ++++++++++++++------------- xsde/cxx/serializer/generator.cxx | 131 +++++++++++++------------- 3 files changed, 228 insertions(+), 225 deletions(-) (limited to 'xsde/cxx') diff --git a/xsde/cxx/hybrid/generator.cxx b/xsde/cxx/hybrid/generator.cxx index 21b22f8..092fc52 100644 --- a/xsde/cxx/hybrid/generator.cxx +++ b/xsde/cxx/hybrid/generator.cxx @@ -55,6 +55,7 @@ using std::endl; using std::wcerr; +using std::wcout; using namespace XSDFrontend::SemanticGraph; namespace Indentation = BackendElements::Indentation; @@ -209,157 +210,157 @@ namespace CXX Void Hybrid::Generator:: usage () { - std::wostream& e (wcerr); - ::CLI::Indent::Clip< ::CLI::OptionsUsage, WideChar> clip (e); + std::wostream& o (wcout); + ::CLI::Indent::Clip< ::CLI::OptionsUsage, WideChar> clip (o); - e << "--char-encoding " << endl + o << "--char-encoding " << endl << " Specify the character encoding that should be\n" << " used in the object model. Valid values are 'utf8'\n" << " (default) and 'iso8859-1'." << endl; - e << "--no-stl" << endl + o << "--no-stl" << endl << " Generate code that does not use STL." << endl; - e << "--no-iostream" << endl + o << "--no-iostream" << endl << " Generate code that does not use the iostream\n" << " library." << endl; - e << "--no-exceptions" << endl + o << "--no-exceptions" << endl << " Generate code that does not use C++ exceptions." << endl; - e << "--no-long-long" << endl + o << "--no-long-long" << endl << " Generate code that does not use the long long\n" << " and unsigned long long types." << endl; - e << "--generate-parser" << endl + o << "--generate-parser" << endl << " Generate XML parsing code." << endl; - e << "--generate-serializer" << endl + o << "--generate-serializer" << endl << " Generate XML serialization code." << endl; - e << "--generate-aggregate" << endl + o << "--generate-aggregate" << endl << " Generate parser/serializer aggregates for root\n" << " elements and/or types." << endl; - e << "--suppress-validation" << endl + o << "--suppress-validation" << endl << " Suppress the generation of validation code in\n" << " parser and serializer." << endl; - e << "--suppress-parser-val" << endl + o << "--suppress-parser-val" << endl << " Suppress the generation of validation code in\n" << " parser." << endl; - e << "--suppress-serializer-val" << endl + o << "--suppress-serializer-val" << endl << " Suppress the generation of validation code in\n" << " serializer." << endl; - e << "--omit-default-attributes" << endl + o << "--omit-default-attributes" << endl << " Omit attributes with default and fixed values\n" << " from serialized XML documents." << endl; - e << "--suppress-enum" << endl + o << "--suppress-enum" << endl << " Suppress the generation of the XML Schema\n" << " enumeration to C++ enum mapping." << endl; - e << "--generate-clone" << endl + o << "--generate-clone" << endl << " Generate clone functions for variable-length\n" << " types." << endl; - e << "--generate-detach" << endl + o << "--generate-detach" << endl << " Generate detach functions for elements and\n" << " attributes of variable-length types." << endl; - e << "--generate-insertion " << endl + o << "--generate-insertion " << endl << " Generate data representation stream insertion\n" << " operators for the output stream type." << endl; - e << "--generate-extraction " << endl + o << "--generate-extraction " << endl << " Generate data representation stream extraction\n" << " operators for the input stream type." << endl; - e << "--generate-inline" << endl + o << "--generate-inline" << endl << " Generate certain functions inline." << endl; - e << "--generate-forward" << endl + o << "--generate-forward" << endl << " Generate forward declaration file." << endl; - e << "--generate-xml-schema" << endl + o << "--generate-xml-schema" << endl << " Generate C++ header files as if the schema being\n" << " compiled defines the XML Schema namespace." << endl; - e << "--extern-xml-schema " << endl + o << "--extern-xml-schema " << endl << " Generate code as if the XML Schema namespace was\n" << " defined in and xsd:included in the schema\n" << " being compiled." << endl; - e << "--suppress-reset" << endl + o << "--suppress-reset" << endl << " Suppress the generation of parser and serializer\n" << " reset code." << endl; - e << "--custom-allocator" << endl + o << "--custom-allocator" << endl << " Generate code that uses custom allocator functions\n" << " instead of operator new/delete." << endl; - e << "--generate-polymorphic" << endl + o << "--generate-polymorphic" << endl << " Generate polymorphism-aware code. Specify this\n" << " option if you use substitution groups or xsi:type." << endl; - e << "--runtime-polymorphic" << endl + o << "--runtime-polymorphic" << endl << " Generate non-polymorphic code that uses the\n" << " runtime library configured with polymorphism\n" << " support." << endl; - e << "--polymorphic-type " << endl + o << "--polymorphic-type " << endl << " Indicate that is a root of a polymorphic\n" << " type hierarchy." << endl; - e << "--generate-typeinfo" << endl + o << "--generate-typeinfo" << endl << " Generate type information functions for\n" << " polymorphic object model types." << endl; - e << "--polymorphic-schema " << endl + o << "--polymorphic-schema " << endl << " Indicate that contains derivations of\n" << " polymorphic types." << endl; - e << "--reuse-style-mixin" << endl + o << "--reuse-style-mixin" << endl << " Generate code that supports the mixin base\n" << " parser/serializer implementation reuse style." << endl; - e << "--custom-data " << endl + o << "--custom-data " << endl << " Add custom data to the C++ class generated for\n" << " XML Schema type ." << endl; - e << "--custom-type " << endl + o << "--custom-type " << endl << " Use a custom type implementation instead of the\n" << " generated version. The argument is in the\n" << " form name[=[flags][/[type][/[base][/include]]]],\n" @@ -373,7 +374,7 @@ namespace CXX << " custom implementation." << endl; - e << "--custom-parser " << endl + o << "--custom-parser " << endl << " Use a custom parser implementation instead of the\n" << " generated version. The argument is in the\n" << " form name[=[base][/include]], where is an\n" @@ -383,7 +384,7 @@ namespace CXX << " file that defines the custom implementation." << endl; - e << "--custom-serializer " << endl + o << "--custom-serializer " << endl << " Use a custom serializer implementation instead of\n" << " the generated version. The argument is in\n" << " the form name[=[base][/include]], where is\n" @@ -393,165 +394,165 @@ namespace CXX << " file that defines the custom implementation." << endl; - e << "--root-element-first" << endl + o << "--root-element-first" << endl << " Treat only the first global element as a document\n" << " root." << endl; - e << "--root-element-last" << endl + o << "--root-element-last" << endl << " Treat only the last global element as a document\n" << " root." << endl; - e << "--root-element-all" << endl + o << "--root-element-all" << endl << " Treat all global elements as document roots." << endl; - e << "--root-element-none" << endl + o << "--root-element-none" << endl << " Don't treat any global elements as document roots." << endl; - e << "--root-element " << endl + o << "--root-element " << endl << " Treat only as a document root. Repeat\n" << " this option to specify more than one root element." << endl; - e << "--root-type " << endl + o << "--root-type " << endl << " Generate parser/serializer aggregate for .\n" << " Repeat this option to specify more than one type." << endl; - e << "--output-dir " << endl + o << "--output-dir " << endl << " Write generated files to instead of the\n" << " current directory." << endl; - e << "--pskel-type-suffix " << endl + o << "--pskel-type-suffix " << endl << " Use instead of the default '_pskel' suffix\n" << " to construct the names of generated parser\n" << " skeletons." << endl; - e << "--sskel-type-suffix " << endl + o << "--sskel-type-suffix " << endl << " Use instead of the default '_sskel' suffix\n" << " to construct the names of generated serializer\n" << " skeletons." << endl; - e << "--pskel-file-suffix " << endl + o << "--pskel-file-suffix " << endl << " Use instead of the default '-pskel' suffix\n" << " to construct the names of generated parser\n" << " skeleton files." << endl; - e << "--sskel-file-suffix " << endl + o << "--sskel-file-suffix " << endl << " Use instead of the default '-sskel' suffix\n" << " to construct the names of generated serializer\n" << " skeleton files." << endl; - e << "--pimpl-type-suffix " << endl + o << "--pimpl-type-suffix " << endl << " Use instead of the default '_pimpl' suffix\n" << " to construct the names of generated parser\n" << " implementations." << endl; - e << "--simpl-type-suffix " << endl + o << "--simpl-type-suffix " << endl << " Use instead of the default '_simpl' suffix\n" << " to construct the names of generated serializer\n" << " implementations." << endl; - e << "--pimpl-file-suffix " << endl + o << "--pimpl-file-suffix " << endl << " Use instead of the default '-pimpl' suffix\n" << " to construct the names of generated parser\n" << " implementation files." << endl; - e << "--simpl-file-suffix " << endl + o << "--simpl-file-suffix " << endl << " Use instead of the default '-simpl' suffix\n" << " to construct the names of generated serializer\n" << " implementation files." << endl; - e << "--paggr-type-suffix " << endl + o << "--paggr-type-suffix " << endl << " Use instead of the default '_paggs' suffix\n" << " to construct the names of generated parser\n" << " aggregates." << endl; - e << "--saggr-type-suffix " << endl + o << "--saggr-type-suffix " << endl << " Use instead of the default '_saggr' suffix\n" << " to construct the names of generated serializer\n" << " aggregates." << endl; - e << "--namespace-map =" << endl + o << "--namespace-map =" << endl << " Map XML Schema namespace to C++ namespace\n" << " . Repeat this option to specify mapping for\n" << " more than one XML Schema namespace." << endl; - e << "--namespace-regex " << endl + o << "--namespace-regex " << endl << " Add to the list of regular expressions\n" << " used to translate XML Schema namespace names to\n" << " C++ namespace names." << endl; - e << "--namespace-regex-trace" << endl + o << "--namespace-regex-trace" << endl << " Trace the process of applying regular expressions\n" << " specified with the --namespace-regex option." << endl; - e << "--reserved-name " << endl + o << "--reserved-name " << endl << " Add to the list of names that should not\n" << " be used as identifiers. The name can optionally\n" << " be followed by '=' and the replacement name that\n" << " should be used instead." << endl; - e << "--include-with-brackets" << endl + o << "--include-with-brackets" << endl << " Use angle brackets (<>) instead of quotes (\"\") in\n" << " generated #include directives." << endl; - e << "--include-prefix " << endl + o << "--include-prefix " << endl << " Add to generated #include directive\n" << " paths." << endl; - e << "--include-regex " << endl + o << "--include-regex " << endl << " Add to the list of regular expressions\n" << " used to transform #include directive paths." << endl; - e << "--include-regex-trace" << endl + o << "--include-regex-trace" << endl << " Trace the process of applying regular expressions\n" << " specified with the --include-regex option." << endl; - e << "--guard-prefix " << endl + o << "--guard-prefix " << endl << " Add to generated header inclusion guards." << endl; // File suffix. // - e << "--hxx-suffix " << endl + o << "--hxx-suffix " << endl << " Use instead of the default '.hxx' to\n" << " construct the name of the header files." << endl; - e << "--ixx-suffix " << endl + o << "--ixx-suffix " << endl << " Use instead of the default '.ixx' to\n" << " construct the name of the inline files." << endl; - e << "--cxx-suffix " << endl + o << "--cxx-suffix " << endl << " Use instead of the default '.cxx' to\n" << " construct the name of the source files." << endl; - e << "--fwd-suffix " << endl + o << "--fwd-suffix " << endl << " Use instead of the default '-fwd.hxx'\n" << " to construct the name of the forward declaration\n" << " file." @@ -559,22 +560,22 @@ namespace CXX // File regex. // - e << "--hxx-regex " << endl + o << "--hxx-regex " << endl << " Use to construct the names of the header\n" << " files." << endl; - e << "--ixx-regex " << endl + o << "--ixx-regex " << endl << " Use to construct the names of the inline\n" << " files." << endl; - e << "--cxx-regex " << endl + o << "--cxx-regex " << endl << " Use to construct the names of the source\n" << " files." << endl; - e << "--fwd-regex " << endl + o << "--fwd-regex " << endl << " Use to construct the name of the forward\n" << " declaration file." << endl; @@ -582,27 +583,27 @@ namespace CXX // Prologues. // - e << "--hxx-prologue " << endl + o << "--hxx-prologue " << endl << " Insert at the beginning of the header\n" << " files." << endl; - e << "--ixx-prologue " << endl + o << "--ixx-prologue " << endl << " Insert at the beginning of the inline\n" << " files." << endl; - e << "--cxx-prologue " << endl + o << "--cxx-prologue " << endl << " Insert at the beginning of the source\n" << " files." << endl; - e << "--fwd-prologue " << endl + o << "--fwd-prologue " << endl << " Insert at the beginning of the forward\n" << " declaration file." << endl; - e << "--prologue " << endl + o << "--prologue " << endl << " Insert at the beginning of each generated\n" << " file for which there is no file-specific prologue." << endl; @@ -610,24 +611,24 @@ namespace CXX // Epilogues. // - e << "--hxx-epilogue " << endl + o << "--hxx-epilogue " << endl << " Insert at the end of the header files." << endl; - e << "--ixx-epilogue " << endl + o << "--ixx-epilogue " << endl << " Insert at the end of the inline files." << endl; - e << "--cxx-epilogue " << endl + o << "--cxx-epilogue " << endl << " Insert at the end of the source files." << endl; - e << "--fwd-epilogue " << endl + o << "--fwd-epilogue " << endl << " Insert at the end of the forward\n" << " declaration file." << endl; - e << "--epilogue " << endl + o << "--epilogue " << endl << " Insert at the end of each generated file\n" << " for which there is no file-specific epilogue." << endl; @@ -635,27 +636,27 @@ namespace CXX // Prologue files. // - e << "--hxx-prologue-file " << endl + o << "--hxx-prologue-file " << endl << " Insert the content of the at the beginning\n" << " of the header files." << endl; - e << "--ixx-prologue-file " << endl + o << "--ixx-prologue-file " << endl << " Insert the content of the at the beginning\n" << " of the inline files." << endl; - e << "--cxx-prologue-file " << endl + o << "--cxx-prologue-file " << endl << " Insert the content of the at the beginning\n" << " of the source files." << endl; - e << "--fwd-prologue-file " << endl + o << "--fwd-prologue-file " << endl << " Insert the content of the at the beginning\n" << " of the forward declaration file." << endl; - e << "--prologue-file " << endl + o << "--prologue-file " << endl << " Insert the content of the at the beginning\n" << " of each generated file for which there is no file-\n" << " specific prologue file." @@ -664,27 +665,27 @@ namespace CXX // Epilogue files. // - e << "--hxx-epilogue-file " << endl + o << "--hxx-epilogue-file " << endl << " Insert the content of the at the end of\n" << " the header files." << endl; - e << "--ixx-epilogue-file " << endl + o << "--ixx-epilogue-file " << endl << " Insert the content of the at the end of\n" << " the inline files." << endl; - e << "--cxx-epilogue-file " << endl + o << "--cxx-epilogue-file " << endl << " Insert the content of the at the end of\n" << " the source files." << endl; - e << "--fwd-epilogue-file " << endl + o << "--fwd-epilogue-file " << endl << " Insert the content of the at the end of\n" << " the forward declaration file." << endl; - e << "--epilogue-file " << endl + o << "--epilogue-file " << endl << " Insert the content of the at the end of\n" << " each generated file for which there is no file-\n" << " specific epilogue file." @@ -693,28 +694,28 @@ namespace CXX // Misc. // - e << "--show-anonymous" << endl + o << "--show-anonymous" << endl << " Show elements and attributes that are of anonymous\n" << " types." << endl; - e << "--show-sloc" << endl + o << "--show-sloc" << endl << " Show the number of generated physical source lines\n" << " of code (SLOC)." << endl; - e << "--sloc-limit " << endl + o << "--sloc-limit " << endl << " Check that the number of generated physical source\n" << " lines of code (SLOC) does not exceed ." << endl; - e << "--options-file " << endl + o << "--options-file " << endl << " Read additional options from . Each option\n" << " should appear on a separate line optionally\n" << " followed by space and an argument." << endl; - e << "--proprietary-license" << endl + o << "--proprietary-license" << endl << " Indicate that the generated code is licensed under\n" << " a proprietary license instead of the GPL." << endl; diff --git a/xsde/cxx/parser/generator.cxx b/xsde/cxx/parser/generator.cxx index c717554..7ae012f 100644 --- a/xsde/cxx/parser/generator.cxx +++ b/xsde/cxx/parser/generator.cxx @@ -47,6 +47,7 @@ using std::endl; using std::wcerr; +using std::wcout; using namespace XSDFrontend::SemanticGraph; @@ -180,226 +181,226 @@ namespace CXX Void Parser::Generator:: usage () { - std::wostream& e (wcerr); - ::CLI::Indent::Clip< ::CLI::OptionsUsage, WideChar> clip (e); + std::wostream& o (wcout); + ::CLI::Indent::Clip< ::CLI::OptionsUsage, WideChar> clip (o); - e << "--type-map " << endl + o << "--type-map " << endl << " Read XML Schema to C++ type mapping information\n" << " from . Repeat this option to specify\n" << " several type maps. Type maps are considered in\n" << " order of appearance and the first match is used." << endl; - e << "--char-encoding " << endl + o << "--char-encoding " << endl << " Specify the character encoding that should be\n" << " used for the extracted text data. Valid values\n" << " are 'utf8' (default) and 'iso8859-1'." << endl; - e << "--no-stl" << endl + o << "--no-stl" << endl << " Generate code that does not use STL." << endl; - e << "--no-iostream" << endl + o << "--no-iostream" << endl << " Generate code that does not use the iostream\n" << " library." << endl; - e << "--no-exceptions" << endl + o << "--no-exceptions" << endl << " Generate code that does not use C++ exceptions." << endl; - e << "--no-long-long" << endl + o << "--no-long-long" << endl << " Generate code that does not use the long long\n" << " and unsigned long long types." << endl; - e << "--reuse-style-mixin" << endl + o << "--reuse-style-mixin" << endl << " Generate code that supports the mixin base parser\n" << " implementation reuse style." << endl; - e << "--reuse-style-none" << endl + o << "--reuse-style-none" << endl << " Do not generate any support for base parser\n" << " implementation reuse." << endl; - e << "--generate-inline" << endl + o << "--generate-inline" << endl << " Generate certain functions inline." << endl; - e << "--suppress-validation" << endl + o << "--suppress-validation" << endl << " Suppress the generation of validation code." << endl; - e << "--generate-polymorphic" << endl + o << "--generate-polymorphic" << endl << " Generate polymorphism-aware code. Specify this\n" << " option if you use substitution groups or xsi:type." << endl; - e << "--runtime-polymorphic" << endl + o << "--runtime-polymorphic" << endl << " Generate non-polymorphic code that uses the\n" << " runtime library configured with polymorphism\n" << " support." << endl; - e << "--suppress-reset" << endl + o << "--suppress-reset" << endl << " Suppress the generation of parser reset code." << endl; - e << "--custom-allocator" << endl + o << "--custom-allocator" << endl << " Generate code that uses custom allocator functions\n" << " instead of operator new/delete." << endl; - e << "--generate-noop-impl" << endl + o << "--generate-noop-impl" << endl << " Generate a sample parser implementation that\n" << " does nothing (no operation)." << endl; - e << "--generate-print-impl" << endl + o << "--generate-print-impl" << endl << " Generate a sample parser implementation that\n" << " prints the XML data to STDOUT." << endl; - e << "--generate-test-driver" << endl + o << "--generate-test-driver" << endl << " Generate a test driver for the sample parser\n" << " implementation." << endl; - e << "--force-overwrite" << endl + o << "--force-overwrite" << endl << " Force overwriting of the existing implementation\n" << " and test driver files." << endl; - e << "--root-element-first" << endl + o << "--root-element-first" << endl << " Indicate that the first global element is the\n" << " document root." << endl; - e << "--root-element-last" << endl + o << "--root-element-last" << endl << " Indicate that the last global element is the\n" << " document root." << endl; - e << "--root-element " << endl + o << "--root-element " << endl << " Indicate that is the document root." << endl; - e << "--generate-xml-schema" << endl + o << "--generate-xml-schema" << endl << " Generate a C++ header file as if the schema being\n" << " compiled defines the XML Schema namespace." << endl; - e << "--extern-xml-schema " << endl + o << "--extern-xml-schema " << endl << " Generate code as if the XML Schema namespace was\n" << " defined in and xsd:included in the schema\n" << " being compiled." << endl; - e << "--output-dir " << endl + o << "--output-dir " << endl << " Write generated files to instead of the\n" << " current directory." << endl; - e << "--skel-type-suffix " << endl + o << "--skel-type-suffix " << endl << " Use instead of the default '_pskel' to\n" << " construct the names of generated parser skeletons." << endl; - e << "--skel-file-suffix " << endl + o << "--skel-file-suffix " << endl << " Use instead of the default '-pskel' to\n" << " construct the names of generated parser skeleton\n" << " files." << endl; - e << "--impl-type-suffix " << endl + o << "--impl-type-suffix " << endl << " Use instead of the default '_pimpl' to\n" << " construct the names of parser implementations for\n" << " the built-in XML Schema types and sample parser\n" << " implementations." << endl; - e << "--impl-file-suffix " << endl + o << "--impl-file-suffix " << endl << " Use instead of the default '-pimpl' to\n" << " construct the names of generated sample parser\n" << " implementation files." << endl; - e << "--namespace-map =" << endl + o << "--namespace-map =" << endl << " Map XML Schema namespace to C++ namespace\n" << " . Repeat this option to specify mapping for\n" << " more than one XML Schema namespace." << endl; - e << "--namespace-regex " << endl + o << "--namespace-regex " << endl << " Add to the list of regular expressions\n" << " used to translate XML Schema namespace names to\n" << " C++ namespace names." << endl; - e << "--namespace-regex-trace" << endl + o << "--namespace-regex-trace" << endl << " Trace the process of applying regular expressions\n" << " specified with the --namespace-regex option." << endl; - e << "--reserved-name " << endl + o << "--reserved-name " << endl << " Add to the list of names that should not\n" << " be used as identifiers. The name can optionally\n" << " be followed by '=' and the replacement name that\n" << " should be used instead." << endl; - e << "--include-with-brackets" << endl + o << "--include-with-brackets" << endl << " Use angle brackets (<>) instead of quotes (\"\") in\n" << " generated #include directives." << endl; - e << "--include-prefix " << endl + o << "--include-prefix " << endl << " Add to generated #include directive\n" << " paths." << endl; - e << "--include-regex " << endl + o << "--include-regex " << endl << " Add to the list of regular expressions\n" << " used to transform #include directive paths." << endl; - e << "--include-regex-trace" << endl + o << "--include-regex-trace" << endl << " Trace the process of applying regular expressions\n" << " specified with the --include-regex option." << endl; - e << "--guard-prefix " << endl + o << "--guard-prefix " << endl << " Add to generated header inclusion guards." << endl; - e << "--hxx-suffix " << endl + o << "--hxx-suffix " << endl << " Use instead of the default '.hxx' to\n" << " construct the name of the header file." << endl; - e << "--ixx-suffix " << endl + o << "--ixx-suffix " << endl << " Use instead of the default '.ixx' to\n" << " construct the name of the inline file." << endl; - e << "--cxx-suffix " << endl + o << "--cxx-suffix " << endl << " Use instead of the default '.cxx' to\n" << " construct the name of the source file." << endl; - e << "--hxx-regex " << endl + o << "--hxx-regex " << endl << " Use to construct the name of the header\n" << " file." << endl; - e << "--ixx-regex " << endl + o << "--ixx-regex " << endl << " Use to construct the name of the inline\n" << " file." << endl; - e << "--cxx-regex " << endl + o << "--cxx-regex " << endl << " Use to construct the name of the source\n" << " file." << endl; @@ -407,19 +408,19 @@ namespace CXX // Prologues. // - e << "--hxx-prologue " << endl + o << "--hxx-prologue " << endl << " Insert at the beginning of the header file." << endl; - e << "--ixx-prologue " << endl + o << "--ixx-prologue " << endl << " Insert at the beginning of the inline file." << endl; - e << "--cxx-prologue " << endl + o << "--cxx-prologue " << endl << " Insert at the beginning of the source file." << endl; - e << "--prologue " << endl + o << "--prologue " << endl << " Insert at the beginning of each generated\n" << " file for which there is no file-specific prologue." << endl; @@ -427,19 +428,19 @@ namespace CXX // Epilogues. // - e << "--hxx-epilogue " << endl + o << "--hxx-epilogue " << endl << " Insert at the end of the header file." << endl; - e << "--ixx-epilogue " << endl + o << "--ixx-epilogue " << endl << " Insert at the end of the inline file." << endl; - e << "--cxx-epilogue " << endl + o << "--cxx-epilogue " << endl << " Insert at the end of the source file." << endl; - e << "--epilogue " << endl + o << "--epilogue " << endl << " Insert at the end of each generated file\n" << " for which there is no file-specific epilogue." << endl; @@ -447,22 +448,22 @@ namespace CXX // Prologue files. // - e << "--hxx-prologue-file " << endl + o << "--hxx-prologue-file " << endl << " Insert the content of the at the beginning\n" << " of the header file." << endl; - e << "--ixx-prologue-file " << endl + o << "--ixx-prologue-file " << endl << " Insert the content of the at the beginning\n" << " of the inline file." << endl; - e << "--cxx-prologue-file " << endl + o << "--cxx-prologue-file " << endl << " Insert the content of the at the beginning\n" << " of the source file." << endl; - e << "--prologue-file " << endl + o << "--prologue-file " << endl << " Insert the content of the at the beginning\n" << " of each generated file for which there is no file-\n" << " specific prologue file." @@ -471,22 +472,22 @@ namespace CXX // Epilogue files. // - e << "--hxx-epilogue-file " << endl + o << "--hxx-epilogue-file " << endl << " Insert the content of the at the end of\n" << " the header file." << endl; - e << "--ixx-epilogue-file " << endl + o << "--ixx-epilogue-file " << endl << " Insert the content of the at the end of\n" << " the inline file." << endl; - e << "--cxx-epilogue-file " << endl + o << "--cxx-epilogue-file " << endl << " Insert the content of the at the end of\n" << " the source file." << endl; - e << "--epilogue-file " << endl + o << "--epilogue-file " << endl << " Insert the content of the at the end of\n" << " each generated file for which there is no file-\n" << " specific epilogue file." @@ -495,28 +496,28 @@ namespace CXX // Misc. // - e << "--show-anonymous" << endl + o << "--show-anonymous" << endl << " Show elements and attributes that are of anonymous\n" << " types." << endl; - e << "--show-sloc" << endl + o << "--show-sloc" << endl << " Show the number of generated physical source lines\n" << " of code (SLOC)." << endl; - e << "--sloc-limit " << endl + o << "--sloc-limit " << endl << " Check that the number of generated physical source\n" << " lines of code (SLOC) does not exceed ." << endl; - e << "--options-file " << endl + o << "--options-file " << endl << " Read additional options from . Each option\n" << " should appear on a separate line optionally\n" << " followed by space and an argument." << endl; - e << "--proprietary-license" << endl + o << "--proprietary-license" << endl << " Indicate that the generated code is licensed under\n" << " a proprietary license instead of the GPL." << endl; diff --git a/xsde/cxx/serializer/generator.cxx b/xsde/cxx/serializer/generator.cxx index 33ce95d..c6eeb05 100644 --- a/xsde/cxx/serializer/generator.cxx +++ b/xsde/cxx/serializer/generator.cxx @@ -45,6 +45,7 @@ using std::endl; using std::wcerr; +using std::wcout; using namespace XSDFrontend::SemanticGraph; @@ -177,222 +178,222 @@ namespace CXX Void Serializer::Generator:: usage () { - std::wostream& e (wcerr); - ::CLI::Indent::Clip< ::CLI::OptionsUsage, WideChar> clip (e); + std::wostream& o (wcout); + ::CLI::Indent::Clip< ::CLI::OptionsUsage, WideChar> clip (o); - e << "--type-map " << endl + o << "--type-map " << endl << " Read XML Schema to C++ type mapping information\n" << " from . Repeat this option to specify\n" << " several type maps. Type maps are considered in\n" << " order of appearance and the first match is used." << endl; - e << "--char-encoding " << endl + o << "--char-encoding " << endl << " Specify the character encoding that is used in\n" << " the text data being serialized. Valid values are\n" << " 'utf8' (default) and 'iso8859-1'." << endl; - e << "--no-stl" << endl + o << "--no-stl" << endl << " Generate code that does not use STL." << endl; - e << "--no-iostream" << endl + o << "--no-iostream" << endl << " Generate code that does not use the iostream\n" << " library." << endl; - e << "--no-exceptions" << endl + o << "--no-exceptions" << endl << " Generate code that does not use C++ exceptions." << endl; - e << "--no-long-long" << endl + o << "--no-long-long" << endl << " Generate code that does not use the long long\n" << " and unsigned long long types." << endl; - e << "--reuse-style-mixin" << endl + o << "--reuse-style-mixin" << endl << " Generate code that supports the mixin base\n" << " serializer implementation reuse style." << endl; - e << "--reuse-style-none" << endl + o << "--reuse-style-none" << endl << " Do not generate any support for base serializer\n" << " implementation reuse." << endl; - e << "--generate-inline" << endl + o << "--generate-inline" << endl << " Generate certain functions inline." << endl; - e << "--suppress-validation" << endl + o << "--suppress-validation" << endl << " Suppress the generation of validation code." << endl; - e << "--generate-polymorphic" << endl + o << "--generate-polymorphic" << endl << " Generate polymorphism-aware code. Specify this\n" << " option if you use substitution groups or xsi:type." << endl; - e << "--runtime-polymorphic" << endl + o << "--runtime-polymorphic" << endl << " Generate non-polymorphic code that uses the\n" << " runtime library configured with polymorphism\n" << " support." << endl; - e << "--suppress-reset" << endl + o << "--suppress-reset" << endl << " Suppress the generation of serializer reset code." << endl; - e << "--custom-allocator" << endl + o << "--custom-allocator" << endl << " Generate code that uses custom allocator functions\n" << " instead of operator new/delete." << endl; - e << "--generate-empty-impl" << endl + o << "--generate-empty-impl" << endl << " Generate a sample serializer implementation with\n" << " empty function bodies." << endl; - e << "--generate-test-driver" << endl + o << "--generate-test-driver" << endl << " Generate a test driver for the sample serializer\n" << " implementation." << endl; - e << "--force-overwrite" << endl + o << "--force-overwrite" << endl << " Force overwriting of the existing implementation\n" << " and test driver files." << endl; - e << "--root-element-first" << endl + o << "--root-element-first" << endl << " Indicate that the first global element is the\n" << " document root." << endl; - e << "--root-element-last" << endl + o << "--root-element-last" << endl << " Indicate that the last global element is the\n" << " document root." << endl; - e << "--root-element " << endl + o << "--root-element " << endl << " Indicate that is the document root." << endl; - e << "--generate-xml-schema" << endl + o << "--generate-xml-schema" << endl << " Generate a C++ header file as if the schema being\n" << " compiled defines the XML Schema namespace." << endl; - e << "--extern-xml-schema " << endl + o << "--extern-xml-schema " << endl << " Generate code as if the XML Schema namespace was\n" << " defined in and xsd:included in the schema\n" << " being compiled." << endl; - e << "--output-dir " << endl + o << "--output-dir " << endl << " Write generated files to instead of the\n" << " current directory." << endl; - e << "--skel-type-suffix " << endl + o << "--skel-type-suffix " << endl << " Use instead of the default '_sskel' to\n" << " construct the names of generated serializer\n" << " skeletons." << endl; - e << "--skel-file-suffix " << endl + o << "--skel-file-suffix " << endl << " Use instead of the default '-sskel' to\n" << " construct the names of generated serializer\n" << " skeleton files." << endl; - e << "--impl-type-suffix " << endl + o << "--impl-type-suffix " << endl << " Use instead of the default '_simpl' to\n" << " construct the names of serializer implementations\n" << " for the built-in XML Schema types and sample\n" << " serializer implementations." << endl; - e << "--impl-file-suffix " << endl + o << "--impl-file-suffix " << endl << " Use instead of the default '-simpl' to\n" << " construct the names of generated sample\n" << " serializer implementation files." << endl; - e << "--namespace-map =" << endl + o << "--namespace-map =" << endl << " Map XML Schema namespace to C++ namespace\n" << " . Repeat this option to specify mapping for\n" << " more than one XML Schema namespace." << endl; - e << "--namespace-regex " << endl + o << "--namespace-regex " << endl << " Add to the list of regular expressions\n" << " used to translate XML Schema namespace names to\n" << " C++ namespace names." << endl; - e << "--namespace-regex-trace" << endl + o << "--namespace-regex-trace" << endl << " Trace the process of applying regular expressions\n" << " specified with the --namespace-regex option." << endl; - e << "--reserved-name " << endl + o << "--reserved-name " << endl << " Add to the list of names that should not\n" << " be used as identifiers. The name can optionally\n" << " be followed by '=' and the replacement name that\n" << " should be used instead." << endl; - e << "--include-with-brackets" << endl + o << "--include-with-brackets" << endl << " Use angle brackets (<>) instead of quotes (\"\") in\n" << " generated #include directives." << endl; - e << "--include-prefix " << endl + o << "--include-prefix " << endl << " Add to generated #include directive\n" << " paths." << endl; - e << "--include-regex " << endl + o << "--include-regex " << endl << " Add to the list of regular expressions\n" << " used to transform #include directive paths." << endl; - e << "--include-regex-trace" << endl + o << "--include-regex-trace" << endl << " Trace the process of applying regular expressions\n" << " specified with the --include-regex option." << endl; - e << "--guard-prefix " << endl + o << "--guard-prefix " << endl << " Add to generated header inclusion guards." << endl; - e << "--hxx-suffix " << endl + o << "--hxx-suffix " << endl << " Use instead of the default '.hxx' to\n" << " construct the name of the header file." << endl; - e << "--ixx-suffix " << endl + o << "--ixx-suffix " << endl << " Use instead of the default '.ixx' to\n" << " construct the name of the inline file." << endl; - e << "--cxx-suffix " << endl + o << "--cxx-suffix " << endl << " Use instead of the default '.cxx' to\n" << " construct the name of the source file." << endl; - e << "--hxx-regex " << endl + o << "--hxx-regex " << endl << " Use to construct the name of the header\n" << " file." << endl; - e << "--ixx-regex " << endl + o << "--ixx-regex " << endl << " Use to construct the name of the inline\n" << " file." << endl; - e << "--cxx-regex " << endl + o << "--cxx-regex " << endl << " Use to construct the name of the source\n" << " file." << endl; @@ -400,19 +401,19 @@ namespace CXX // Prologues. // - e << "--hxx-prologue " << endl + o << "--hxx-prologue " << endl << " Insert at the beginning of the header file." << endl; - e << "--ixx-prologue " << endl + o << "--ixx-prologue " << endl << " Insert at the beginning of the inline file." << endl; - e << "--cxx-prologue " << endl + o << "--cxx-prologue " << endl << " Insert at the beginning of the source file." << endl; - e << "--prologue " << endl + o << "--prologue " << endl << " Insert at the beginning of each generated\n" << " file for which there is no file-specific prologue." << endl; @@ -420,19 +421,19 @@ namespace CXX // Epilogues. // - e << "--hxx-epilogue " << endl + o << "--hxx-epilogue " << endl << " Insert at the end of the header file." << endl; - e << "--ixx-epilogue " << endl + o << "--ixx-epilogue " << endl << " Insert at the end of the inline file." << endl; - e << "--cxx-epilogue " << endl + o << "--cxx-epilogue " << endl << " Insert at the end of the source file." << endl; - e << "--epilogue " << endl + o << "--epilogue " << endl << " Insert at the end of each generated file\n" << " for which there is no file-specific epilogue." << endl; @@ -440,22 +441,22 @@ namespace CXX // Prologue files. // - e << "--hxx-prologue-file " << endl + o << "--hxx-prologue-file " << endl << " Insert the content of the at the beginning\n" << " of the header file." << endl; - e << "--ixx-prologue-file " << endl + o << "--ixx-prologue-file " << endl << " Insert the content of the at the beginning\n" << " of the inline file." << endl; - e << "--cxx-prologue-file " << endl + o << "--cxx-prologue-file " << endl << " Insert the content of the at the beginning\n" << " of the source file." << endl; - e << "--prologue-file " << endl + o << "--prologue-file " << endl << " Insert the content of the at the beginning\n" << " of each generated file for which there is no file-\n" << " specific prologue file." @@ -464,22 +465,22 @@ namespace CXX // Epilogue files. // - e << "--hxx-epilogue-file " << endl + o << "--hxx-epilogue-file " << endl << " Insert the content of the at the end of\n" << " the header file." << endl; - e << "--ixx-epilogue-file " << endl + o << "--ixx-epilogue-file " << endl << " Insert the content of the at the end of\n" << " the inline file." << endl; - e << "--cxx-epilogue-file " << endl + o << "--cxx-epilogue-file " << endl << " Insert the content of the at the end of\n" << " the source file." << endl; - e << "--epilogue-file " << endl + o << "--epilogue-file " << endl << " Insert the content of the at the end of\n" << " each generated file for which there is no file-\n" << " specific epilogue file." @@ -488,28 +489,28 @@ namespace CXX // Misc. // - e << "--show-anonymous" << endl + o << "--show-anonymous" << endl << " Show elements and attributes that are of anonymous\n" << " types." << endl; - e << "--show-sloc" << endl + o << "--show-sloc" << endl << " Show the number of generated physical source lines\n" << " of code (SLOC)." << endl; - e << "--sloc-limit " << endl + o << "--sloc-limit " << endl << " Check that the number of generated physical source\n" << " lines of code (SLOC) does not exceed ." << endl; - e << "--options-file " << endl + o << "--options-file " << endl << " Read additional options from . Each option\n" << " should appear on a separate line optionally\n" << " followed by space and an argument." << endl; - e << "--proprietary-license" << endl + o << "--proprietary-license" << endl << " Indicate that the generated code is licensed under\n" << " a proprietary license instead of the GPL." << endl; -- cgit v1.1