On Thu, Feb 15, 2018 at 4:58 PM, Peter Dimov via Boost < boost@lists.boost.org> wrote:
Zach Laine wrote:
Either way, that's up to the user, isn't it? If he wants to use > std::tuple and index with `get(expr, mp_int<0>())` or `get_c<0>(expr)` > instead of `get(expr, 0_c)`, let him.
It could be, but that would be a much more complicated interface. As it is, the user need only specify an expression kind non-type template parameter and a Hana tuple to create a model of Expression.
The interface is not more complicated at all. The user just puts an std::tuple where he'd have put the hana::tuple. The implementation is more complicated. :-)
Well, mostly, but it's still user-visible. A transform might pattern match
against expressions like this:
struct my_xform {
template