Namespaces
Variants

std::less_equal<void>

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support linguistique
Support de type (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (obsolète en C++20)
 
Objets fonction
Invocation de fonction
(C++17)(C++23)
Objet fonction identité
(C++20)
Enveloppes d'opérateurs transparentes
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)

Anciens binders et adaptateurs
(jusqu'à C++17*)
(jusqu'à C++17*)
(jusqu'à C++17*)
(jusqu'à C++17*)
(jusqu'à C++17*)  
(jusqu'à C++17*)
(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)
(jusqu'à C++20*)
(jusqu'à C++20*)
(jusqu'à C++17*)(jusqu'à C++17*)
(jusqu'à C++17*)(jusqu'à C++17*)

(jusqu'à C++17*)
(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)
(jusqu'à C++20*)
(jusqu'à C++20*)
 
Défini dans l'en-tête <functional>
template<>
class less_equal<void>;
(depuis C++14)

std::less_equal<void> est une spécialisation de std::less_equal avec paramètre et type de retour déduits.

Types imbriqués

Type imbriqué Définition
is_transparent unspecified

Fonctions membres

operator()
teste si lhs est inférieur ou égal à rhs
(fonction membre publique)

std::less_equal<void>:: operator()

template < class T, class U >

constexpr auto operator ( ) ( T && lhs, U && rhs ) const

- > decltype ( std:: forward < T > ( lhs ) <= std:: forward < U > ( rhs ) ) ;

Retourne le résultat de std:: forward < T > ( lhs ) <= std:: forward < U > ( rhs ) .

Paramètres

lhs, rhs - valeurs à comparer

Valeur de retour

std:: forward < T > ( lhs ) <= std:: forward < U > ( rhs ) .

Si un opérateur intégré comparant des pointeurs est appelé, le résultat est cohérent avec l'ordre total strict défini par l'implémentation sur les pointeurs .

Exceptions

Peut lever des exceptions définies par l'implémentation.

Exemple

#include <algorithm>
#include <functional>
#include <initializer_list>
constexpr bool strictly_not_positive(int lhs)
{
    return std::less_equal<>()(lhs, 0);
}
int main()
{
    constexpr int low = 0, high = 8;
    std::less_equal<> less_equal{};
    static_assert(less_equal(low, high));
    static_assert(less_equal(low, low));
    static constexpr auto arr = {1, 0, -1, -2, -3, -4};
    static_assert(!std::all_of(arr.begin(), arr.end(), strictly_not_positive));
    static_assert(std::all_of(arr.begin() + 1, arr.end(), strictly_not_positive));
}

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Appliqué à Comportement publié Comportement corrigé
LWG 2562 C++98 l'ordre total des pointeurs pouvait être incohérent garanti d'être cohérent