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
.
Contenido |
[editar] 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) |
[editar] 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 std::unary_function<T, T>. |
(hasta C++11) |
[editar] Funciones miembro
operator() |
Devuelve el resultado de NOT bit a bit de su argumento. (función miembro pública) |
std::bit_not::operator()
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.
[editar] Excepciones
Puede lanzar excepciones definidas por la implementación.
Posible implementación
constexpr T operator()(const T& arg) const { return ~arg; } |
[editar] 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.