FreeBSD Manual Pages
std::bitset::test(3) C++ Standard Libary std::bitset::test(3) NAME std::bitset::test - std::bitset::test Synopsis bool test( std::size_t pos ) const; (until C++23) constexpr bool test( std::size_t pos ) const; (since C++23) Returns the value of the bit at the position pos. Unlike operator[], performs a bounds check and throws std::out_of_range if pos does not correspond to a valid position in the bitset. Parameters pos - position of the bit to return Return value true if the requested bit is set, false otherwise. Exceptions std::out_of_range if pos does not correspond to a valid position within the bitset. Example // Run this code #include <iostream> #include <bitset> #include <bit> #include <cassert> #include <stdexcept> int main() { std::bitset<10> b1("1111010000"); std::size_t idx = 0; while (idx < b1.size() && !b1.test(idx)) { ++idx; } assert(static_cast<int>(idx) == std::countr_zero(b1.to_ulong())); if (idx < b1.size()) { std::cout << "first set bit at index " << idx << '\n'; } else { std::cout << "no set bits\n"; } try { if (b1.test(b1.size())) std::cout << "Expect unexpected!\n"; } catch (std::out_of_range const& ex) { std::cout << "Exception: " << ex.what() << '\n'; } } Possible output: first set bit at index 4 Exception: bitset::test: __position (which is 10) >= _Nb (which is 10) See also operator[] accesses specific bit (public member function) popcount counts the number of 1 bits in an unsigned integer (C++20) (function template) has_single_bit checks if a number is an integral power of two (C++20) (function template) http://cppreference.com 2022.07.31 std::bitset::test(3)
NAME | Synopsis | Parameters | Return value | Exceptions | Example | Possible output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::bitset::test&sektion=3&manpath=FreeBSD+Ports+15.0>
