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

FreeBSD Manual Pages

  
 
  

home | help
std::experi...::less_equal(3) C++ Standard Libarystd::experi...::less_equal(3)

NAME
       std::experimental::ranges::less_equal	     -	       std::experimen-
       tal::ranges::less_equal

Synopsis
	  Defined in header <experimental/ranges/functional>
	  template< class T = void >

	      requires StrictTotallyOrdered<T> ||
		       Same<T,			  void>			    ||
       (ranges TS)
		       /* < on two const T lvalues invokes a built-in operator
	  comparing pointers */

	  struct less_equal;
	  template<>
       (ranges TS)
	  struct less_equal<void>;

	  Function object for performing comparisons. The primary template in-
       vokes operator<
	  on const lvalues of type T with the argument order inverted and then
       negates the
	  result.  The	specialization	less_equal<void> deduces the parameter
       types of	the
	  function call	operator from the arguments (but not the return	type).

	  All specializations of less_equal are	Semiregular.

Member types
	  Member type							  Def-
       inition
	  is_transparent (member only of less_equal<void>  specialization)  /*
       unspecified */

Member functions
	  operator() checks if the first argument is less than or equal	to the
       second
		     (public member function)

       std::experimental::ranges::less_equal::operator()

	  constexpr  bool operator()(const T& x, const T&  (1) (member only of
       primary
	  y)  const;						 less_equal<T>
       template)
	  template< class T, class U >

	      requires StrictTotallyOrderedWith<T, U> ||
		       /*  std::declval<T>() <		       (member only of
       less_equal<void>
	  std::declval<U>() resolves to			  (2) specialization)
			  a built-in operator comparing
	  pointers */

	  constexpr bool operator()(T&&	t, U&& u) const;

	  1) Compares x	and y. Equivalent to return !ranges::less<>{}(y, x);.
	  2)	Compares     t	   and	   u.	  Equivalent	 to	return
       !ranges::less<>{}(std::forward<U>(u),
	  std::forward<T>(t));.

Notes
	  Unlike std::less_equal, ranges::less_equal requires all six compari-
       son operators <,
	  <=, >, >=, ==	and != to be valid (via	the StrictTotallyOrdered and
	  StrictTotallyOrderedWith  constraints)  and  is  entirely defined in
       terms of
	  ranges::less.	However, the implementation is free to use  operator<=
       directly,
	  because  those concepts require the results of the comparison	opera-
       tors to be
	  consistent.

Example
	   This	section	is incomplete
	   Reason: no example

See also
	  less_equal function object implementing x <= y
		     (class template)

Category:
	    * Todo no example

http://cppreference.com		  2024.06.10	 std::experi...::less_equal(3)

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

home | help