diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2012-05-10 17:54:18 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2012-05-10 17:54:18 +0200 |
commit | 443293aaf09eca7c3b88d621d056c4effee2c248 (patch) | |
tree | a35c7b2354295b5b73462c0806e04e2deef58171 /cli/html.cxx | |
parent | 4f9022f24c4591391637121c7274d9855b37bd93 (diff) |
Implement option class inheritance
For now multiple, non-virtual inheritance is supported. An option class
can now also be declared abstract using the class c = 0 {...}; syntax.
New option, --exclude-base, controls whether base class information is
present in usage and documentation.
Diffstat (limited to 'cli/html.cxx')
-rw-r--r-- | cli/html.cxx | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/cli/html.cxx b/cli/html.cxx index c440854..8a9e97d 100644 --- a/cli/html.cxx +++ b/cli/html.cxx @@ -160,6 +160,9 @@ namespace class_ (context& c) : context (c), option_ (c) { + *this >> inherits_base_ >> base_ >> inherits_base_; + base_ >> names_option_; + names_option_ >> option_; } @@ -179,15 +182,20 @@ namespace os << "<dl class=\"options\">" << endl; + if (!options.exclude_base ()) + inherits (c, inherits_base_); + names (c, names_option_); os << "</dl>" << endl; } private: - bool generated_; option option_; traversal::names names_option_; + + traversal::class_ base_; + traversal::inherits inherits_base_; }; } |