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/traversal/class.hxx | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'cli/traversal/class.hxx') diff --git a/cli/traversal/class.hxx b/cli/traversal/class.hxx index ef4433e..37f5f64 100644 --- a/cli/traversal/class.hxx +++ b/cli/traversal/class.hxx @@ -11,6 +11,15 @@ namespace traversal { + struct inherits: edge + { + inherits () {} + inherits (node_dispatcher& n) {node_traverser (n);} + + virtual void + traverse (type&); + }; + struct class_: scope_template { virtual void @@ -20,6 +29,12 @@ namespace traversal pre (type&); virtual void + inherits (type&); + + virtual void + inherits (type&, edge_dispatcher&); + + virtual void post (type&); }; } -- cgit v1.1