FreeBSD Manual Pages
std::ptr_fun(3) C++ Standard Libary std::ptr_fun(3) NAME std::ptr_fun - std::ptr_fun Synopsis Defined in header <functional> template< class Arg, class Result > (deprecated in C++11) std::pointer_to_unary_function<Arg,Result> (1) (removed in C++17) ptr_fun( Result (*f)(Arg) ); template< class Arg1, class Arg2, class Result > (deprecated in C++11) std::pointer_to_binary_function<Arg1,Arg2,Result> (2) (removed in C++17) ptr_fun( Result (*f)(Arg1, Arg2) ); Creates a function wrapper object (either std::pointer_to_unary_function or std::pointer_to_binary_function), deducing the target type from the template arguments. 1) Effectively calls std::pointer_to_unary_function<Arg,Result>(f). 2) Effectively calls std::pointer_to_binary_function<Arg1,Arg2,Re- sult>(f). This function and the related types are deprecated as of C++11 in favor of the more general std::function and std::ref, both of which create callable adaptor-compatible function objects from plain functions. Parameters f - pointer to a function to create a wrapper for Return value A function object wrapping f. Exceptions May throw implementation-defined exceptions. Example // Run this code #include <iostream> #include <algorithm> #include <functional> #include <string_view> constexpr bool is_vowel(char c) { return std::string_view{"aeoiuAEIOU"}.find(c) != std::string_view::npos; } int main() { std::string_view s = "Hello, world!"; std::ranges::copy_if(s, std::ostreambuf_iterator<char>(std::cout), std::not1(std::ptr_fun(is_vowel))); #if 0 // C++11 alternatives: std::not1(std::cref(is_vowel))); std::not1(std::function<bool(char)>(is_vowel))); [](char c){ return !is_vowel(c); }); // C++17 alternatives: std::not_fn(is_vowel)); #endif } Output: Hll, wrld! See also function wraps callable object of any copy constructible type with (C++11) specified function call signature (class template) move_only_function wraps callable object of any type with specified function call (C++23) signature (class template) invoke invokes any Callable object with given arguments invoke_r and possibility to specify return type (C++17) (since C++23) (C++23) (function template) not_fn Creates a function object that returns the com- plement of the (C++17) result of the function object it holds (function template) http://cppreference.com 2022.07.31 std::ptr_fun(3)
NAME | Synopsis | Parameters | Return value | Exceptions | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::ptr_fun&sektion=3&manpath=FreeBSD+Ports+15.0>
