Arene Base
Fundamental Utilities For Safety Critical C++
Loading...
Searching...
No Matches
std::less< void > Class Reference

Function object that can be invoked for less than comparisons, specialized for type deduction. More...

Public Types

using first_argument_type
 Type of the first value to compare.
 
using is_transparent = void
 Denotes that this is a transparent function object type.
 
using result_type
 Result type of invoking this object.
 
using second_argument_type
 Type of the second value to compare.
 

Public Member Functions

template<class T, class U, arene::base::constraints< enable_if_t<(is_pointer_v< decay_t< T > > &&is_same_v< decay_t< U >, nullptr_t >)>>
constexpr auto operator() (T &&, U &&) const noexcept -> bool
 Returns if the first value is less than the second.
 
template<class T, class U, arene::base::constraints< enable_if_t<(is_pointer_v< decay_t< U > > &&is_same_v< decay_t< T >, nullptr_t >)>>
constexpr auto operator() (T &&, U &&rhs) const noexcept -> bool
 Returns if the first value is less than the second.
 
template<class T, class U, arene::base::constraints< enable_if_t<!(is_pointer_v< decay_t< T > > &&is_same_v< decay_t< U >, nullptr_t >)>, enable_if_t<!(is_pointer_v< decay_t< U > > &&is_same_v< decay_t< T >, nullptr_t >)>>
constexpr auto operator() (T &&lhs, U &&rhs) const noexcept(noexcept(std::forward< T >(lhs)< std::forward< U >(rhs))) ->
 Returns if the first value is less than the second.
 
constexpr auto operator() (void const &lhs, void const &rhs) const noexcept(noexcept(lhs< rhs)) -> bool
 Returns if the first value is less than the second.
 

Detailed Description

Function object that can be invoked for less than comparisons, specialized for type deduction.

Member Typedef Documentation

◆ first_argument_type

using std::less< void >::first_argument_type

Type of the first value to compare.

◆ is_transparent

using std::less< void >::is_transparent = void

Denotes that this is a transparent function object type.

◆ result_type

using std::less< void >::result_type

Result type of invoking this object.

◆ second_argument_type

using std::less< void >::second_argument_type

Type of the second value to compare.

Member Function Documentation

◆ operator()() [1/4]

template<class T, class U, arene::base::constraints< enable_if_t<(is_pointer_v< decay_t< T > > &&is_same_v< decay_t< U >, nullptr_t >)>>
auto std::less< void >::operator() ( T && ,
U &&  ) const -> bool
inlineconstexprnoexcept

Returns if the first value is less than the second.

This overload checks if a pointer is less than nullptr which is always false

Template Parameters
TThe first type
UThe second type
Returns
Returns the boolean result of invoking operator< on the supplied values

◆ operator()() [2/4]

template<class T, class U, arene::base::constraints< enable_if_t<(is_pointer_v< decay_t< U > > &&is_same_v< decay_t< T >, nullptr_t >)>>
auto std::less< void >::operator() ( T && ,
U && rhs ) const -> bool
inlineconstexprnoexcept

Returns if the first value is less than the second.

This overload checks if nullptr is less than a supplied pointer

Template Parameters
TThe first type
UThe second type
Parameters
rhsThe pointer value to compare
Returns
Returns the boolean result of invoking operator< on the supplied values

◆ operator()() [3/4]

template<class T, class U, arene::base::constraints< enable_if_t<!(is_pointer_v< decay_t< T > > &&is_same_v< decay_t< U >, nullptr_t >)>, enable_if_t<!(is_pointer_v< decay_t< U > > &&is_same_v< decay_t< T >, nullptr_t >)>>
auto std::less< void >::operator() ( T && lhs,
U && rhs ) const ->
inlineconstexprnoexcept

Returns if the first value is less than the second.

Template Parameters
TThe first type
UThe second type
Parameters
lhsThe first value to compare
rhsThe second value to compare
Returns
Returns the boolean result of invoking operator< on lhs and rhs

◆ operator()() [4/4]

auto std::less< void >::operator() ( void const & lhs,
void const & rhs ) const-> bool
inlineconstexprnoexcept

Returns if the first value is less than the second.

Parameters
lhsThe first value to compare
rhsThe second value to compare
Returns
Returns the boolean result of invoking operator< on lhs and rhs

The documentation for this class was generated from the following file: