std::bit_not
From cppreference.com
< cpp | utility | functional
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Utilities library
Type support (basic types, RTTI)
Library feature-test macros (C++20)
(C++11)
(C++20)
(C++26)
(C++20)
Coroutine support (C++20)
Contract support (C++26)
(C++20)(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)(C++20)
(C++20)(C++20)(C++20)
General utilities
Relational operators (deprecated in C++20)
(C++20)(C++20)(C++20)
(C++20)(C++20)(C++20)
(C++20)
Swap and type operations
Common vocabulary types
Function objects
(C++11)
(C++23)
(C++26)
(C++26)
(C++11)
(C++11)
(C++20)(C++23)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)(C++11)
(C++20)(C++20)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++17)
(C++17)
(C++17)
(C++17)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(until C++17*)
(until C++17*)
(until C++17*)
(until C++17*)
(until C++17*)
(until C++17*)
(until C++17*)(until C++17*)(until C++17*)(until C++17*)
(until C++20*)
(until C++20*)
(until C++17*)(until C++17*)
(until C++17*)(until C++17*)
(until C++17*)
(until C++17*)(until C++17*)(until C++17*)(until C++17*)
(until C++20*)
(until C++20*)
Defined in header
<functional>
template< class T = void >
struct bit_not;
(since C++14)
struct bit_not;
Function object for performing bitwise NOT. Effectively calls operator~ on type T
.
Contents
[edit] Specializations
The standard library provides a specialization of std::bit_not
when T
is not specified, which leaves the parameter types and return type to be deduced.
(C++14)
(class template specialization) [edit]
[edit] Member types
Type
Definition
result_type
(deprecated in C++17)(removed in C++20)
T
argument_type
(deprecated in C++17)(removed in C++20)
T
[edit] Member functions
operator()
(C++14)
(public member function)
std::bit_not::operator()
constexpr T operator()( const T& arg ) const;
(since C++14)
Returns the result of bitwise NOT of arg.
Parameters
arg
-
value to compute bitwise NOT of
Return value
The result of ~arg.
[edit] Exceptions
May throw implementation-defined exceptions.
Possible implementation
constexpr T operator()(const T& arg) const { return ~arg; }
[edit] Notes
Although std::bit_not
is added via post-C++11 proposal N3421, it is treated as a part of the resolution for LWG issue 660 (except for its transparent specialization std::bit_not<>
) by common implementations, and thus available in their C++98/03 mode.