From 1890024e57f623ceec744bb3a6922d89d2d47640 Mon Sep 17 00:00:00 2001 From: Toni Uhlig Date: Thu, 4 Jul 2019 00:03:51 +0200 Subject: very basic templating engine --- MemDriverWeb/minitmpl.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 MemDriverWeb/minitmpl.cpp (limited to 'MemDriverWeb/minitmpl.cpp') diff --git a/MemDriverWeb/minitmpl.cpp b/MemDriverWeb/minitmpl.cpp new file mode 100644 index 0000000..3d7c34c --- /dev/null +++ b/MemDriverWeb/minitmpl.cpp @@ -0,0 +1,19 @@ +#include "pch.h" +#include "minitmpl.h" + +std::map TemplateString::template_callbacks; + +std::string TemplateString::doTemplateStr() { + size_t pos = 0; + in_cache = str(); + + out_cache.clear(); + for (auto& key : template_callbacks) { + while ((pos = in_cache.find(key.first, pos)) != std::string::npos) { + in_cache.replace(pos, key.first.length(), key.second(out_cache)); + pos += out_cache.length(); + } + } + + return in_cache; +} \ No newline at end of file -- cgit v1.2.3