std::is_placeholder
De cppreference.com
< cpp | utility | functional
![]() | Esta página se ha traducido por ordenador/computador/computadora de la versión en inglés de la Wiki usando Google Translate. La traducción puede contener errores y palabras aparatosas/incorrectas. Planea sobre el texto para ver la versión original. Puedes ayudar a corregir los errores y mejorar la traducción. Para instrucciones haz clic aquí. |
Definido en el archivo de encabezado <functional> | ||
template<class T > struct is_placeholder; | (desde C++11) | |
Si
T
es el tipo de un marcador de posición estándar (_1, _2, _3, ...), a continuación, esta plantilla se deriva de std::integral_constant<int,1>, std::integral_constant<int,2>, std::integral_constant<int,3>, respectivamente. Si T
no es un tipo de marcador de posición estándar, esta plantilla se deriva de std::integral_constant<int,0> .Original:
If
T
is the type of a standard placeholder (_1, _2, _3, ...), then this template is derived from std::integral_constant<int,1>, std::integral_constant<int,2>, std::integral_constant<int,3>, respectively. If T
is not a standard placeholder type, this template is derived from std::integral_constant<int,0>.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.
La plantilla puede ser especializado para cualquier tipo definido por el usuario que debe ser tratado por std::bind como si fuera un marcador de posición para los argumentos no unidos .
Original:
The template may be specialized for any user-defined type which should be treated by std::bind as if it was a placeholder for unbound arguments.
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.
Contenido |
Heredado de std::integral_constant
Constantes miembro
value [estático] | placeholder value or 0 for non-placeholder types (constante miembro pública estática) |
Funciones miembro
operator int | Convierte el objeto a int, devuelve value . (función miembro pública) |
operator() (C++14) | Devuelve value . (función miembro pública) |
Tipos miembro
Tipo | Definición |
value_type | int |
type | std::integral_constant<int, value> |
[editar]Ejemplo
Ejecuta este código
#include <iostream>#include <type_traits>#include <functional> struct My_2 {} my_2; namespace std {template<>struct is_placeholder<My_2>:public integral_constant<int, 2>{};} int f(int n1, int n2){return n1+n2;} int main(){std::cout<<"Standard placeholder _5 is for the argument number "<< std::is_placeholder<decltype(std::placeholders::_5)>::value<<'\n'; auto b =std::bind(f, my_2, 2);std::cout<<"Adding 2 to 11 selected with a custom placeholder gives "<< b(10, 11)<<'\n';}
Salida:
Standard placeholder _5 is for the argument number 5 Adding 2 to 11 selected with a custom placeholder gives 13
[editar]Ver también
(C++11) | Vincula uno o más argumentos a un objeto función. (plantilla de función) |
(C++11) | Marcadores de posición para los argumentos no vinculados en una expresión std::bind . (constante) |