Google OR-Tools: ortools/util/range_query_function.h Source File
17#ifndef ORTOOLS_UTIL_RANGE_QUERY_FUNCTION_H_
18#define ORTOOLS_UTIL_RANGE_QUERY_FUNCTION_H_
33 virtual int64_t Query(int64_t argument) const = 0;
35 virtual int64_t RangeMin(int64_t from, int64_t to) const = 0;
37 virtual int64_t RangeMax(int64_t from, int64_t to) const = 0;
43 int64_t interval_end) const = 0;
73 std::function<int64_t(int64_t)> f);
78 const std::function<int64_t(int64_t)>& f, int64_t domain_start,
83 const std::function<int64_t(int64_t)>& f, int64_t domain_start,
virtual int64_t RangeMin(int64_t from, int64_t to) const =0
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
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
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