FreeBSD Manual Pages
std::is_bind_expression(3) C++ Standard Libary std::is_bind_expression(3) NAME std::is_bind_expression - std::is_bind_expression Synopsis Defined in header <functional> template< class T > (since C++11) struct is_bind_expression; If T is the type produced by a call to std::bind, this template is derived from std::true_type. For any other type, this template is derived from std::false_type. This template may be specialized for a user-defined type T to imple- ment UnaryTypeTrait with base characteristic of std::true_type to indi- cate that T should be treated by std::bind as if it were the type of a bind subexpres- sion: when a bind-generated function object is invoked, a bound argument of this type will be invoked as a function object and will be given all the unbound argu- ments passed to the bind-generated object. Helper variable template template< class T > inline constexpr bool is_bind_expression_v = (since C++17) is_bind_expression<T>::value; Inherited from std::integral_constant Member constants value true if T is a function object generated by std::bind, false otherwise [static] (public static member constant) Member functions operator bool converts the object to bool, returns value (public member function) operator() returns value (C++14) (public member function) Member types Type Definition value_type bool type std::integral_constant<bool, value> Example // Run this code #include <iostream> #include <type_traits> #include <functional> struct MyBind { typedef int result_type; int operator()(int a, int b) const { return a + b; } }; namespace std { template<> struct is_bind_expression<MyBind> : public true_type {}; } int f(int n1, int n2) { return n1+n2; } int main() { // as if bind(f, bind(MyBind(), _1, _2), 2) auto b = std::bind(f, MyBind(), 2); std::cout << "Adding 2 to the sum of 10 and 11 gives " << b(10, 11) << '\n'; } Output: Adding 2 to the sum of 10 and 11 gives 23 See also bind binds one or more arguments to a function object (C++11) (function template) http://cppreference.com 2022.07.31 std::is_bind_expression(3)
NAME | Synopsis | Member constants | Member functions | Member types | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::is_bind_expression&sektion=3&manpath=FreeBSD+Ports+15.0>
