std::isless
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  <cmath>
  | 
||
|   bool isless( float x, float y );  | 
(1) | (since C++11) | 
|   bool isless( double x, double y );  | 
(2) | (since C++11) | 
|   bool isless( long double x, long double y );  | 
(3) | (since C++11) | 
|   bool isless( Arithmetic x, Arithmetic y );  | 
(4) | (since C++11) | 
1-3) Determines if the floating point number 
x is less than the floating-point number y, without setting floating-point exceptions.4) A set of overloads or a function template for all combinations of arguments of arithmetic type not covered by (1-3). If any argument has integral type, it is cast to double.
Contents | 
[edit] Parameters
| x | - | floating point value | 
| y | - | floating point value | 
[edit] Return value
true if x < y, false otherwise
[edit] Notes
The built-in operator< for floating-point numbers may raise FE_INVALID if one or both of the arguments is NaN. This function is a "quiet" version of operator<.
[edit] See also
|    function object implementing x < y   (class template)  | |
|    (C++11)  | 
   checks if the first floating-point argument is greater than the second  (function)  | 
|   C documentation for isless 
 | |