最終更新日時(UTC): 2023年01月16日 08時49分31秒
yoh が更新

履歴 編集

function template
<bitset>

# std::operator|

    namespace std {
      template <size_t N>
      bitset<N> operator|(const bitset<N>& lhs, const bitset<N>& rhs);          // (1) C++03

      template <size_t N>
      bitset<N> operator|(const bitset<N>& lhs, const bitset<N>& rhs) noexcept; // (1) C++11

      template <size_t N>
      constexpr bitset<N> operator|(const bitset<N>& lhs, const bitset<N>& rhs) noexcept; // (1) C++23
    }

## 概要

`lhs`と`rhs`に対して、論理和(OR)した`bitset`を生成する。

## 戻り値

`lhs`と`rhs`のどちらか一方でも1となるビットを1、それ以外のビットを0とする`bitset`オブジェクトを生成して返す。
この関数は、以下のプログラムと同じ動作をする：

    return bitset<N>(lhs) |= rhs;

## 例外

投げない。

## 例

    #include <iostream>
    #include <bitset>

    int main()
    {
      std::bitset<4> bs1("0011");
      std::bitset<4> bs2("0101");

      std::bitset<4> result = bs1 | bs2;

      std::cout << result << std::endl;
    }

### 出力

    0111

## 参照

- P2417R2 A more constexpr bitset