Esempio n. 1
0
maybe<typename std::size_t> minimum_idx_maybe(const Container& xs)
{
    if (is_empty(xs))
        return {};
    else
        return minimum_idx(xs);
}
typename std::size_t minimum_idx_on(F f, const Container& xs)
{
    typedef typename std::result_of<F(typename Container::value_type)>::type Result;
    auto transformed = transform_convert<std::vector<Result>>(f, xs);
    return minimum_idx(transformed);
}
Esempio n. 3
0
std::size_t minimum_idx_on(F f, const Container& xs)
{
    using Result = internal::invoke_result_t<F, typename Container::value_type>;
    auto transformed = transform_convert<std::vector<std::decay_t<Result>>>(f, xs);
    return minimum_idx(transformed);
}