Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2023-02-07 03:44:24


Robert Ramey wrote:
> One question I have:
>
> How is boost.mustache different than https://github.com/no1msd/mstch ?

The main difference is that the proposed Boost.Mustache uses
Boost.JSON for the input data, instead of rolling its own json::value.
(This is not a critique of no1msd/mstch, which predates Boost.JSON
and could not have used it.)

(Boost.Mustache also uses Boost.JSON's storage_ptr for all its
allocations.)

In addition, it uses Boost.Describe to support C++ objects directly,
instead of some bespoke mechanism.

One downside is that boost::json::value can't hold a lambda, so
lambdas are not supported.

There are probably other differences as well; Boost.Mustache can
take its template input in chunks, not all at once; it also passes the
official Mustache test suite, which requires getting whitespace "just
right", a surprisingly nontrivial undertaking. I'm not sure how
no1msd/mstch fares on these criteria, as I haven't really tried it,
only read the README.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk