/
niceSOFT
/
cmake
Обзор
Документация
Войти
/
niceSOFT
/
cmake
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Utilities/std/cm/algorithm
35 строк
729 B
Kitware Robot
LICENSE: Replace references to Copyright.txt with LICENSE.rst
03 мар 2025, 18:43
03 мар 2025, 18:43
1772622
Код
Авторство
О чём код?
// -*-c++-*- // vim: set ft=cpp: /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file LICENSE.rst or https://cmake.org/licensing for details. */ #pragma once #include <algorithm> // IWYU pragma: export #include <cassert> namespace cm { #if __cplusplus >= 201703L || defined(_MSVC_LANG) && _MSVC_LANG >= 201703L using std::clamp; #else template <typename T> T const& clamp(T const& v, T const& lo, T const& hi) { assert(!(hi < lo)); return (v < lo) ? lo : (hi < v) ? hi : v; } template <typename T, typename Comp> T const& clamp(T const& v, T const& lo, T const& hi, Comp comp) { assert(!comp(hi, lo)); return comp(v, lo) ? lo : comp(hi, v) ? hi : v; } #endif } // namespace cm