From 1dea398d6f864c99b9e1c34e4a718239cfd3d8ac Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 19 Mar 2018 12:44:04 +0200 Subject: Add support for exclude-base value in --class-doc option --- cli/txt.cxx | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'cli/txt.cxx') diff --git a/cli/txt.cxx b/cli/txt.cxx index bf01718..c44e4ff 100644 --- a/cli/txt.cxx +++ b/cli/txt.cxx @@ -194,18 +194,26 @@ namespace // struct class_: traversal::class_, context { - class_ (context& c): context (c) {*this >> inherits_ >> *this;} + class_ (context& c): context (c), base_ (false) + { + *this >> inherits_ >> *this; + } virtual void traverse (type& c) { class_doc_type cd (class_doc (c)); - if (cd == cd_exclude) + if (cd == cd_exclude || (base_ && cd == cd_exclude_base)) return; if (!options.exclude_base () && !options.include_base_last ()) + { + bool ob (base_); + base_ = true; inherits (c); + base_ = ob; + } doc dc (*this, cd); option op (*this, cd); @@ -215,10 +223,16 @@ namespace names (c, n); if (!options.exclude_base () && options.include_base_last ()) + { + bool ob (base_); + base_ = true; inherits (c); + base_ = ob; + } } private: + bool base_; traversal::inherits inherits_; }; } -- cgit v1.1