Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::isless(3)		      C++ Standard Libary		std::isless(3)

NAME
       std::isless - std::isless

Synopsis
	  Defined in header <cmath>
	  bool isless( float x,	float y	);
								       (since
       C++11)
	  bool	isless(	double x, double y );				(until
       C++23)

	  bool isless( long double x, long double y );
	  constexpr bool isless( /* floating-point-type	*/ x,  (1)
				 /* floating-point-type	*/ y		(since
       C++23)
	  );
	  Additional overloads
	  Defined in header <cmath>
	  template<  class Arithmetic1,	class Arithmetic2 >	    (A)	(since
       C++11)
	  bool isless( Arithmetic1 x, Arithmetic2 y );		       (const-
       expr since C++23)

	  1) Determines	if the floating	point number x is less than the	float-
       ing-point number
	  y, without setting floating-point exceptions.
	  The library provides overloads for all cv-unqualified	floating-point
       types as	the
	  type of the parameters x and y.
	  (since C++23)
	  A) Additional	overloads are provided for all other  combinations  of
       arithmetic types.

Parameters
	  x, y - floating-point	or integer values

Return value
	  true if x < y, false otherwise.

Notes
	  The  built-in	 operator< for floating-point numbers may raise	FE_IN-
       VALID if	one or
	  both of the arguments	is NaN.	This function is a "quiet" version  of
       operator<.

	  The  additional overloads are	not required to	be provided exactly as
       (A). They only
	  need to be sufficient	to ensure that for their first	argument  num1
       and second
	  argument num2:

	    *  If  num1	 or  num2 has type long	double,	then std::isless(num1,
       num2)
	      has  the	same  effect  as   std::isless(static_cast<long	  dou-
       ble>(num1),
			  static_cast<long double>(num2)).
	    *  Otherwise,  if  num1  and/or num2 has type double or an integer
       type,
	      then  std::isless(num1,	num2)	has   the   same   effect   as
       (until C++23)
	      std::isless(static_cast<double>(num1),
			  static_cast<double>(num2)).
	    *  Otherwise,  if  num1  or	 num2  has  type  float, then std::is-
       less(num1,
	      num2)    has    the    same    effect    as     std::isless(sta-
       tic_cast<float>(num1),
			  static_cast<float>(num2)).
	  If num1 and num2 have	arithmetic types, then std::isless(num1, num2)
	  has the same effect as std::isless(static_cast</*
	  common-floating-point-type */>(num1),
		      static_cast</* common-floating-point-type	*/>(num2)),
	  where	 /*  common-floating-point-type	 */ is the floating-point type
       with
	  the greatest floating-point conversion rank and greatest
	  floating-point conversion subrank between  the  types	 of  num1  and
       num2,  (since C++23)
	  arguments of integer type are	considered to have the same
	  floating-point conversion rank as double.

	  If no	such floating-point type with the greatest rank	and subrank
	  exists,  then	overload resolution does not result in a usable	candi-
       date
	  from the overloads provided.

See also
	  less	    function object implementing x < y
		    (class template)
	  isgreater checks if the first	 floating-point	 argument  is  greater
       than the	second
	  (C++11)   (function)
	  C documentation for
	  isless

http://cppreference.com		  2024.06.10			std::isless(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::isless&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help