diff --git a/src/inja.hpp b/src/inja.hpp index 5be664f..8534eb7 100644 --- a/src/inja.hpp +++ b/src/inja.hpp @@ -359,7 +359,7 @@ public: class Renderer { public: - std::map> map_callbacks; + std::map> map_callbacks; template bool eval_expression(const Parsed::ElementExpression& element, const json &data) { @@ -968,14 +968,14 @@ public: return j; } - void add_callback(std::string name, int number_arguments, std::function callback) { + void add_callback(std::string name, int number_arguments, std::function callback) { Parsed::CallbackSignature signature = std::make_pair(name, number_arguments); parser.regex_map_callbacks[signature] = Parser::function_regex(name, number_arguments); renderer.map_callbacks[signature] = callback; } template - T get_argument(Parsed::Arguments args, int index, const json& data) { + T get_argument(const Parsed::Arguments& args, int index, const json& data) { return renderer.eval_expression(args[index], data); } };