17#ifndef OR_TOOLS_UTIL_RANGE_QUERY_FUNCTION_H_
18#define OR_TOOLS_UTIL_RANGE_QUERY_FUNCTION_H_
35 virtual int64_t
Query(int64_t argument)
const = 0;
37 virtual int64_t
RangeMin(int64_t from, int64_t
to)
const = 0;
39 virtual int64_t
RangeMax(int64_t from, int64_t
to)
const = 0;
44 int64_t interval_begin,
45 int64_t interval_end)
const = 0;
50 int64_t interval_begin,
51 int64_t interval_end)
const = 0;
75 std::function<int64_t(int64_t)> f);
80 const std::function<int64_t(int64_t)>& f, int64_t domain_start,
85 const std::function<int64_t(int64_t)>& f, int64_t domain_start,
virtual int64_t RangeMin(int64_t from, int64_t to) const =0
Returns min_x f(x), where x is in [from, to).
virtual ~RangeIntToIntFunction()=default
virtual int64_t RangeLastInsideInterval(int64_t range_begin, int64_t range_end, int64_t interval_begin, int64_t interval_end) const =0
virtual int64_t RangeFirstInsideInterval(int64_t range_begin, int64_t range_end, int64_t interval_begin, int64_t interval_end) const =0
virtual int64_t Query(int64_t argument) const =0
virtual int64_t RangeMax(int64_t from, int64_t to) const =0
Returns max_x f(x), where x is in [from, to).
virtual int64_t RangeMinArgument(int64_t from, int64_t to) const =0
virtual int64_t RangeMaxArgument(int64_t from, int64_t to) const =0
virtual ~RangeMinMaxIndexFunction()=default
In SWIG mode, we don't want anything besides these top-level includes.
RangeIntToIntFunction * MakeCachedIntToIntFunction(const std::function< int64_t(int64_t)> &f, int64_t domain_start, int64_t domain_end)
RangeIntToIntFunction * MakeBareIntToIntFunction(std::function< int64_t(int64_t)> f)
RangeMinMaxIndexFunction * MakeCachedRangeMinMaxIndexFunction(const std::function< int64_t(int64_t)> &f, int64_t domain_start, int64_t domain_end)
trees with all degrees equal to