summaryrefslogtreecommitdiff
path: root/cli/html.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-03-19 12:44:04 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2018-03-19 12:44:04 +0200
commit1dea398d6f864c99b9e1c34e4a718239cfd3d8ac (patch)
tree0515378ce75266616760ff41d979357c56d2a087 /cli/html.cxx
parent29e274022a8c88dd1a48c1b591635bb044fe808f (diff)
Add support for exclude-base value in --class-doc option
Diffstat (limited to 'cli/html.cxx')
-rw-r--r--cli/html.cxx15
1 files changed, 13 insertions, 2 deletions
diff --git a/cli/html.cxx b/cli/html.cxx
index e8a43db..ccb023d 100644
--- a/cli/html.cxx
+++ b/cli/html.cxx
@@ -254,7 +254,7 @@ namespace
//
struct class_: traversal::class_, context
{
- class_ (context& c, bool& l): context (c), list_ (l)
+ class_ (context& c, bool& l): context (c), list_ (l), base_ (false)
{
*this >> inherits_ >> *this;
}
@@ -264,11 +264,16 @@ namespace
{
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, list_);
option op (*this, cd, list_);
@@ -278,11 +283,17 @@ namespace
names (c, n);
if (!options.exclude_base () && options.include_base_last ())
+ {
+ bool ob (base_);
+ base_ = true;
inherits (c);
+ base_ = ob;
+ }
}
private:
bool& list_;
+ bool base_;
traversal::inherits inherits_;
};
}