std::bit_not
| Definido en el archivo de encabezado <functional>
|
||
template< class T = void > struct bit_not; |
(desde C++14) | |
Objeto función para realizar NOT bit a bit. Llama efectivamente a operador~ en el tipo T.
Especializaciones
La biblioteca estándar proporciona una especialización de std::bit_not cuando no se especifica T, lo que deja que se deduzcan los tipos de parámetros y el tipo de retorno.
(C++14) |
Objeto función que implementa ~x deduciendo el tipo del argumento y el tipo de retorno. (especialización de plantilla de clase) |
Tipos miembro
| Tipo | Definición |
result_type (en desuso en C++17)(eliminado en C++20)
|
T
|
argument_type (en desuso en C++17)(eliminado en C++20)
|
T
|
|
Estos tipos miembro se obtienen heredando públicamente de |
(hasta C++11) |
Funciones miembro
operator() |
Devuelve el resultado de NOT bit a bit de su argumento. (función miembro pública) |
std::bit_not::operator()
<tbody> </tbody> constexpr T operator()( const T& arg ) const; |
||
Devuelve el resultado de NOT bit a bit de arg.
Parámetros
| arg | - | Valor para el que calcular NOT bit a bit. |
Valor de retorno
El resultado de ~arg.
Excepciones
Puede lanzar excepciones definidas por la implementación.
Posible implementación
constexpr T operator()(const T& arg) const
{
return ~arg;
}
|
Notas
Aunque std::bit_not se agrega a través de la propuesta posterior a C++11 N3421, se trata como parte de la resolución para Asunto LWG 660 (excepto por su especialización transparente std::bit_not<>) por implementaciones comunes y, por lo tanto, disponible en su modo C++98/03.