#pragma once #include typedef struct { const char *key; const String value; } template_substitution_t; template inline String template_render(const char *format, T (&values)[n]) { auto s = String(format); for (size_t i = 0; i < n; i++) s.replace("{{" + String(values[i].key) + "}}", values[i].value); return s; }