Namensräume
Varianten
Aktionen

std::in_range

Von cppreference.com
< cpp‎ | utility
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

Allgemeine Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
Ganzzahl-Vergleichsfunktionen
(C++20)(C++20)(C++20)  
in_range
(C++20)
Swap und Typ-Operationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Gemeinsame Vokabulartypen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
Definiert in der Header-Datei <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 werterhaltend in R konvertiert werden kann.

Es ist ein Kompilierungsfehler, wenn entweder T oder U kein Ganzzahltyp, ein Zeichentyp oder bool ist.

Inhalt

[bearbeiten] Parameter

t - zu testender Wert

[bearbeiten] Rückgabewert

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

[bearbeiten] 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());
}

[bearbeiten] Hinweise

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

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

[bearbeiten] 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

[bearbeiten] Siehe auch

Gibt den kleineren der beiden Werte zurück
(Algorithmus-Funktionsobjekt)[bearbeiten]
Gibt den größeren der beiden Werte zurück
(Algorithmus-Funktionsobjekt)[edit]
klemmt einen Wert zwischen einem Paar von Grenzwerte
(Algorithmus-Funktionsobjekt)[bearbeiten]
(C++20)
Lineare Interpolationsfunktion
(Funktion) [bearbeiten]