mstch/test/data/higher_order_sections.hpp
2020-02-12 20:53:14 +01:00

27 lines
925 B
C++

class higher_order_sections : public mstch::object {
private:
std::string m_helper;
public:
higher_order_sections() : m_helper("To tinker?") {
register_methods(this,
std::map<std::string, mstch::node (higher_order_sections::*)()>{
{"name", &higher_order_sections::name},
{"helper", &higher_order_sections::helper},
{"bolder", &higher_order_sections::bolder}});
}
mstch::node name() { return std::string{"Tater"}; }
mstch::node helper() { return m_helper; }
mstch::node bolder() {
return mstch::lambda_wrapper{{[this](const std::string& text) -> mstch::node {
return "<b>" + text + "</b> " + m_helper;
}}};
}
};
const mstch::node higher_order_sections_data =
mstch::object_wrapper{std::make_shared<higher_order_sections>()};