Namespaces
Variants

std::in_range

Referenz von de.cppreference.net
 
 
Dienstprogrammbibliothek
Sprachunterstützung
Typunterstützung (grundlegende Typen, RTTI)
Funktionstest-Makros der Bibliothek (C++20)
Programmdienstprogramme
Variadische Funktionen
Koroutinenunterstützung (C++20)
Vertragsunterstützung (C++26)
Dreiseitiger Vergleich
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Allgemeine Dienstprogramme
Relationale Operatoren (veraltet in C++20)
Ganzzahlvergleichsfunktionen
(C++20)(C++20)(C++20)    
(C++20)
Tausch und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Allgemeine Vokabeltypen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
Definiert in Header <utility>
template< class R, class T >
constexpr bool in_range( T t ) noexcept;
(seit C++20)

Gibt true zurück, wenn der Wert von t im Wertebereich liegt, der in R dargestellt werden kann, d.h. wenn t in einer werterhaltenden Weise in R konvertiert werden kann.

Es ist ein Compilerfehler, wenn entweder T oder U ein nicht-ganzzahliger Typ, ein Zeichentyp oder bool ist.

Parameter

t - zu testender Wert

Rückgabewert

true falls der Wert von t in R darstellbar ist, false andernfalls.

Mögliche Implementierung

template<class R, class T>
constexpr bool in_range(T t) noexcept
{
    return std::cmp_greater_equal(t, std::numeric_limits<R>::min()) &&
        std::cmp_less_equal(t, std::numeric_limits<R>::max());
}

Hinweise

Diese Funktion kann nicht mit enums (einschließlich std::byte ), char , char8_t , char16_t , char32_t , wchar_t und bool verwendet werden.

Feature-Test Makro Wert Std Funktion
__cpp_lib_integer_comparison_functions 202002L (C++20) Integer-Vergleichsfunktionen

Beispiel

#include <iostream>
#include <utility>
int main()
{
    std::cout << std::boolalpha;
    std::cout << std::in_range<std::size_t>(-1) << '\n';
    std::cout << std::in_range<std::size_t>(42) << '\n';
}

Ausgabe:

false
true

Siehe auch

gibt den kleineren der gegebenen Werte zurück
(Algorithmus-Funktionsobjekt)
gibt den größeren der gegebenen Werte zurück
(Algorithmus-Funktionsobjekt)
begrenzt einen Wert zwischen einem Paar von Grenzwerten
(Algorithmus-Funktionsobjekt)
(C++20)
lineare Interpolationsfunktion
(Funktion)