diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2018-03-19 12:44:04 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2018-03-19 12:44:04 +0200 |
commit | 1dea398d6f864c99b9e1c34e4a718239cfd3d8ac (patch) | |
tree | 0515378ce75266616760ff41d979357c56d2a087 /cli/man.cxx | |
parent | 29e274022a8c88dd1a48c1b591635bb044fe808f (diff) |
Add support for exclude-base value in --class-doc option
Diffstat (limited to 'cli/man.cxx')
-rw-r--r-- | cli/man.cxx | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/cli/man.cxx b/cli/man.cxx index 54fd975..ccd5374 100644 --- a/cli/man.cxx +++ b/cli/man.cxx @@ -182,18 +182,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); @@ -203,10 +211,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_; }; } |