aboutsummaryrefslogtreecommitdiff
path: root/xsde/cxx/serializer/generator.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-03-08 11:07:46 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-03-08 11:07:46 +0200
commit35ebba53cd5380751554511f2472f15ae846e06a (patch)
tree6300f574d1f17e4dd4d2dff56044fe5ce03c4ac5 /xsde/cxx/serializer/generator.cxx
parent0f94fa771882136755b0fccb2837a76aab9bc0f3 (diff)
Print usage/version information to STDOUT instead of STDERR
Diffstat (limited to 'xsde/cxx/serializer/generator.cxx')
-rw-r--r--xsde/cxx/serializer/generator.cxx131
1 files changed, 66 insertions, 65 deletions
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 <mapfile>" << endl
+ o << "--type-map <mapfile>" << endl
<< " Read XML Schema to C++ type mapping information\n"
<< " from <mapfile>. 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 <enc>" << endl
+ o << "--char-encoding <enc>" << 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 <element>" << endl
+ o << "--root-element <element>" << endl
<< " Indicate that <element> 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 <file>" << endl
+ o << "--extern-xml-schema <file>" << endl
<< " Generate code as if the XML Schema namespace was\n"
<< " defined in <file> and xsd:included in the schema\n"
<< " being compiled."
<< endl;
- e << "--output-dir <dir>" << endl
+ o << "--output-dir <dir>" << endl
<< " Write generated files to <dir> instead of the\n"
<< " current directory."
<< endl;
- e << "--skel-type-suffix <suffix>" << endl
+ o << "--skel-type-suffix <suffix>" << endl
<< " Use <suffix> instead of the default '_sskel' to\n"
<< " construct the names of generated serializer\n"
<< " skeletons."
<< endl;
- e << "--skel-file-suffix <suffix>" << endl
+ o << "--skel-file-suffix <suffix>" << endl
<< " Use <suffix> instead of the default '-sskel' to\n"
<< " construct the names of generated serializer\n"
<< " skeleton files."
<< endl;
- e << "--impl-type-suffix <suffix>" << endl
+ o << "--impl-type-suffix <suffix>" << endl
<< " Use <suffix> 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 <suffix>" << endl
+ o << "--impl-file-suffix <suffix>" << endl
<< " Use <suffix> instead of the default '-simpl' to\n"
<< " construct the names of generated sample\n"
<< " serializer implementation files."
<< endl;
- e << "--namespace-map <xns>=<cns>" << endl
+ o << "--namespace-map <xns>=<cns>" << endl
<< " Map XML Schema namespace <xns> to C++ namespace\n"
<< " <cns>. Repeat this option to specify mapping for\n"
<< " more than one XML Schema namespace."
<< endl;
- e << "--namespace-regex <regex>" << endl
+ o << "--namespace-regex <regex>" << endl
<< " Add <regex> 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 <name>" << endl
+ o << "--reserved-name <name>" << endl
<< " Add <name> 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 <prefix>" << endl
+ o << "--include-prefix <prefix>" << endl
<< " Add <prefix> to generated #include directive\n"
<< " paths."
<< endl;
- e << "--include-regex <regex>" << endl
+ o << "--include-regex <regex>" << endl
<< " Add <regex> 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 <prefix>" << endl
+ o << "--guard-prefix <prefix>" << endl
<< " Add <prefix> to generated header inclusion guards."
<< endl;
- e << "--hxx-suffix <suffix>" << endl
+ o << "--hxx-suffix <suffix>" << endl
<< " Use <suffix> instead of the default '.hxx' to\n"
<< " construct the name of the header file."
<< endl;
- e << "--ixx-suffix <suffix>" << endl
+ o << "--ixx-suffix <suffix>" << endl
<< " Use <suffix> instead of the default '.ixx' to\n"
<< " construct the name of the inline file."
<< endl;
- e << "--cxx-suffix <suffix>" << endl
+ o << "--cxx-suffix <suffix>" << endl
<< " Use <suffix> instead of the default '.cxx' to\n"
<< " construct the name of the source file."
<< endl;
- e << "--hxx-regex <regex>" << endl
+ o << "--hxx-regex <regex>" << endl
<< " Use <regex> to construct the name of the header\n"
<< " file."
<< endl;
- e << "--ixx-regex <regex>" << endl
+ o << "--ixx-regex <regex>" << endl
<< " Use <regex> to construct the name of the inline\n"
<< " file."
<< endl;
- e << "--cxx-regex <regex>" << endl
+ o << "--cxx-regex <regex>" << endl
<< " Use <regex> to construct the name of the source\n"
<< " file."
<< endl;
@@ -400,19 +401,19 @@ namespace CXX
// Prologues.
//
- e << "--hxx-prologue <text>" << endl
+ o << "--hxx-prologue <text>" << endl
<< " Insert <text> at the beginning of the header file."
<< endl;
- e << "--ixx-prologue <text>" << endl
+ o << "--ixx-prologue <text>" << endl
<< " Insert <text> at the beginning of the inline file."
<< endl;
- e << "--cxx-prologue <text>" << endl
+ o << "--cxx-prologue <text>" << endl
<< " Insert <text> at the beginning of the source file."
<< endl;
- e << "--prologue <text>" << endl
+ o << "--prologue <text>" << endl
<< " Insert <text> 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 <text>" << endl
+ o << "--hxx-epilogue <text>" << endl
<< " Insert <text> at the end of the header file."
<< endl;
- e << "--ixx-epilogue <text>" << endl
+ o << "--ixx-epilogue <text>" << endl
<< " Insert <text> at the end of the inline file."
<< endl;
- e << "--cxx-epilogue <text>" << endl
+ o << "--cxx-epilogue <text>" << endl
<< " Insert <text> at the end of the source file."
<< endl;
- e << "--epilogue <text>" << endl
+ o << "--epilogue <text>" << endl
<< " Insert <text> 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 <file>" << endl
+ o << "--hxx-prologue-file <file>" << endl
<< " Insert the content of the <file> at the beginning\n"
<< " of the header file."
<< endl;
- e << "--ixx-prologue-file <file>" << endl
+ o << "--ixx-prologue-file <file>" << endl
<< " Insert the content of the <file> at the beginning\n"
<< " of the inline file."
<< endl;
- e << "--cxx-prologue-file <file>" << endl
+ o << "--cxx-prologue-file <file>" << endl
<< " Insert the content of the <file> at the beginning\n"
<< " of the source file."
<< endl;
- e << "--prologue-file <file>" << endl
+ o << "--prologue-file <file>" << endl
<< " Insert the content of the <file> 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 <file>" << endl
+ o << "--hxx-epilogue-file <file>" << endl
<< " Insert the content of the <file> at the end of\n"
<< " the header file."
<< endl;
- e << "--ixx-epilogue-file <file>" << endl
+ o << "--ixx-epilogue-file <file>" << endl
<< " Insert the content of the <file> at the end of\n"
<< " the inline file."
<< endl;
- e << "--cxx-epilogue-file <file>" << endl
+ o << "--cxx-epilogue-file <file>" << endl
<< " Insert the content of the <file> at the end of\n"
<< " the source file."
<< endl;
- e << "--epilogue-file <file>" << endl
+ o << "--epilogue-file <file>" << endl
<< " Insert the content of the <file> 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 <num>" << endl
+ o << "--sloc-limit <num>" << endl
<< " Check that the number of generated physical source\n"
<< " lines of code (SLOC) does not exceed <num>."
<< endl;
- e << "--options-file <file>" << endl
+ o << "--options-file <file>" << endl
<< " Read additional options from <file>. 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;