diff options
| author | Mistivia <i@mistivia.com> | 2025-01-16 15:43:04 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-01-16 15:53:58 +0800 |
| commit | 8689a7c78c50676ea739f52fbcee9f091709f5c0 (patch) | |
| tree | bbb72c68e5e1753f751133941a402caa43e29a16 /lib/mstch/test/data/higher_order_sections.hpp | |
| parent | 00afb767ae37488d99f78363d031b898b1932354 (diff) | |
add mstch
Diffstat (limited to 'lib/mstch/test/data/higher_order_sections.hpp')
| -rw-r--r-- | lib/mstch/test/data/higher_order_sections.hpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/mstch/test/data/higher_order_sections.hpp b/lib/mstch/test/data/higher_order_sections.hpp new file mode 100644 index 0000000..ef2582c --- /dev/null +++ b/lib/mstch/test/data/higher_order_sections.hpp @@ -0,0 +1,28 @@ +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{[this](const std::string& text) -> mstch::node { + return "<b>" + text + "</b> " + m_helper; + }}; + } +}; + +const mstch::node higher_order_sections_data = std::make_shared<higher_order_sections>();
\ No newline at end of file |
