Esempio n. 1
0
list_t reverse(list_t list) {
    return reverse_helper(list, list_make());
}
Esempio n. 2
0
 static constexpr auto apply(Xs&& xs) {
     constexpr std::size_t N = hana::value<decltype(hana::length(xs))>();
     return reverse_helper(static_cast<Xs&&>(xs), std::make_index_sequence<N>{});
 }
Esempio n. 3
0
static list_t reverse_helper(list_t list, list_t reversed) {
    if (list_isEmpty(list)) return reversed;
    return reverse_helper(list_rest(list), 
        list_make(list_first(list), reversed));
}