template
<typename T>
coordinate_type get(const T& interval, direction_1d) |
Ожидает модель интервала. Возвращает низкую или высокую координату интервала в зависимости от направления_1d. |
template
<typename T, typename coordinate_type>
void set(T& interval, direction_1d, coordinate_type) |
Ожидает модель интервала. Устанавливает низкую или высокую координату интервала на координату в зависимости от направления_1d. Если после этого изменения низкое значение будет больше высокого, то оба значения задаются на входное значение координат. |
template
<typename T>
T construct(coordinate_type low, coordinate_type high) |
Постройте объект, который является моделью интервала с заданными низкими и высокими значениями координат. |
template
<typename T1, typename T2>
T1& assign(T1& left, const T2& right) |
Копирует данные с правого объекта, который моделирует интервал, на левый объект, который моделирует интервал. |
template
<typename T, typename T2>
bool equivalence(const T& interval1, const T2&
interval2) |
Учитывая два объекта, которые моделируют интервал, сравнивают и возвращают истинное, если их низкие и высокие значения соответственно равны друг другу. |
template
<typename T>
bool contains(const T&, coordinate_type,
bool consider_touch=true) |
Если объект моделирует интервал и координату, он возвращается истинным, если интервал содержит координату. Если флаг consider_touch является истинным, то он возвращается истинным, если координата равна одному из концов интервала. |
template
<typename T1, typename T2>
bool contains(const T1& a, const T2& b,
bool consider_touch = true) |
Возвращается истинным, если модель интервала a содержит оба конца модели интервала b. Если флаг consider_touch верен, будет рассматривать конец b, содержащийся в a, даже если он равен концу a. |
template
<typename interval_type>
coordinate_type low(const interval_type& interval) |
Возвращает нижний конец объекта, который моделирует интервал. |
template
<typename interval_type>
coordinate_type high(const interval_type& interval) |
Возвращает высокий конец объекта, который моделирует интервал. |
// get the center
coordinate
template <typename interval_type>
coordinate_type center(const interval_type& interval) |
Возвращает центральную координату объекта, моделирующего интервал. |
template
<typename interval_type>
void low(interval_type& interval, coordinate_type ) |
Устанавливает нижний конец объекта, который моделирует интервал к значению координат. Если нижний конец будет установлен на больший, чем верхний, то оба будут установлены на значение координаты. |
template
<typename interval_type>
void high(interval_type& interval, coordinate_type ) |
Устанавливает высокий конец объекта, который моделирует интервал к значению координат. Если верхний конец будет установлен меньше, чем нижний, то оба будут установлены на значение координаты. |
template
<typename interval_type>
coordinate_difference delta(const interval_type& interval) |
Возвращает расстояние от низкого до высокого конца объекта, который моделирует интервал. |
template
<typename interval_type>
interval_type& flip(interval_type& interval,
coordinate_type axis = 0) |
Переворачивает объект, который моделирует интервал вокруг координат оси. Если оси не предусмотрено, интервал переворачивается через происхождение. |
template
<typename interval_type>
interval_type& scale_up(interval_type& interval,
unsigned_area_type factor) |
Умножает низкие и высокие концы объекта, которые моделируют интервал по неподписанному фактору. |
template
<typename interval_type>
interval_type& scale_down(interval_type& interval,
unsigned_area_type factor) |
Разделяет низкие и высокие концы объекта, которые моделируют интервал по неподписанному фактору. |
template
<typename interval_type>
interval_type& scale(interval_type& interval,
double factor) |
Умножает низкие и высокие концы объекта, которые моделируют интервал по значению плавающей точки. |
template
<typename interval_type>
interval_type& move(interval_type& interval,
coordinate_difference displacement) |
Добавляет значение смещения к низким и высоким концам объекта, которые моделируют интервал. |
template
<typename interval_type>
interval_type& convolve(interval_type& interval,
coordinate_type b) |
Добавляет значение координат к низким и высоким концам объекта, которые моделируют интервал. |
template
<typename interval_type>
interval_type& deconvolve(interval_type& interval,
coordinate_type b) |
Вычитает значение координат с низких и высоких концов объекта, моделирующего интервал. |
template
<typename T1, typename T2>
T1& convolve(T1& a, const T2& b) |
Добавляет низкий конец b к низкому концу a и добавляет высокий конец b к высокому концу a. |
template
<typename T1, typename T2>
T1& deconvolve(T1& a, const T2& b) |
Вычитает низкий конец b из низкого конца a и вычитает высокий конец b из высокого конца a. |
template
<typename T1, typename T2>
T1& reflected_convolve(T1& a, const T2& b) |
Добавляет высокий конец b к низкому концу a и добавляет низкий конец b к высокому концу a. |
template
<typename T1, typename T2>
T1& reflected_deconvolve(T1& a, const T2& b) |
Вычитает высокий конец b из низкого конца a и вычитает низкий конец b из высокого конца a. |
template
<typename T>
coordinate_difference euclidean_distance(const T&,
coordinate_type) |
Возвращает расстояние от объекта, моделирующего интервал, к координате. Возвращает ноль, если координата равна концу интервала или содержится в интервале. |
template
<typename T1, typename T2>
bool intersects(const T1& interval, const T2& b,
bool consider_touch = true) |
Возвращается истинно, если два объекта, которые модели интервал перекрываются. Если флаг consider_touch является истинным касанием в конечных точках, это считается перекрытием. |
template
<typename T1, typename T2>
bool boundaries_intersect(const T1& interval, const T2&
b,
bool consider_touch = true) |
Верно возвращение двух объектов, которые частично перекрывают интервал модели так, что одна конечная точка каждого из них содержится в другой. Если флаг consider_touch является истинным, координата считается содержащейся, даже если она равна концу. |
template
<typename T1, typename T2>
bool abuts(const T1& a, const T2& b,
direction_1d dir) |
Возвращается истинно, если интервал b примыкает, но вниз не перекрывает интервал a на конце интервала a, указанного dir. |
template
<typename T1, typename T2>
bool abuts(const T1& a, const T2& b) |
Возвращается истинно, если интервал b примыкает, но вниз не перекрывает интервал a. |
template
<typename T1, typename T2>
bool intersect(T1& a, const T2& b,
bool consider_touch = true) |
Устанавливает интервал a на пересечение интервала a и интервала b и возвращает истинное значение. Если два интервала не пересекаются, интервал a не изменяется, и функция возвращается ложной. Если флаг consider_touch — истинные интервалы, которые abut считаются пересекающимися. |
template
<typename T1, typename T2>
T& generalized_intersect(T1& a, const T2& b) |
Так же, как и пересекаются, но если они не пересекаются, устанавливают интервал между a и b. |
template
<typename T>
T& bloat(T& interval, coordinate_type) |
Добавляет значение координат к высокому концу интервала и вычитает его из низкого конца интервала. |
template
<typename T>
T& bloat(T& interval, direction_1d, coordinate_type) |
Добавляет значение координат к высокому концу интервала или вычитает его из низкого конца интервала в зависимости от направления_1d. |
template
<typename T>
T& shrink(T& interval, coordinate_type) |
Вычитает значение координат с высокого конца интервала и добавляет его к низкому концу интервала. |
template
<typename T>
T& shrink(T& interval, direction_1d, coordinate_type) |
Вычитает значение координат с высокого конца интервала или добавляет его к низкому концу интервала в зависимости от направления_1d. |
template
<typename T1, typename T2>
bool encompass(T1& a, const T2& b) |
Устанавливает низкий от а до мин, низкий от а и низкий от b и устанавливает высокий от а до максимума, высокий от a и высокий от b. Возвращается истинно, если b не содержалось в a для начала. |
template
<typename T>
bool encompass(T& a, coordinate_type) |
Устанавливает низкое значение от а до мин с низким значением координаты и устанавливает высокое значение от а до максимума с высоким значением координаты. Возвращается истинно, если значение координат не содержалось в а для начала. |