std::bitset<N>::set

From cppreference.com
< cpp‎ | utility‎ | bitset
 
 
Utilities library
General utilities
Date and time
Function objects
Formatting library (C++20)
(C++11)
Relational operators (deprecated in C++20)
Integer comparison functions
(C++20)(C++20)(C++20)   
(C++20)
Swap and type operations
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Common vocabulary types
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Elementary string conversions
(C++17)
(C++17)
 
 
(1)
bitset& set();
(until C++11)
bitset& set() noexcept;
(since C++11)
(until C++23)
constexpr bitset& set() noexcept;
(since C++23)
(2)
bitset& set( std::size_t pos, bool value = true );
(until C++23)
constexpr bitset& set( std::size_t pos, bool value = true );
(since C++23)

Sets all bits to true or sets one bit to specified value.

1) Sets all bits to true.
2) Sets the bit at position pos to the value value.

Parameters

pos - the position (counting from 0, from least significant to most significant) of the bit to set
value - the value to set the bit to

Return value

*this

Exceptions

2) Throws 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<8> b;
    std::cout << b << '\n';
    std::cout << b.set() << '\n';
    std::cout << b.reset() << '\n';    
 
    for (size_t i = 1; i < b.size(); i += 2)
        b.set(i);
 
    std::cout << b << '\n';
}

Output:

00000000
11111111
00000000
10101010

Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 186 C++98 the type of value was int corrected to bool

See also

sets bits to false
(public member function)
toggles the values of bits
(public member function)