add count variables to template

This commit is contained in:
pantor
2020-06-27 17:18:25 +02:00
parent d25a4de54f
commit bc020a5ee0
3 changed files with 33 additions and 0 deletions

View File

@@ -17,6 +17,17 @@ namespace inja {
struct Template {
std::vector<Node> nodes;
std::string content;
/// 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;
}
};
using TemplateStorage = std::map<std::string, Template>;