Lines Matching refs:BinaryFunc

378 template <typename List, template <typename, typename> class BinaryFunc, typename RightArg>
379 struct mlist_find_if<List, BinaryFunc, RightArg>
380 …: mlist_find_first<typename mlist_wrap<List>::type, mbind2nd<BinaryFunc, RightArg>::template func>…
561 template <typename T1, typename T2, template <typename, typename> class BinaryFunc>
563 …list_transform_binary<typename mlist_wrap<T1>::type, typename mlist_wrap<T2>::type, BinaryFunc> {};
565 template <typename... T1, typename... T2, template <typename, typename> class BinaryFunc>
566 struct mlist_transform_binary<mlist<T1...>, mlist<T2...>, BinaryFunc> {
568 using type = mlist<typename BinaryFunc<T1, T2>::type...>;
571 template <typename... T1, typename T2, template <typename, typename> class BinaryFunc>
572 struct mlist_transform_binary<mlist<T1...>, mrepeat<T2>, BinaryFunc> {
573 using type = mlist<typename BinaryFunc<T1, T2>::type...>;
576 template <typename T1, typename... T2, template <typename, typename> class BinaryFunc>
577 struct mlist_transform_binary<mrepeat<T1>, mlist<T2...>, BinaryFunc> {
578 using type = mlist<typename BinaryFunc<T1, T2>::type...>;
581 template <typename T1, typename T2, template <typename, typename> class BinaryFunc>
582 struct mlist_transform_binary<mrepeat<T1>, mrepeat<T2>, BinaryFunc>
583 : mlist_wrap<typename BinaryFunc<T1, T2>::type> {};
621 template <typename List1, typename List2, template <typename, typename> class BinaryFunc>
623 …t_filter_binary<typename mlist_wrap<List1>::type, typename mlist_wrap<List2>::type, BinaryFunc> {};
625 template <typename... T1, typename... T2, template <typename, typename> class BinaryFunc>
626 struct mlist_filter_binary<mlist<T1...>, mlist<T2...>, BinaryFunc> {
628 …using type = typename mlist_remove_void<std::conditional_t<BinaryFunc<T1, T2>::value, T1, void>...…
629 …using type2 = typename mlist_remove_void<std::conditional_t<BinaryFunc<T1, T2>::value, T2, void>..…
630 …using complement = typename mlist_remove_void<std::conditional_t<BinaryFunc<T1, T2>::value, void, …
631 …using complement2 = typename mlist_remove_void<std::conditional_t<BinaryFunc<T1, T2>::value, void,…
634 template <typename... T1, typename T2, template <typename, typename> class BinaryFunc>
635 struct mlist_filter_binary<mlist<T1...>, mrepeat<T2>, BinaryFunc> {
636 …using type = typename mlist_remove_void<std::conditional_t<BinaryFunc<T1, T2>::value, T1, void>...…
637 …using complement = typename mlist_remove_void<std::conditional_t<BinaryFunc<T1, T2>::value, void, …
642 template <typename T1, typename... T2, template <typename, typename> class BinaryFunc>
643 struct mlist_filter_binary<mrepeat<T1>, mlist<T2...>, BinaryFunc> {
644 …using type2 = typename mlist_remove_void<std::conditional_t<BinaryFunc<T1, T2>::value, T2, void>..…
645 …using complement2 = typename mlist_remove_void<std::conditional_t<BinaryFunc<T1, T2>::value, void,…
650 template <typename T1, typename T2, template <typename, typename> class BinaryFunc>
651 struct mlist_filter_binary<mrepeat<T1>, mrepeat<T2>, BinaryFunc> {
652 static constexpr bool match = BinaryFunc<T1, T2>::value;
668 template <typename T, template <typename, typename> class BinaryFunc, typename InitVal=void>
670 : mlist_fold<typename mlist_wrap<T>::type, BinaryFunc, InitVal> {};
672 template <typename T, typename... Tail, template <typename, typename> class BinaryFunc, typename In…
673 struct mlist_fold<mlist<T, Tail...>, BinaryFunc, InitVal> {
674 using folded_tail = typename mlist_fold<mlist<Tail...>, BinaryFunc, InitVal>::type;
675 using type = typename BinaryFunc<T, folded_tail>::type;
678 template <typename T, template <typename, typename> class BinaryFunc>
679 struct mlist_fold<mlist<T>, BinaryFunc, void> {
683 template <template <typename, typename> class BinaryFunc, typename InitVal>
684 struct mlist_fold<mlist<>, BinaryFunc, InitVal> {