std::clamp
-
Hi,
ich bin auf der Suche nach einem kombinierten std::min/std::max, um einen Wert in einen bestimmten Bereich zu zwängen.
template<typename T> T clamp(const T &val, const T &min, const T &max) { return std::max(min, std::min(max, val)); } auto y = clamp(x, 0, 255);Gibt es sowas schon in der STL? Falls ja, wie heißt die Funktion da? In Boost gibt es clamp (schon).
-
Das gibt es nicht in der STL.
-
Dafür gibt es das in boost: clamp
-
ich bin auf der Suche nach einem kombinierten std::min/std::max, um einen Wert in einen bestimmten Bereich zu zwängen.
Hast du Schiss es selbst zu schreiben? Den Einzeiler? :p
-
nöpe, aber gerade so kleine sachen gibts ja schon in der STL man findet sie nur nicht

-
KN4CK3R schrieb:
nöpe, aber gerade so kleine sachen gibts ja schon in der STL man findet sie nur nicht

Kannst ja ein Proposal für C++17 schreiben. Nehmen sie bestimmt an. Stört doch keinen, so ein
clampin der Standardbibliothek.
-
Arcoth schrieb:
Hast du Schiss es selbst zu schreiben? Den Einzeiler? :p
Ich denke die Strategie, erst mal in der STL zu schauen ist sehr gut. Es gibt viel zu viele Programmierer die das Rad jeden Tag unnötigerweise neu erfinden und gerade bei der STL kann fast jeder noch was lernen.