std::bitset::test

From cppreference.com
< cpplrm; | utilitylrm; | bitset
bool test( size_t pos ) const;

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

#include <iostream>
#include <bitset>

int main() 
{
    std::bitset<10> b1("1111010000");

    size_t idx = 0;
    while (idx < b1.size() && !b1.test(idx)) {
      ++idx;
    }

    if (idx < b1.size()) {
        std::cout << "first set bit at index " << idx << '\n';
    } else {
        std::cout << "no set bits\n";
    }
}

Output:

first set bit at index 4

See also

accesses specific bit
(public member function)