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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::divides - std::divides

Synopsis
	  Defined in header <functional>
	  template<>			  (since C++14)
	  class	divides<void>;

	  std::divides<>  is  a	 specialization	of std::divides	with parameter
       and return type
	  deduced.

Member types
	  Member type	 Definition
	  is_transparent /* unspecified	*/

Member functions
	  operator() returns the quotient of two arguments
		     (public member function)

       std::divides<>::operator()

	  template< class T, class U>

	  constexpr auto operator()( T&& lhs, U&& rhs )	const

	  -> decltype(std::forward<T>(lhs) / std::forward<U>(rhs));

	  Returns the result of	dividing lhs by	rhs (or	whatever operator/  is
       overloaded to
	  do)

Parameters
	  lhs, rhs - values to divide

Return value
	  The result of	lhs / rhs.

Notes
	  The  member  type  is_transparent  indicates to the caller that this
       function	object is
	  a transparent	function object: it  accepts  arguments	 of  arbitrary
       types and uses
	  perfect  forwarding, which avoids unnecessary	copying	and conversion
       when the
	  function object is used in heterogeneous context, or with rvalue ar-
       guments.	In
	  particular,  template	  functions   such   as	  std::set::find   and
       std::set::lower_bound make
	  use of this member type on their Compare types.

Example
       // Run this code

	#include <complex>
	#include <functional>
	#include <iostream>

	int main()
	{
	    constexpr std::complex z1{8.0, 4.0}, z2{1.0, 2.0};

	    std::cout << std::showpos
		      << std::divides{}(z1, z2)	<< ' ' << z1 / z2 << '\n'
		      << std::divides{}(z1, 5.)	<< ' ' << z1 / 5. << '\n'
		      << std::divides{}(6., z2)	<< ' ' << 6. / z2 << '\n'
		      ;
	}

Output:
	(+3.2,-2.4) (+3.2,-2.4)
	(+1.6,+0.8) (+1.6,+0.8)
	(+1.2,-2.4) (+1.2,-2.4)

http://cppreference.com		  2022.07.31		       std::divides(3)

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

home | help