std::ptr_fun
Aus cppreference.com
<metanoindex/>
<tbody> </tbody> template< class Arg, class Result > std::pointer_to_unary_function<Arg,Result> ptr_fun( Result (*f)(Arg) ); |
(1) | (veraltet) |
template< class Arg1, class Arg2, class Result > std::pointer_to_binary_function<Arg1,Arg2,Result> ptr_fun( Result (*f)(Arg1, Arg2) ); |
(2) | (veraltet) |
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)
Effektiv nennt
std::pointer_to_unary_function<Arg,Result>(f) .Original:
Effectively calls
std::pointer_to_unary_function<Arg,Result>(f).The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
2)
Effektiv nennt
std::pointer_to_binary_function<Arg1,Arg2,Result>(f) .Original:
Effectively calls
std::pointer_to_binary_function<Arg1,Arg2,Result>(f).The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
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 adapter-compatible function objects from plain functions.
Parameter
Rückgabewert
A function object wrapping f.
Ausnahmen
(None)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Beispiel
#include <string>
#include <iostream>
#include <algorithm>
#include <functional>
bool isvowel(char c)
{
return std::string("aeoiuAEIOU").find(c) != std::string::npos;
}
int main()
{
std::string s = "Hello, world!";
std::copy_if(s.begin(), s.end(), std::ostreambuf_iterator<char>(std::cout),
std::not1(std::ptr_fun(isvowel)));
// C++11 alternatives:
// std::not1(std::ref(isvowel)));
// std::not1(std::function<bool(char)>(isvowel)));
}
Output:
Hll, wrld!
