From 443293aaf09eca7c3b88d621d056c4effee2c248 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 10 May 2012 17:54:18 +0200 Subject: 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. --- cli/html.cxx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'cli/html.cxx') 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 << "
" << endl; + if (!options.exclude_base ()) + inherits (c, inherits_base_); + names (c, names_option_); os << "
" << endl; } private: - bool generated_; option option_; traversal::names names_option_; + + traversal::class_ base_; + traversal::inherits inherits_base_; }; } -- cgit v1.1