improve count variables
diff --git a/include/inja/template.hpp b/include/inja/template.hpp
index bc63be2..8c6912a 100644
--- a/include/inja/template.hpp
+++ b/include/inja/template.hpp
@@ -20,13 +20,9 @@
/// Return number of variables (total number, not distinct ones) in the template
int count_variables() {
- int result {0};
- for (auto& n : nodes) {
- if (n.flags == Node::Flag::ValueLookupDot || n.flags == Node::Flag::ValueLookupPointer) {
- result += 1;
- }
- }
- return result;
+ return std::count_if(nodes.cbegin(), nodes.cend(), [](const inja::Node &node) {
+ return (node.flags == Node::Flag::ValueLookupDot || node.flags == Node::Flag::ValueLookupPointer);
+ });
}
};
diff --git a/single_include/inja/inja.hpp b/single_include/inja/inja.hpp
index 40551d8..20bff7e 100644
--- a/single_include/inja/inja.hpp
+++ b/single_include/inja/inja.hpp
@@ -2283,13 +2283,9 @@
/// Return number of variables (total number, not distinct ones) in the template
int count_variables() {
- int result {0};
- for (auto& n : nodes) {
- if (n.flags == Node::Flag::ValueLookupDot || n.flags == Node::Flag::ValueLookupPointer) {
- result += 1;
- }
- }
- return result;
+ return std::count_if(nodes.cbegin(), nodes.cend(), [](const inja::Node &node) {
+ return (node.flags == Node::Flag::ValueLookupDot || node.flags == Node::Flag::ValueLookupPointer);
+ });
}
};