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>() < std::declval<U>()	  (2) (member only  of
       less_equal<void>
	  resolves to					      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)

http://cppreference.com		  2022.07.31	 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.0>

home | help