<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.15"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libstdc++: std::bitset< _Nb > Class Template Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(initResizable); /* @license-end */</script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">libstdc++ </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('a01812.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pri-methods">Private Member Functions</a> | <a href="#pri-static-methods">Static Private Member Functions</a> | <a href="#pri-attribs">Private Attributes</a> | <a href="#friends">Friends</a> | <a href="a01809.html">List of all members</a> </div> <div class="headertitle"> <div class="title">std::bitset< _Nb > Class Template Reference<div class="ingroups"><a class="el" href="a01477.html">Utilities</a></div></div> </div> </div><!--header--> <div class="contents"> <div class="dynheader"> Inheritance diagram for std::bitset< _Nb >:</div> <div class="dyncontent"> <div class="center"><iframe scrolling="no" frameborder="0" src="a01811.svg" width="344" height="103"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> </div> <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a01816.html">reference</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a5151bbfc506a4e67b62aad88858087bf"><td class="memItemLeft" align="right" valign="top">constexpr </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#a5151bbfc506a4e67b62aad88858087bf">bitset</a> () noexcept</td></tr> <tr class="separator:a5151bbfc506a4e67b62aad88858087bf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac9ff38d14bbdb04b227c153e599ea2a3"><td class="memItemLeft" align="right" valign="top">constexpr </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#ac9ff38d14bbdb04b227c153e599ea2a3">bitset</a> (unsigned long long __val) noexcept</td></tr> <tr class="separator:ac9ff38d14bbdb04b227c153e599ea2a3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8d5bd427a29860ac451ffe8a8d4ad40e"><td class="memTemplParams" colspan="2">template<class _CharT , class _Traits , class _Alloc > </td></tr> <tr class="memitem:a8d5bd427a29860ac451ffe8a8d4ad40e"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01812.html#a8d5bd427a29860ac451ffe8a8d4ad40e">bitset</a> (const <a class="el" href="a04768.html">std::basic_string</a>< _CharT, _Traits, _Alloc > &__s, size_t __position=0)</td></tr> <tr class="separator:a8d5bd427a29860ac451ffe8a8d4ad40e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aad1e618ff42ed7383899856a0c0043f4"><td class="memTemplParams" colspan="2">template<class _CharT , class _Traits , class _Alloc > </td></tr> <tr class="memitem:aad1e618ff42ed7383899856a0c0043f4"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01812.html#aad1e618ff42ed7383899856a0c0043f4">bitset</a> (const <a class="el" href="a04768.html">std::basic_string</a>< _CharT, _Traits, _Alloc > &__s, size_t __position, size_t __n)</td></tr> <tr class="separator:aad1e618ff42ed7383899856a0c0043f4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad5a17e4ce199aff26c03d770ae282f90"><td class="memTemplParams" colspan="2"><a id="ad5a17e4ce199aff26c03d770ae282f90"></a> template<class _CharT , class _Traits , class _Alloc > </td></tr> <tr class="memitem:ad5a17e4ce199aff26c03d770ae282f90"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>bitset</b> (const <a class="el" href="a04768.html">std::basic_string</a>< _CharT, _Traits, _Alloc > &__s, size_t __position, size_t __n, _CharT __zero, _CharT __one=_CharT('1'))</td></tr> <tr class="separator:ad5a17e4ce199aff26c03d770ae282f90"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a68b8f8604acc020e65bec91099f31eb3"><td class="memTemplParams" colspan="2">template<typename _CharT > </td></tr> <tr class="memitem:a68b8f8604acc020e65bec91099f31eb3"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01812.html#a68b8f8604acc020e65bec91099f31eb3">bitset</a> (const _CharT *__str, typename <a class="el" href="a04768.html">std::basic_string</a>< _CharT >::size_type __n=<a class="el" href="a04768.html">std::basic_string</a>< _CharT >::npos, _CharT __zero=_CharT('0'), _CharT __one=_CharT('1'))</td></tr> <tr class="separator:a68b8f8604acc020e65bec91099f31eb3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6e02d58f0dc8e29529bc5bb4bda868c9"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a01459.html#ga6e02d58f0dc8e29529bc5bb4bda868c9">_Find_first</a> () const noexcept</td></tr> <tr class="separator:ga6e02d58f0dc8e29529bc5bb4bda868c9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga335929b2d821067e4288911e01e7e0ab"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a01459.html#ga335929b2d821067e4288911e01e7e0ab">_Find_next</a> (size_t __prev) const noexcept</td></tr> <tr class="separator:ga335929b2d821067e4288911e01e7e0ab"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af964bfcf32ec3127f29d1401400cf3ce"><td class="memTemplParams" colspan="2"><a id="af964bfcf32ec3127f29d1401400cf3ce"></a> template<class _CharT , class _Traits > </td></tr> <tr class="memitem:af964bfcf32ec3127f29d1401400cf3ce"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>_M_copy_from_ptr</b> (const _CharT *, size_t, size_t, size_t, _CharT, _CharT)</td></tr> <tr class="separator:af964bfcf32ec3127f29d1401400cf3ce"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5dd961fefc6463cbd2478752119e9b20"><td class="memTemplParams" colspan="2"><a id="a5dd961fefc6463cbd2478752119e9b20"></a> template<class _CharT , class _Traits , class _Alloc > </td></tr> <tr class="memitem:a5dd961fefc6463cbd2478752119e9b20"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>_M_copy_from_string</b> (const <a class="el" href="a04768.html">std::basic_string</a>< _CharT, _Traits, _Alloc > &__s, size_t __pos, size_t __n, _CharT __zero, _CharT __one)</td></tr> <tr class="separator:a5dd961fefc6463cbd2478752119e9b20"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a39c9d006d99bca099522403e65101f24"><td class="memTemplParams" colspan="2"><a id="a39c9d006d99bca099522403e65101f24"></a> template<class _CharT , class _Traits , class _Alloc > </td></tr> <tr class="memitem:a39c9d006d99bca099522403e65101f24"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>_M_copy_from_string</b> (const <a class="el" href="a04768.html">std::basic_string</a>< _CharT, _Traits, _Alloc > &__s, size_t __pos, size_t __n)</td></tr> <tr class="separator:a39c9d006d99bca099522403e65101f24"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa31c2c19578ebd43dbc089e25846dd05"><td class="memTemplParams" colspan="2"><a id="aa31c2c19578ebd43dbc089e25846dd05"></a> template<class _CharT , class _Traits , class _Alloc > </td></tr> <tr class="memitem:aa31c2c19578ebd43dbc089e25846dd05"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>_M_copy_to_string</b> (<a class="el" href="a04768.html">std::basic_string</a>< _CharT, _Traits, _Alloc > &, _CharT, _CharT) const</td></tr> <tr class="separator:aa31c2c19578ebd43dbc089e25846dd05"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8635be459b09fe7296a75800be00960a"><td class="memTemplParams" colspan="2"><a id="a8635be459b09fe7296a75800be00960a"></a> template<class _CharT , class _Traits , class _Alloc > </td></tr> <tr class="memitem:a8635be459b09fe7296a75800be00960a"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>_M_copy_to_string</b> (<a class="el" href="a04768.html">std::basic_string</a>< _CharT, _Traits, _Alloc > &__s) const</td></tr> <tr class="separator:a8635be459b09fe7296a75800be00960a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a19aaf012161f62da7b7c26fe03aafe79"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#a19aaf012161f62da7b7c26fe03aafe79">all</a> () const noexcept</td></tr> <tr class="separator:a19aaf012161f62da7b7c26fe03aafe79"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac04f8abc0698b5d65081d1253d68aca9"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#ac04f8abc0698b5d65081d1253d68aca9">any</a> () const noexcept</td></tr> <tr class="separator:ac04f8abc0698b5d65081d1253d68aca9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad4633f8abd7e24be8f0315dff4a0882c"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#ad4633f8abd7e24be8f0315dff4a0882c">count</a> () const noexcept</td></tr> <tr class="separator:ad4633f8abd7e24be8f0315dff4a0882c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a74c7d5b72d4bdc578f796f6f382b7b76"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#a74c7d5b72d4bdc578f796f6f382b7b76">flip</a> () noexcept</td></tr> <tr class="separator:a74c7d5b72d4bdc578f796f6f382b7b76"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac1664aa3a88a766504c14fa38c824522"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#ac1664aa3a88a766504c14fa38c824522">flip</a> (size_t __position)</td></tr> <tr class="separator:ac1664aa3a88a766504c14fa38c824522"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a55acf106c98106e68dfb1e475176624b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#a55acf106c98106e68dfb1e475176624b">none</a> () const noexcept</td></tr> <tr class="separator:a55acf106c98106e68dfb1e475176624b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2cdeed3169c5dbfd617f68bbef6457ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#a2cdeed3169c5dbfd617f68bbef6457ee">operator~</a> () const noexcept</td></tr> <tr class="separator:a2cdeed3169c5dbfd617f68bbef6457ee"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a74ba5bc37dd7a687b8f05883e076f3bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#a74ba5bc37dd7a687b8f05883e076f3bd">reset</a> () noexcept</td></tr> <tr class="separator:a74ba5bc37dd7a687b8f05883e076f3bd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af4c2e2cef691e173dca06e743dce31fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#af4c2e2cef691e173dca06e743dce31fa">reset</a> (size_t __position)</td></tr> <tr class="separator:af4c2e2cef691e173dca06e743dce31fa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a11172e92c3d43b0241294f0fabeb176c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#a11172e92c3d43b0241294f0fabeb176c">set</a> () noexcept</td></tr> <tr class="separator:a11172e92c3d43b0241294f0fabeb176c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8e5de5f2693d0f873982c7e7435ecdb8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#a8e5de5f2693d0f873982c7e7435ecdb8">set</a> (size_t __position, bool __val=true)</td></tr> <tr class="separator:a8e5de5f2693d0f873982c7e7435ecdb8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acae6b747171db72a7f5b80f698972874"><td class="memItemLeft" align="right" valign="top">constexpr size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#acae6b747171db72a7f5b80f698972874">size</a> () const noexcept</td></tr> <tr class="separator:acae6b747171db72a7f5b80f698972874"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abb1381e9fd6c77312c8a18b2089b5e96"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#abb1381e9fd6c77312c8a18b2089b5e96">test</a> (size_t __position) const</td></tr> <tr class="separator:abb1381e9fd6c77312c8a18b2089b5e96"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a14f4372623ade9d8dde70d1012d647e1"><td class="memTemplParams" colspan="2">template<class _CharT , class _Traits , class _Alloc > </td></tr> <tr class="memitem:a14f4372623ade9d8dde70d1012d647e1"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a04768.html">std::basic_string</a>< _CharT, _Traits, _Alloc > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01812.html#a14f4372623ade9d8dde70d1012d647e1">to_string</a> () const</td></tr> <tr class="separator:a14f4372623ade9d8dde70d1012d647e1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a47afba3d9cbabd97dcdb102246eaed1c"><td class="memTemplParams" colspan="2"><a id="a47afba3d9cbabd97dcdb102246eaed1c"></a> template<class _CharT , class _Traits , class _Alloc > </td></tr> <tr class="memitem:a47afba3d9cbabd97dcdb102246eaed1c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a04768.html">std::basic_string</a>< _CharT, _Traits, _Alloc > </td><td class="memTemplItemRight" valign="bottom"><b>to_string</b> (_CharT __zero, _CharT __one=_CharT('1')) const</td></tr> <tr class="separator:a47afba3d9cbabd97dcdb102246eaed1c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af7f45da6ee15251576547efe57599b4a"><td class="memTemplParams" colspan="2"><a id="af7f45da6ee15251576547efe57599b4a"></a> template<class _CharT , class _Traits > </td></tr> <tr class="memitem:af7f45da6ee15251576547efe57599b4a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a04768.html">std::basic_string</a>< _CharT, _Traits, <a class="el" href="a04704.html">std::allocator</a>< _CharT > > </td><td class="memTemplItemRight" valign="bottom"><b>to_string</b> () const</td></tr> <tr class="separator:af7f45da6ee15251576547efe57599b4a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad91e1ea3ac9c832f410c98cac3b01078"><td class="memTemplParams" colspan="2"><a id="ad91e1ea3ac9c832f410c98cac3b01078"></a> template<class _CharT , class _Traits > </td></tr> <tr class="memitem:ad91e1ea3ac9c832f410c98cac3b01078"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a04768.html">std::basic_string</a>< _CharT, _Traits, <a class="el" href="a04704.html">std::allocator</a>< _CharT > > </td><td class="memTemplItemRight" valign="bottom"><b>to_string</b> (_CharT __zero, _CharT __one=_CharT('1')) const</td></tr> <tr class="separator:ad91e1ea3ac9c832f410c98cac3b01078"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6e733a045e5108fb681119d78c272862"><td class="memTemplParams" colspan="2"><a id="a6e733a045e5108fb681119d78c272862"></a> template<class _CharT > </td></tr> <tr class="memitem:a6e733a045e5108fb681119d78c272862"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a04768.html">std::basic_string</a>< _CharT, <a class="el" href="a05108.html">std::char_traits</a>< _CharT >, <a class="el" href="a04704.html">std::allocator</a>< _CharT > > </td><td class="memTemplItemRight" valign="bottom"><b>to_string</b> () const</td></tr> <tr class="separator:a6e733a045e5108fb681119d78c272862"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a36e95de0c678c6bb2cfd94f7ff219bd0"><td class="memTemplParams" colspan="2"><a id="a36e95de0c678c6bb2cfd94f7ff219bd0"></a> template<class _CharT > </td></tr> <tr class="memitem:a36e95de0c678c6bb2cfd94f7ff219bd0"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a04768.html">std::basic_string</a>< _CharT, <a class="el" href="a05108.html">std::char_traits</a>< _CharT >, <a class="el" href="a04704.html">std::allocator</a>< _CharT > > </td><td class="memTemplItemRight" valign="bottom"><b>to_string</b> (_CharT __zero, _CharT __one=_CharT('1')) const</td></tr> <tr class="separator:a36e95de0c678c6bb2cfd94f7ff219bd0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9bb7786a6636129070380adb56c0fab7"><td class="memItemLeft" align="right" valign="top"><a id="a9bb7786a6636129070380adb56c0fab7"></a> <a class="el" href="a04768.html">std::basic_string</a>< char, <a class="el" href="a05108.html">std::char_traits</a>< char >, <a class="el" href="a04704.html">std::allocator</a>< char > > </td><td class="memItemRight" valign="bottom"><b>to_string</b> () const</td></tr> <tr class="separator:a9bb7786a6636129070380adb56c0fab7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aeda65d32efebb65dd4e1d0673c628298"><td class="memItemLeft" align="right" valign="top"><a id="aeda65d32efebb65dd4e1d0673c628298"></a> <a class="el" href="a04768.html">std::basic_string</a>< char, <a class="el" href="a05108.html">std::char_traits</a>< char >, <a class="el" href="a04704.html">std::allocator</a>< char > > </td><td class="memItemRight" valign="bottom"><b>to_string</b> (char __zero, char __one='1') const</td></tr> <tr class="separator:aeda65d32efebb65dd4e1d0673c628298"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a149c7c9b5724813617df2e56b97f891b"><td class="memItemLeft" align="right" valign="top"><a id="a149c7c9b5724813617df2e56b97f891b"></a> unsigned long long </td><td class="memItemRight" valign="bottom"><b>to_ullong</b> () const</td></tr> <tr class="separator:a149c7c9b5724813617df2e56b97f891b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac43af07a3a1af8d80529ce525eb08716"><td class="memItemLeft" align="right" valign="top">unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#ac43af07a3a1af8d80529ce525eb08716">to_ulong</a> () const</td></tr> <tr class="separator:ac43af07a3a1af8d80529ce525eb08716"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr class="memitem:ac5587d086529952ee5b2e103359e046b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#ac5587d086529952ee5b2e103359e046b">operator&=</a> (const <a class="el" href="a01812.html">bitset</a>< _Nb > &__rhs) noexcept</td></tr> <tr class="separator:ac5587d086529952ee5b2e103359e046b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a75853927c9ad1aa9548e9eea7fde188c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#a75853927c9ad1aa9548e9eea7fde188c">operator|=</a> (const <a class="el" href="a01812.html">bitset</a>< _Nb > &__rhs) noexcept</td></tr> <tr class="separator:a75853927c9ad1aa9548e9eea7fde188c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa9ac8697d02b2a3bacc58b1fa619b630"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#aa9ac8697d02b2a3bacc58b1fa619b630">operator^=</a> (const <a class="el" href="a01812.html">bitset</a>< _Nb > &__rhs) noexcept</td></tr> <tr class="separator:aa9ac8697d02b2a3bacc58b1fa619b630"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr class="memitem:ac36920b534a80be4cc1e6e80c68d2be5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#ac36920b534a80be4cc1e6e80c68d2be5">operator<<=</a> (size_t __position) noexcept</td></tr> <tr class="separator:ac36920b534a80be4cc1e6e80c68d2be5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac07ef85ee38aa3428883eb50f719cbca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#ac07ef85ee38aa3428883eb50f719cbca">operator>>=</a> (size_t __position) noexcept</td></tr> <tr class="separator:ac07ef85ee38aa3428883eb50f719cbca"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr class="memitem:gab46cfb783c57ffc53976ee861fae1ff4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a01459.html#gab46cfb783c57ffc53976ee861fae1ff4">_Unchecked_set</a> (size_t __pos) noexcept</td></tr> <tr class="separator:gab46cfb783c57ffc53976ee861fae1ff4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf6e22292e9928712291bfdfc899e32fe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a01459.html#gaf6e22292e9928712291bfdfc899e32fe">_Unchecked_set</a> (size_t __pos, int __val) noexcept</td></tr> <tr class="separator:gaf6e22292e9928712291bfdfc899e32fe"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf6f4ee325fdf30171454f70ac153374b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a01459.html#gaf6f4ee325fdf30171454f70ac153374b">_Unchecked_reset</a> (size_t __pos) noexcept</td></tr> <tr class="separator:gaf6f4ee325fdf30171454f70ac153374b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3ae4b2fca495c3dc883f9e05ea618538"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a01459.html#ga3ae4b2fca495c3dc883f9e05ea618538">_Unchecked_flip</a> (size_t __pos) noexcept</td></tr> <tr class="separator:ga3ae4b2fca495c3dc883f9e05ea618538"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga937a54ac511a8847838de564dbe17e39"><td class="memItemLeft" align="right" valign="top">constexpr bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a01459.html#ga937a54ac511a8847838de564dbe17e39">_Unchecked_test</a> (size_t __pos) const noexcept</td></tr> <tr class="separator:ga937a54ac511a8847838de564dbe17e39"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr class="memitem:a03ad7ade15b93f22b17648d53ba20062"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01816.html">reference</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#a03ad7ade15b93f22b17648d53ba20062">operator[]</a> (size_t __position)</td></tr> <tr class="separator:a03ad7ade15b93f22b17648d53ba20062"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afa6b9908b9752384b42da517a3ae3d8c"><td class="memItemLeft" align="right" valign="top">constexpr bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#afa6b9908b9752384b42da517a3ae3d8c">operator[]</a> (size_t __position) const</td></tr> <tr class="separator:afa6b9908b9752384b42da517a3ae3d8c"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr class="memitem:affef282a5c1dde27d67a3ad667936c17"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#affef282a5c1dde27d67a3ad667936c17">operator==</a> (const <a class="el" href="a01812.html">bitset</a>< _Nb > &__rhs) const noexcept</td></tr> <tr class="separator:affef282a5c1dde27d67a3ad667936c17"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa69e1223ce6dc3f69fd44cc331bb170e"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#aa69e1223ce6dc3f69fd44cc331bb170e">operator!=</a> (const <a class="el" href="a01812.html">bitset</a>< _Nb > &__rhs) const noexcept</td></tr> <tr class="separator:aa69e1223ce6dc3f69fd44cc331bb170e"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr class="memitem:a725f2ea3af449e1e3286300e694d863d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#a725f2ea3af449e1e3286300e694d863d">operator<<</a> (size_t __position) const noexcept</td></tr> <tr class="separator:a725f2ea3af449e1e3286300e694d863d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aeba729a09e2f6c19b000476fa7eb0fcd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01812.html">bitset</a>< _Nb > </td><td class="memItemRight" valign="bottom"><a class="el" href="a01812.html#aeba729a09e2f6c19b000476fa7eb0fcd">operator>></a> (size_t __position) const noexcept</td></tr> <tr class="separator:aeba729a09e2f6c19b000476fa7eb0fcd"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a> Private Member Functions</h2></td></tr> <tr class="memitem:ac56d52b3acb9008dfe14c61077ca6e92"><td class="memItemLeft" align="right" valign="top"><a id="ac56d52b3acb9008dfe14c61077ca6e92"></a> bool </td><td class="memItemRight" valign="bottom"><b>_M_are_all</b> () const noexcept</td></tr> <tr class="separator:ac56d52b3acb9008dfe14c61077ca6e92"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a60e507d6f92b2e12a35665b38231a026"><td class="memItemLeft" align="right" valign="top"><a id="a60e507d6f92b2e12a35665b38231a026"></a> void </td><td class="memItemRight" valign="bottom"><b>_M_do_and</b> (const <a class="el" href="a01784.html">_Base_bitset</a>< _Nw > &__x) noexcept</td></tr> <tr class="separator:a60e507d6f92b2e12a35665b38231a026"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a31517d9bc14d120663872906f1937ffe"><td class="memItemLeft" align="right" valign="top"><a id="a31517d9bc14d120663872906f1937ffe"></a> size_t </td><td class="memItemRight" valign="bottom"><b>_M_do_count</b> () const noexcept</td></tr> <tr class="separator:a31517d9bc14d120663872906f1937ffe"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a193d57905885f056149534237d775a84"><td class="memItemLeft" align="right" valign="top"><a id="a193d57905885f056149534237d775a84"></a> size_t </td><td class="memItemRight" valign="bottom"><b>_M_do_find_first</b> (size_t) const noexcept</td></tr> <tr class="separator:a193d57905885f056149534237d775a84"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6b58fe0ec25f8304130556852ea5f862"><td class="memItemLeft" align="right" valign="top"><a id="a6b58fe0ec25f8304130556852ea5f862"></a> size_t </td><td class="memItemRight" valign="bottom"><b>_M_do_find_next</b> (size_t, size_t) const noexcept</td></tr> <tr class="separator:a6b58fe0ec25f8304130556852ea5f862"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9f666edefc1ab050efd052ac60c552bc"><td class="memItemLeft" align="right" valign="top"><a id="a9f666edefc1ab050efd052ac60c552bc"></a> void </td><td class="memItemRight" valign="bottom"><b>_M_do_flip</b> () noexcept</td></tr> <tr class="separator:a9f666edefc1ab050efd052ac60c552bc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0b829e219febaed247f4297c2c589bd5"><td class="memItemLeft" align="right" valign="top"><a id="a0b829e219febaed247f4297c2c589bd5"></a> void </td><td class="memItemRight" valign="bottom"><b>_M_do_left_shift</b> (size_t __shift) noexcept</td></tr> <tr class="separator:a0b829e219febaed247f4297c2c589bd5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa31c9876d5eab9a23b40cf0254d98bd6"><td class="memItemLeft" align="right" valign="top"><a id="aa31c9876d5eab9a23b40cf0254d98bd6"></a> void </td><td class="memItemRight" valign="bottom"><b>_M_do_or</b> (const <a class="el" href="a01784.html">_Base_bitset</a>< _Nw > &__x) noexcept</td></tr> <tr class="separator:aa31c9876d5eab9a23b40cf0254d98bd6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae945476598b118004866580f5ad969f5"><td class="memItemLeft" align="right" valign="top"><a id="ae945476598b118004866580f5ad969f5"></a> void </td><td class="memItemRight" valign="bottom"><b>_M_do_reset</b> () noexcept</td></tr> <tr class="separator:ae945476598b118004866580f5ad969f5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3d359fbaa41ed18871d73c4d44d7f4fa"><td class="memItemLeft" align="right" valign="top"><a id="a3d359fbaa41ed18871d73c4d44d7f4fa"></a> void </td><td class="memItemRight" valign="bottom"><b>_M_do_right_shift</b> (size_t __shift) noexcept</td></tr> <tr class="separator:a3d359fbaa41ed18871d73c4d44d7f4fa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae4a9af46584442f2fba289e6d3525a4e"><td class="memItemLeft" align="right" valign="top"><a id="ae4a9af46584442f2fba289e6d3525a4e"></a> void </td><td class="memItemRight" valign="bottom"><b>_M_do_set</b> () noexcept</td></tr> <tr class="separator:ae4a9af46584442f2fba289e6d3525a4e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a293775cd8717435f08c06cdcfe207708"><td class="memItemLeft" align="right" valign="top"><a id="a293775cd8717435f08c06cdcfe207708"></a> unsigned long long </td><td class="memItemRight" valign="bottom"><b>_M_do_to_ullong</b> () const</td></tr> <tr class="separator:a293775cd8717435f08c06cdcfe207708"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a198077d3dac093f7d5c24e0acbf9b664"><td class="memItemLeft" align="right" valign="top"><a id="a198077d3dac093f7d5c24e0acbf9b664"></a> unsigned long </td><td class="memItemRight" valign="bottom"><b>_M_do_to_ulong</b> () const</td></tr> <tr class="separator:a198077d3dac093f7d5c24e0acbf9b664"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab7e016e92bc198c6db6b60bb7928f2fa"><td class="memItemLeft" align="right" valign="top"><a id="ab7e016e92bc198c6db6b60bb7928f2fa"></a> void </td><td class="memItemRight" valign="bottom"><b>_M_do_xor</b> (const <a class="el" href="a01784.html">_Base_bitset</a>< _Nw > &__x) noexcept</td></tr> <tr class="separator:ab7e016e92bc198c6db6b60bb7928f2fa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2484da5e938673c62d9f926b8f27eb32"><td class="memItemLeft" align="right" valign="top"><a id="a2484da5e938673c62d9f926b8f27eb32"></a> const _WordT * </td><td class="memItemRight" valign="bottom"><b>_M_getdata</b> () const noexcept</td></tr> <tr class="separator:a2484da5e938673c62d9f926b8f27eb32"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1b58fb12d50e77d75caf2cfab19b039f"><td class="memItemLeft" align="right" valign="top"><a id="a1b58fb12d50e77d75caf2cfab19b039f"></a> _WordT & </td><td class="memItemRight" valign="bottom"><b>_M_getword</b> (size_t __pos) noexcept</td></tr> <tr class="separator:a1b58fb12d50e77d75caf2cfab19b039f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af5915165ce31cf77f814d3228c882edf"><td class="memItemLeft" align="right" valign="top"><a id="af5915165ce31cf77f814d3228c882edf"></a> constexpr _WordT </td><td class="memItemRight" valign="bottom"><b>_M_getword</b> (size_t __pos) const noexcept</td></tr> <tr class="separator:af5915165ce31cf77f814d3228c882edf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9f77725d21acff52854807ab812ef4fb"><td class="memItemLeft" align="right" valign="top"><a id="a9f77725d21acff52854807ab812ef4fb"></a> _WordT & </td><td class="memItemRight" valign="bottom"><b>_M_hiword</b> () noexcept</td></tr> <tr class="separator:a9f77725d21acff52854807ab812ef4fb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1197b01a48d5c8f3845e1854981f12f5"><td class="memItemLeft" align="right" valign="top"><a id="a1197b01a48d5c8f3845e1854981f12f5"></a> constexpr _WordT </td><td class="memItemRight" valign="bottom"><b>_M_hiword</b> () const noexcept</td></tr> <tr class="separator:a1197b01a48d5c8f3845e1854981f12f5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aee248e07da22c787205e663dc1a6bbb0"><td class="memItemLeft" align="right" valign="top"><a id="aee248e07da22c787205e663dc1a6bbb0"></a> bool </td><td class="memItemRight" valign="bottom"><b>_M_is_any</b> () const noexcept</td></tr> <tr class="separator:aee248e07da22c787205e663dc1a6bbb0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6681b3d32a05f9fdd76bd19d254719ae"><td class="memItemLeft" align="right" valign="top"><a id="a6681b3d32a05f9fdd76bd19d254719ae"></a> bool </td><td class="memItemRight" valign="bottom"><b>_M_is_equal</b> (const <a class="el" href="a01784.html">_Base_bitset</a>< _Nw > &__x) const noexcept</td></tr> <tr class="separator:a6681b3d32a05f9fdd76bd19d254719ae"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-methods"></a> Static Private Member Functions</h2></td></tr> <tr class="memitem:a7d25d04085b9fa88caee1a0ef0858962"><td class="memItemLeft" align="right" valign="top"><a id="a7d25d04085b9fa88caee1a0ef0858962"></a> static constexpr _WordT </td><td class="memItemRight" valign="bottom"><b>_S_maskbit</b> (size_t __pos) noexcept</td></tr> <tr class="separator:a7d25d04085b9fa88caee1a0ef0858962"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2e29540b0d2f564355edcc71a7ceda7d"><td class="memItemLeft" align="right" valign="top"><a id="a2e29540b0d2f564355edcc71a7ceda7d"></a> static constexpr size_t </td><td class="memItemRight" valign="bottom"><b>_S_whichbit</b> (size_t __pos) noexcept</td></tr> <tr class="separator:a2e29540b0d2f564355edcc71a7ceda7d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af4da14f62c545446ade01c35fba7e780"><td class="memItemLeft" align="right" valign="top"><a id="af4da14f62c545446ade01c35fba7e780"></a> static constexpr size_t </td><td class="memItemRight" valign="bottom"><b>_S_whichbyte</b> (size_t __pos) noexcept</td></tr> <tr class="separator:af4da14f62c545446ade01c35fba7e780"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab5da80f8933e30a870706923d19e021d"><td class="memItemLeft" align="right" valign="top"><a id="ab5da80f8933e30a870706923d19e021d"></a> static constexpr size_t </td><td class="memItemRight" valign="bottom"><b>_S_whichword</b> (size_t __pos) noexcept</td></tr> <tr class="separator:ab5da80f8933e30a870706923d19e021d"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a> Private Attributes</h2></td></tr> <tr class="memitem:a935cf17f91719fcd39d284151064f170"><td class="memItemLeft" align="right" valign="top">_WordT </td><td class="memItemRight" valign="bottom"><a class="el" href="a01784.html#a935cf17f91719fcd39d284151064f170">_M_w</a> [_Nw]</td></tr> <tr class="separator:a935cf17f91719fcd39d284151064f170"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a> Friends</h2></td></tr> <tr class="memitem:a811ee22ffe70f7ebb2829f620f369cdb"><td class="memItemLeft" align="right" valign="top"><a id="a811ee22ffe70f7ebb2829f620f369cdb"></a> class </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr> <tr class="separator:a811ee22ffe70f7ebb2829f620f369cdb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adfa439b5b51cdcbfd779e7b17b14993c"><td class="memItemLeft" align="right" valign="top"><a id="adfa439b5b51cdcbfd779e7b17b14993c"></a> struct </td><td class="memItemRight" valign="bottom"><b>std::hash< bitset ></b></td></tr> <tr class="separator:adfa439b5b51cdcbfd779e7b17b14993c"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><h3>template<size_t _Nb><br /> class std::bitset< _Nb ></h3> <p>The bitset class represents a <em>fixed-size</em> sequence of bits.</p> <p>(Note that bitset does <em>not</em> meet the formal requirements of a <a href="tables.html#65">container</a>. Mainly, it lacks iterators.) </p> <p>The template argument, <em>Nb</em>, may be any non-negative number, specifying the number of bits (e.g., "0", "12", "1024*1024").</p> <p>In the general unoptimized case, storage is allocated in word-sized blocks. Let B be the number of bits in a word, then (Nb+(B-1))/B words will be used for storage. B - NbB bits are unused. (They are the high-order bits in the highest word.) It is a class invariant that those unused bits are always zero.</p> <p>If you think of bitset as <em>a simple array of bits</em>, be aware that your mental picture is reversed: a bitset behaves the same way as bits in integers do, with the bit at index 0 in the <em>least significant / right-hand</em> position, and the bit at index Nb-1 in the <em>most significant / left-hand</em> position. Thus, unlike other containers, a bitset's index <em>counts from right to left</em>, to put it very loosely.</p> <p>This behavior is preserved when translating to and from strings. For example, the first line of the following program probably prints <em>b('a') is 0001100001</em> on a modern ASCII system.</p> <div class="fragment"><div class="line"><span class="preprocessor">#include <bitset></span></div><div class="line"><span class="preprocessor">#include <<a class="code" href="a00086.html">iostream</a>></span></div><div class="line"><span class="preprocessor">#include <<a class="code" href="a00140.html">sstream</a>></span></div><div class="line"></div><div class="line"><span class="keyword">using namespace </span><a class="code" href="a01538.html">std</a>;</div><div class="line"></div><div class="line"><span class="keywordtype">int</span> main()</div><div class="line">{</div><div class="line"> <span class="keywordtype">long</span> a = <span class="charliteral">'a'</span>;</div><div class="line"> <a class="code" href="a01812.html">bitset<10></a> b(a);</div><div class="line"></div><div class="line"> <a class="code" href="a01538.html#aaf93fdf0812752e0e02c501dea1b38f0">cout</a> << <span class="stringliteral">"b('a') is "</span> << b << <a class="code" href="a01538.html#a8b3758bb8f17c440c7963363f42f69f3">endl</a>;</div><div class="line"></div><div class="line"> <a class="code" href="a02476.html">ostringstream</a> s;</div><div class="line"> s << b;</div><div class="line"> <span class="keywordtype">string</span> str = s.<a class="code" href="a02476.html#a5fe89030a53e674de2823d9a8cfec39c">str</a>();</div><div class="line"> <a class="code" href="a01538.html#aaf93fdf0812752e0e02c501dea1b38f0">cout</a> << <span class="stringliteral">"index 3 in the string is "</span> << str[3] << <span class="stringliteral">" but\n"</span></div><div class="line"> << <span class="stringliteral">"index 3 in the bitset is "</span> << b[3] << <a class="code" href="a01538.html#a8b3758bb8f17c440c7963363f42f69f3">endl</a>;</div><div class="line">}</div></div><!-- fragment --><p>Also see: <a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/ext_containers.html">https://gcc.gnu.org/onlinedocs/libstdc++/manual/ext_containers.html</a> for a description of extensions.</p> <p>Most of the actual code isn't contained in bitset<> itself, but in the base class _Base_bitset. The base class works with whole words, not with individual bits. This allows us to specialize _Base_bitset for the important special case where the bitset is only a single word.</p> <p>Extra confusion can result due to the fact that the storage for _Base_bitset <em>is</em> a regular array, and is indexed as such. This is carefully encapsulated. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l00751">751</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a id="a5151bbfc506a4e67b62aad88858087bf"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5151bbfc506a4e67b62aad88858087bf">◆ </a></span>bitset() <span class="overload">[1/5]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr <a class="el" href="a01812.html">std::bitset</a>< _Nb >::<a class="el" href="a01812.html">bitset</a> </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>All bits set to zero. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l00865">865</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="ac9ff38d14bbdb04b227c153e599ea2a3"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac9ff38d14bbdb04b227c153e599ea2a3">◆ </a></span>bitset() <span class="overload">[2/5]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr <a class="el" href="a01812.html">std::bitset</a>< _Nb >::<a class="el" href="a01812.html">bitset</a> </td> <td>(</td> <td class="paramtype">unsigned long long </td> <td class="paramname"><em>__val</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Initial bits bitwise-copied from a single word (others set to zero). </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l00870">870</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="a8d5bd427a29860ac451ffe8a8d4ad40e"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8d5bd427a29860ac451ffe8a8d4ad40e">◆ </a></span>bitset() <span class="overload">[3/5]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <div class="memtemplate"> template<class _CharT , class _Traits , class _Alloc > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">std::bitset</a>< _Nb >::<a class="el" href="a01812.html">bitset</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="a04768.html">std::basic_string</a>< _CharT, _Traits, _Alloc > & </td> <td class="paramname"><em>__s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>__position</em> = <code>0</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Use a subset of a string. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__s</td><td>A string of <em>0</em> and <em>1</em> characters. </td></tr> <tr><td class="paramname">__position</td><td>Index of the first character in <em>__s</em> to use; defaults to zero. </td></tr> </table> </dd> </dl> <dl class="exception"><dt>Exceptions</dt><dd> <table class="exception"> <tr><td class="paramname">std::out_of_range</td><td>If <em>pos</em> is bigger the size of <em>__s</em>. </td></tr> <tr><td class="paramname">std::invalid_argument</td><td>If a character appears in the string which is neither <em>0</em> nor <em>1</em>. </td></tr> </table> </dd> </dl> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l00889">889</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="aad1e618ff42ed7383899856a0c0043f4"></a> <h2 class="memtitle"><span class="permalink"><a href="#aad1e618ff42ed7383899856a0c0043f4">◆ </a></span>bitset() <span class="overload">[4/5]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <div class="memtemplate"> template<class _CharT , class _Traits , class _Alloc > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">std::bitset</a>< _Nb >::<a class="el" href="a01812.html">bitset</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="a04768.html">std::basic_string</a>< _CharT, _Traits, _Alloc > & </td> <td class="paramname"><em>__s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>__position</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>__n</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Use a subset of a string. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__s</td><td>A string of <em>0</em> and <em>1</em> characters. </td></tr> <tr><td class="paramname">__position</td><td>Index of the first character in <em>__s</em> to use. </td></tr> <tr><td class="paramname">__n</td><td>The number of characters to copy. </td></tr> </table> </dd> </dl> <dl class="exception"><dt>Exceptions</dt><dd> <table class="exception"> <tr><td class="paramname">std::out_of_range</td><td>If <em>__position</em> is bigger the size of <em>__s</em>. </td></tr> <tr><td class="paramname">std::invalid_argument</td><td>If a character appears in the string which is neither <em>0</em> nor <em>1</em>. </td></tr> </table> </dd> </dl> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l00910">910</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="a68b8f8604acc020e65bec91099f31eb3"></a> <h2 class="memtitle"><span class="permalink"><a href="#a68b8f8604acc020e65bec91099f31eb3">◆ </a></span>bitset() <span class="overload">[5/5]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <div class="memtemplate"> template<typename _CharT > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">std::bitset</a>< _Nb >::<a class="el" href="a01812.html">bitset</a> </td> <td>(</td> <td class="paramtype">const _CharT * </td> <td class="paramname"><em>__str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">typename <a class="el" href="a04768.html">std::basic_string</a>< _CharT >::size_type </td> <td class="paramname"><em>__n</em> = <code><a class="el" href="a04768.html">std::basic_string</a><_CharT>::npos</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">_CharT </td> <td class="paramname"><em>__zero</em> = <code>_CharT('0')</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">_CharT </td> <td class="paramname"><em>__one</em> = <code>_CharT('1')</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Construct from a character array. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__str</td><td>An array of characters <em>zero</em> and <em>one</em>. </td></tr> <tr><td class="paramname">__n</td><td>The number of characters to use. </td></tr> <tr><td class="paramname">__zero</td><td>The character corresponding to the value 0. </td></tr> <tr><td class="paramname">__one</td><td>The character corresponding to the value 1. </td></tr> </table> </dd> </dl> <dl class="exception"><dt>Exceptions</dt><dd> <table class="exception"> <tr><td class="paramname">std::invalid_argument</td><td>If a character appears in the string which is neither <em>__zero</em> nor <em>__one</em>. </td></tr> </table> </dd> </dl> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l00942">942</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a id="a19aaf012161f62da7b7c26fe03aafe79"></a> <h2 class="memtitle"><span class="permalink"><a href="#a19aaf012161f62da7b7c26fe03aafe79">◆ </a></span>all()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="a01812.html">std::bitset</a>< _Nb >::all </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Tests whether all the bits are on. </p> <dl class="section return"><dt>Returns</dt><dd>True if all the bits are set. </dd></dl> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01330">1330</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="ac04f8abc0698b5d65081d1253d68aca9"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac04f8abc0698b5d65081d1253d68aca9">◆ </a></span>any()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="a01812.html">std::bitset</a>< _Nb >::any </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Tests whether any of the bits are on. </p> <dl class="section return"><dt>Returns</dt><dd>True if at least one bit is set. </dd></dl> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01338">1338</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="ad4633f8abd7e24be8f0315dff4a0882c"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad4633f8abd7e24be8f0315dff4a0882c">◆ </a></span>count()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">size_t <a class="el" href="a01812.html">std::bitset</a>< _Nb >::count </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns the number of bits which are set. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01291">1291</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="a74c7d5b72d4bdc578f796f6f382b7b76"></a> <h2 class="memtitle"><span class="permalink"><a href="#a74c7d5b72d4bdc578f796f6f382b7b76">◆ </a></span>flip() <span class="overload">[1/2]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">bitset</a><_Nb>& <a class="el" href="a01812.html">std::bitset</a>< _Nb >::flip </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Toggles every bit to its opposite value. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01119">1119</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> <p class="reference">Referenced by <a class="el" href="a00047_source.html#l01140">std::bitset< _Nb >::operator~()</a>.</p> </div> </div> <a id="ac1664aa3a88a766504c14fa38c824522"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac1664aa3a88a766504c14fa38c824522">◆ </a></span>flip() <span class="overload">[2/2]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">bitset</a><_Nb>& <a class="el" href="a01812.html">std::bitset</a>< _Nb >::flip </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>__position</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Toggles a given bit to its opposite value. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__position</td><td>The index of the bit. </td></tr> </table> </dd> </dl> <dl class="exception"><dt>Exceptions</dt><dd> <table class="exception"> <tr><td class="paramname">std::out_of_range</td><td>If <em>pos</em> is bigger the size of the set. </td></tr> </table> </dd> </dl> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01132">1132</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="a55acf106c98106e68dfb1e475176624b"></a> <h2 class="memtitle"><span class="permalink"><a href="#a55acf106c98106e68dfb1e475176624b">◆ </a></span>none()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="a01812.html">std::bitset</a>< _Nb >::none </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Tests whether any of the bits are on. </p> <dl class="section return"><dt>Returns</dt><dd>True if none of the bits are set. </dd></dl> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01346">1346</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="aa69e1223ce6dc3f69fd44cc331bb170e"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa69e1223ce6dc3f69fd44cc331bb170e">◆ </a></span>operator!=()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="a01812.html">std::bitset</a>< _Nb >::operator!= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a01812.html">bitset</a>< _Nb > & </td> <td class="paramname"><em>__rhs</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>These comparisons for equality/inequality are, well, <em>bitwise</em>. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01306">1306</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="ac5587d086529952ee5b2e103359e046b"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac5587d086529952ee5b2e103359e046b">◆ </a></span>operator&=()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">bitset</a><_Nb>& <a class="el" href="a01812.html">std::bitset</a>< _Nb >::operator&= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a01812.html">bitset</a>< _Nb > & </td> <td class="paramname"><em>__rhs</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Operations on bitsets. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__rhs</td><td>A same-sized bitset.</td></tr> </table> </dd> </dl> <p>These should be self-explanatory. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l00968">968</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="a725f2ea3af449e1e3286300e694d863d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a725f2ea3af449e1e3286300e694d863d">◆ </a></span>operator<<()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">bitset</a><_Nb> <a class="el" href="a01812.html">std::bitset</a>< _Nb >::operator<< </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>__position</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Self-explanatory. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01352">1352</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="ac36920b534a80be4cc1e6e80c68d2be5"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac36920b534a80be4cc1e6e80c68d2be5">◆ </a></span>operator<<=()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">bitset</a><_Nb>& <a class="el" href="a01812.html">std::bitset</a>< _Nb >::operator<<= </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>__position</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Operations on bitsets. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__position</td><td>The number of places to shift.</td></tr> </table> </dd> </dl> <p>These should be self-explanatory. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l00997">997</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="affef282a5c1dde27d67a3ad667936c17"></a> <h2 class="memtitle"><span class="permalink"><a href="#affef282a5c1dde27d67a3ad667936c17">◆ </a></span>operator==()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="a01812.html">std::bitset</a>< _Nb >::operator== </td> <td>(</td> <td class="paramtype">const <a class="el" href="a01812.html">bitset</a>< _Nb > & </td> <td class="paramname"><em>__rhs</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>These comparisons for equality/inequality are, well, <em>bitwise</em>. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01302">1302</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="aeba729a09e2f6c19b000476fa7eb0fcd"></a> <h2 class="memtitle"><span class="permalink"><a href="#aeba729a09e2f6c19b000476fa7eb0fcd">◆ </a></span>operator>>()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">bitset</a><_Nb> <a class="el" href="a01812.html">std::bitset</a>< _Nb >::operator>> </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>__position</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Self-explanatory. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01356">1356</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="ac07ef85ee38aa3428883eb50f719cbca"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac07ef85ee38aa3428883eb50f719cbca">◆ </a></span>operator>>=()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">bitset</a><_Nb>& <a class="el" href="a01812.html">std::bitset</a>< _Nb >::operator>>= </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>__position</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Operations on bitsets. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__position</td><td>The number of places to shift.</td></tr> </table> </dd> </dl> <p>These should be self-explanatory. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01010">1010</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="a03ad7ade15b93f22b17648d53ba20062"></a> <h2 class="memtitle"><span class="permalink"><a href="#a03ad7ade15b93f22b17648d53ba20062">◆ </a></span>operator[]() <span class="overload">[1/2]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01816.html">reference</a> <a class="el" href="a01812.html">std::bitset</a>< _Nb >::operator[] </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>__position</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Array-indexing support. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__position</td><td>Index into the bitset. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>A bool for a <em>const bitset</em>. For non-const bitsets, an instance of the reference proxy class. </dd></dl> <dl class="section note"><dt>Note</dt><dd>These operators do no range checking and throw no exceptions, as required by DR 11 to the standard.</dd></dl> <p>_GLIBCXX_RESOLVE_LIB_DEFECTS Note that this implementation already resolves DR 11 (items 1 and 2), but does not do the range-checking required by that DR's resolution. -pme The DR has since been changed: range-checking is a precondition (users' responsibility), and these functions must not throw. -pme </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01159">1159</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="afa6b9908b9752384b42da517a3ae3d8c"></a> <h2 class="memtitle"><span class="permalink"><a href="#afa6b9908b9752384b42da517a3ae3d8c">◆ </a></span>operator[]() <span class="overload">[2/2]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr bool <a class="el" href="a01812.html">std::bitset</a>< _Nb >::operator[] </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>__position</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Array-indexing support. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__position</td><td>Index into the bitset. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>A bool for a <em>const bitset</em>. For non-const bitsets, an instance of the reference proxy class. </dd></dl> <dl class="section note"><dt>Note</dt><dd>These operators do no range checking and throw no exceptions, as required by DR 11 to the standard.</dd></dl> <p>_GLIBCXX_RESOLVE_LIB_DEFECTS Note that this implementation already resolves DR 11 (items 1 and 2), but does not do the range-checking required by that DR's resolution. -pme The DR has since been changed: range-checking is a precondition (users' responsibility), and these functions must not throw. -pme </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01163">1163</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="aa9ac8697d02b2a3bacc58b1fa619b630"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa9ac8697d02b2a3bacc58b1fa619b630">◆ </a></span>operator^=()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">bitset</a><_Nb>& <a class="el" href="a01812.html">std::bitset</a>< _Nb >::operator^= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a01812.html">bitset</a>< _Nb > & </td> <td class="paramname"><em>__rhs</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Operations on bitsets. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__rhs</td><td>A same-sized bitset.</td></tr> </table> </dd> </dl> <p>These should be self-explanatory. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l00982">982</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="a75853927c9ad1aa9548e9eea7fde188c"></a> <h2 class="memtitle"><span class="permalink"><a href="#a75853927c9ad1aa9548e9eea7fde188c">◆ </a></span>operator|=()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">bitset</a><_Nb>& <a class="el" href="a01812.html">std::bitset</a>< _Nb >::operator|= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a01812.html">bitset</a>< _Nb > & </td> <td class="paramname"><em>__rhs</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Operations on bitsets. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__rhs</td><td>A same-sized bitset.</td></tr> </table> </dd> </dl> <p>These should be self-explanatory. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l00975">975</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="a2cdeed3169c5dbfd617f68bbef6457ee"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2cdeed3169c5dbfd617f68bbef6457ee">◆ </a></span>operator~()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">bitset</a><_Nb> <a class="el" href="a01812.html">std::bitset</a>< _Nb >::operator~ </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>See the no-argument flip(). </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01140">1140</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> <p class="reference">References <a class="el" href="a00047_source.html#l01119">std::bitset< _Nb >::flip()</a>.</p> </div> </div> <a id="a74ba5bc37dd7a687b8f05883e076f3bd"></a> <h2 class="memtitle"><span class="permalink"><a href="#a74ba5bc37dd7a687b8f05883e076f3bd">◆ </a></span>reset() <span class="overload">[1/2]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">bitset</a><_Nb>& <a class="el" href="a01812.html">std::bitset</a>< _Nb >::reset </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Sets every bit to false. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01095">1095</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="af4c2e2cef691e173dca06e743dce31fa"></a> <h2 class="memtitle"><span class="permalink"><a href="#af4c2e2cef691e173dca06e743dce31fa">◆ </a></span>reset() <span class="overload">[2/2]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">bitset</a><_Nb>& <a class="el" href="a01812.html">std::bitset</a>< _Nb >::reset </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>__position</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Sets a given bit to false. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__position</td><td>The index of the bit. </td></tr> </table> </dd> </dl> <dl class="exception"><dt>Exceptions</dt><dd> <table class="exception"> <tr><td class="paramname">std::out_of_range</td><td>If <em>pos</em> is bigger the size of the set.</td></tr> </table> </dd> </dl> <p>Same as writing <code>set(pos,false)</code>. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01109">1109</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="a11172e92c3d43b0241294f0fabeb176c"></a> <h2 class="memtitle"><span class="permalink"><a href="#a11172e92c3d43b0241294f0fabeb176c">◆ </a></span>set() <span class="overload">[1/2]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">bitset</a><_Nb>& <a class="el" href="a01812.html">std::bitset</a>< _Nb >::<a class="el" href="a07736.html">set</a> </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Sets every bit to true. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01071">1071</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="a8e5de5f2693d0f873982c7e7435ecdb8"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8e5de5f2693d0f873982c7e7435ecdb8">◆ </a></span>set() <span class="overload">[2/2]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01812.html">bitset</a><_Nb>& <a class="el" href="a01812.html">std::bitset</a>< _Nb >::<a class="el" href="a07736.html">set</a> </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>__position</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>__val</em> = <code>true</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Sets a given bit to a particular value. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__position</td><td>The index of the bit. </td></tr> <tr><td class="paramname">__val</td><td>Either true or false, defaults to true. </td></tr> </table> </dd> </dl> <dl class="exception"><dt>Exceptions</dt><dd> <table class="exception"> <tr><td class="paramname">std::out_of_range</td><td>If <em>pos</em> is bigger the size of the set. </td></tr> </table> </dd> </dl> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01085">1085</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="acae6b747171db72a7f5b80f698972874"></a> <h2 class="memtitle"><span class="permalink"><a href="#acae6b747171db72a7f5b80f698972874">◆ </a></span>size()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr size_t <a class="el" href="a01812.html">std::bitset</a>< _Nb >::size </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns the total number of bits. </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01296">1296</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="abb1381e9fd6c77312c8a18b2089b5e96"></a> <h2 class="memtitle"><span class="permalink"><a href="#abb1381e9fd6c77312c8a18b2089b5e96">◆ </a></span>test()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="a01812.html">std::bitset</a>< _Nb >::test </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>__position</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Tests the value of a bit. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__position</td><td>The index of a bit. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The value at <em>pos</em>. </dd></dl> <dl class="exception"><dt>Exceptions</dt><dd> <table class="exception"> <tr><td class="paramname">std::out_of_range</td><td>If <em>pos</em> is bigger the size of the set. </td></tr> </table> </dd> </dl> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01317">1317</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="a14f4372623ade9d8dde70d1012d647e1"></a> <h2 class="memtitle"><span class="permalink"><a href="#a14f4372623ade9d8dde70d1012d647e1">◆ </a></span>to_string()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <div class="memtemplate"> template<class _CharT , class _Traits , class _Alloc > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a04768.html">std::basic_string</a><_CharT, _Traits, _Alloc> <a class="el" href="a01812.html">std::bitset</a>< _Nb >::to_string </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns a character interpretation of the bitset. </p> <dl class="section return"><dt>Returns</dt><dd>The string equivalent of the bits.</dd></dl> <p>Note the ordering of the bits: decreasing character positions correspond to increasing bit positions (see the main class notes for an example). </p> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01193">1193</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <a id="ac43af07a3a1af8d80529ce525eb08716"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac43af07a3a1af8d80529ce525eb08716">◆ </a></span>to_ulong()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t _Nb> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">unsigned long <a class="el" href="a01812.html">std::bitset</a>< _Nb >::to_ulong </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns a numerical interpretation of the bitset. </p> <dl class="section return"><dt>Returns</dt><dd>The integral equivalent of the bits. </dd></dl> <dl class="exception"><dt>Exceptions</dt><dd> <table class="exception"> <tr><td class="paramname">std::overflow_error</td><td>If there are too many bits to be represented in an <code>unsigned</code> <code>long</code>. </td></tr> </table> </dd> </dl> <p class="definition">Definition at line <a class="el" href="a00047_source.html#l01174">1174</a> of file <a class="el" href="a00047_source.html">bitset</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="a00047_source.html">bitset</a></li> </ul> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="a01538.html">std</a></li><li class="navelem"><a class="el" href="a01812.html">bitset</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li> </ul> </div> </body> </html>