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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::unary_function - std::unary_function

Synopsis
	  Defined in header <functional>
	  template  <typename  ArgumentType, typename ResultType>  (deprecated
       in C++11)
	  struct unary_function;				  (removed  in
       C++17)

	  unary_function  is  a	 base class for	creating function objects with
       one argument.

	  unary_function does not define operator(); it	is expected  that  de-
       rived classes will
	  define  this.	unary_function provides	only two types - argument_type
       and result_type
	  - defined by the template parameters.

	  Some standard	library	function object	adaptors, such	as  std::not1,
       require the
	  function objects they	adapt to have certain types defined; std::not1
       requires	the
	  function  object  being  adapted to have a type named	argument_type.
       Deriving	function
	  objects that take one	argument from unary_function is	an easy	way to
       make them
	  compatible with those	adaptors.

	  unary_function is deprecated in C++11.

Member types
	  Type		Definition
	  argument_type	ArgumentType
	  result_type	ResultType

Example
       // Run this code

	#include <algorithm>
	#include <functional>
	#include <iostream>
	#include <vector>

	struct less_than_7 : std::unary_function<int, bool>
	{
	    bool operator()(int	i) const { return i < 7; }
	};

	int main()
	{
	    std::vector<int> v;
	    for	(int i = 0; i <	10; ++i) v.push_back(i);

	    std::cout	    <<	      std::count_if(v.begin(),	      v.end(),
       std::not1(less_than_7()));

	    /* C++11 solution:
		//  Cast  to  std::function<bool  (int)> somehow - even	with a
       lambda
		std::cout << std::count_if(v.begin(), v.end(),
		    std::not1(std::function<bool (int)>([](int i){ return i  <
       7; }))
		);
	    */
	}

Output:
	3

See also
	  function		     wraps  callable  object  of any copy con-
       structible type with
	  (C++11)		    specified function call signature
				    (class template)
	  move_only_function	    wraps callable object  of  any  type  with
       specified function
	  (C++23)		    call signature
				    (class template)
	  ptr_fun		    creates an adaptor-compatible function ob-
       ject wrapper from
	  (deprecated in C++11)	    a pointer to function
	  (removed in C++17)	    (function template)
	  pointer_to_unary_function  adaptor-compatible	 wrapper for a pointer
       to unary	function
	  (deprecated in C++11)	    (class template)
	  (removed in C++17)
	  binary_function	    adaptor-compatible	binary	function  base
       class
	  (deprecated in C++11)	    (class template)
	  (removed in C++17)

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

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

home | help