From 181ac6b61a1f7600d812e706d2a485c6dda5dc72 Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Wed, 21 Jun 2023 08:09:31 -0700 Subject: [PATCH] fix: constexpr --- source/-adoc/AdocGenerator.cpp | 4 ++-- source/-adoc/MultiPageVisitor.cpp | 7 ++++--- source/-adoc/MultiPageVisitor.hpp | 3 ++- source/-adoc/SinglePageVisitor.cpp | 7 ++++--- source/-adoc/SinglePageVisitor.hpp | 3 ++- test-files/adoc/test.cpp | 7 ++----- 6 files changed, 16 insertions(+), 15 deletions(-) diff --git a/source/-adoc/AdocGenerator.cpp b/source/-adoc/AdocGenerator.cpp index fa8efb247..f927ed62b 100644 --- a/source/-adoc/AdocGenerator.cpp +++ b/source/-adoc/AdocGenerator.cpp @@ -88,7 +88,7 @@ buildOne( std::vector errors; ex->async( - [this, &os](Builder& builder) + [&os](Builder& builder) { auto pageText = builder.renderSinglePageHeader(); @@ -107,7 +107,7 @@ buildOne( return Error(errors); ex->async( - [this, &os](Builder& builder) + [ &os](Builder& builder) { auto pageText = builder.renderSinglePageFooter(); diff --git a/source/-adoc/MultiPageVisitor.cpp b/source/-adoc/MultiPageVisitor.cpp index 4dc9598ac..502f5173e 100644 --- a/source/-adoc/MultiPageVisitor.cpp +++ b/source/-adoc/MultiPageVisitor.cpp @@ -16,14 +16,15 @@ namespace clang { namespace mrdox { namespace adoc { +template void MultiPageVisitor:: -operator()(auto const& I) +operator()(T const& I) { renderPage(I); if constexpr( - I.isNamespace() || - I.isRecord()) + T::isNamespace() || + T::isRecord()) corpus_.traverse(I, *this); } diff --git a/source/-adoc/MultiPageVisitor.hpp b/source/-adoc/MultiPageVisitor.hpp index 28b1ceca5..a4da33769 100644 --- a/source/-adoc/MultiPageVisitor.hpp +++ b/source/-adoc/MultiPageVisitor.hpp @@ -41,7 +41,8 @@ class MultiPageVisitor { } - void operator()(auto const& I); + template + void operator()(T const& I); void renderPage(auto const& I); }; diff --git a/source/-adoc/SinglePageVisitor.cpp b/source/-adoc/SinglePageVisitor.cpp index dd1c69a45..f6b5b1753 100644 --- a/source/-adoc/SinglePageVisitor.cpp +++ b/source/-adoc/SinglePageVisitor.cpp @@ -15,14 +15,15 @@ namespace clang { namespace mrdox { namespace adoc { +template void SinglePageVisitor:: -operator()(auto const& I) +operator()(T const& I) { renderPage(I, numPages_++); if constexpr( - I.isNamespace() || - I.isRecord()) + T::isNamespace() || + T::isRecord()) corpus_.traverse(I, *this); } diff --git a/source/-adoc/SinglePageVisitor.hpp b/source/-adoc/SinglePageVisitor.hpp index dacf74067..23dd13904 100644 --- a/source/-adoc/SinglePageVisitor.hpp +++ b/source/-adoc/SinglePageVisitor.hpp @@ -46,7 +46,8 @@ class SinglePageVisitor { } - void operator()(auto const& I); + template + void operator()(T const& I); void renderPage(auto const& I, std::size_t pageNumber); void endPage(std::string pageText, std::size_t pageNumber); }; diff --git a/test-files/adoc/test.cpp b/test-files/adoc/test.cpp index 1ff666c9e..56c480290 100644 --- a/test-files/adoc/test.cpp +++ b/test-files/adoc/test.cpp @@ -1,8 +1,5 @@ -int i; -void* j = nullptr; - /** brief - desc */ -static char c = 0; +void f(); +