Sophie

Sophie

distrib > Mageia > 4 > i586 > by-pkgid > 28b9e36e96ce34b2567ae5b47a27b2c5 > files > 534

python-qt4-doc-4.10.3-3.mga4.noarch.rpm

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html><head><title>QBitArray Class Reference</title><style>h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
td.postheader { font-family: sans-serif }
tr.address { font-family: sans-serif }
body { background: #ffffff; color: black; }
</style></head><body><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr /><td align="left" valign="top" width="32"><img align="left" border="0" height="32" src="images/rb-logo.png" width="32" /></td><td width="1">&#160;&#160;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&#160;&#183; <a href="classes.html"><font color="#004faf">All Classes</font></a>&#160;&#183; <a href="modules.html"><font color="#004faf">Modules</font></a></td></table><h1 align="center">QBitArray Class Reference<br /><sup><sup>[<a href="qtcore.html">QtCore</a> module]</sup></sup></h1><p>The QBitArray class provides an array of bits. <a href="#details">More...</a></p>

<h3>Methods</h3><ul><li><div class="fn" /><b><a href="qbitarray.html#QBitArray">__init__</a></b> (<i>self</i>)</li><li><div class="fn" /><b><a href="qbitarray.html#QBitArray-2">__init__</a></b> (<i>self</i>, int&#160;<i>size</i>, bool&#160;<i>value</i>&#160;=&#160;False)</li><li><div class="fn" /><b><a href="qbitarray.html#QBitArray-3">__init__</a></b> (<i>self</i>, QBitArray&#160;<i>other</i>)</li><li><div class="fn" />bool <b><a href="qbitarray.html#at">at</a></b> (<i>self</i>, int&#160;<i>i</i>)</li><li><div class="fn" /><b><a href="qbitarray.html#clear">clear</a></b> (<i>self</i>)</li><li><div class="fn" /><b><a href="qbitarray.html#clearBit">clearBit</a></b> (<i>self</i>, int&#160;<i>i</i>)</li><li><div class="fn" />int <b><a href="qbitarray.html#count">count</a></b> (<i>self</i>)</li><li><div class="fn" />int <b><a href="qbitarray.html#count-2">count</a></b> (<i>self</i>, bool&#160;<i>on</i>)</li><li><div class="fn" /><b><a href="qbitarray.html#detach">detach</a></b> (<i>self</i>)</li><li><div class="fn" /><b><a href="qbitarray.html#fill">fill</a></b> (<i>self</i>, bool&#160;<i>val</i>, int&#160;<i>first</i>, int&#160;<i>last</i>)</li><li><div class="fn" />bool <b><a href="qbitarray.html#fill-2">fill</a></b> (<i>self</i>, bool&#160;<i>value</i>, int&#160;<i>size</i>&#160;=&#160;-1)</li><li><div class="fn" />bool <b><a href="qbitarray.html#isDetached">isDetached</a></b> (<i>self</i>)</li><li><div class="fn" />bool <b><a href="qbitarray.html#isEmpty">isEmpty</a></b> (<i>self</i>)</li><li><div class="fn" />bool <b><a href="qbitarray.html#isNull">isNull</a></b> (<i>self</i>)</li><li><div class="fn" /><b><a href="qbitarray.html#resize">resize</a></b> (<i>self</i>, int&#160;<i>size</i>)</li><li><div class="fn" /><b><a href="qbitarray.html#setBit">setBit</a></b> (<i>self</i>, int&#160;<i>i</i>)</li><li><div class="fn" /><b><a href="qbitarray.html#setBit-2">setBit</a></b> (<i>self</i>, int&#160;<i>i</i>, bool&#160;<i>val</i>)</li><li><div class="fn" />int <b><a href="qbitarray.html#size">size</a></b> (<i>self</i>)</li><li><div class="fn" /><b><a href="qbitarray.html#swap">swap</a></b> (<i>self</i>, QBitArray&#160;<i>other</i>)</li><li><div class="fn" />bool <b><a href="qbitarray.html#testBit">testBit</a></b> (<i>self</i>, int&#160;<i>i</i>)</li><li><div class="fn" />bool <b><a href="qbitarray.html#toggleBit">toggleBit</a></b> (<i>self</i>, int&#160;<i>i</i>)</li><li><div class="fn" /><b><a href="qbitarray.html#truncate">truncate</a></b> (<i>self</i>, int&#160;<i>pos</i>)</li></ul><h3>Special Methods</h3><ul><li><div class="fn" />QBitArray <b><a href="qbitarray.html#__and__">__and__</a></b> (<i>self</i>, QBitArray)</li><li><div class="fn" />bool <b><a href="qbitarray.html#__eq__">__eq__</a></b> (<i>self</i>, QBitArray&#160;<i>a</i>)</li><li><div class="fn" />bool <b><a href="qbitarray.html#__getitem__">__getitem__</a></b> (<i>self</i>, int&#160;<i>i</i>)</li><li><div class="fn" />int <b><a href="qbitarray.html#__hash__">__hash__</a></b> (<i>self</i>)</li><li><div class="fn" />QBitArray <b><a href="qbitarray.html#__iand__">__iand__</a></b> (<i>self</i>, QBitArray)</li><li><div class="fn" />QBitArray <b><a href="qbitarray.html#__invert__">__invert__</a></b> (<i>self</i>)</li><li><div class="fn" />QBitArray <b><a href="qbitarray.html#__ior__">__ior__</a></b> (<i>self</i>, QBitArray)</li><li><div class="fn" />QBitArray <b><a href="qbitarray.html#__ixor__">__ixor__</a></b> (<i>self</i>, QBitArray)</li><li><div class="fn" /> <b><a href="qbitarray.html#__len__">__len__</a></b> (<i>self</i>)</li><li><div class="fn" />bool <b><a href="qbitarray.html#__ne__">__ne__</a></b> (<i>self</i>, QBitArray&#160;<i>a</i>)</li><li><div class="fn" />QBitArray <b><a href="qbitarray.html#__or__">__or__</a></b> (<i>self</i>, QBitArray)</li><li><div class="fn" />QBitArray <b><a href="qbitarray.html#__xor__">__xor__</a></b> (<i>self</i>, QBitArray)</li></ul><a name="details" /><hr /><h2>Detailed Description</h2><p>The QBitArray class provides an array of bits.</p>
<p>A QBitArray is an array that gives access to individual bits and
provides operators (<a href="qbitarray.html#operator-and">AND</a>,
<a href="qbitarray.html#operator-7c">OR</a>, <a href="qbitarray.html#operator-5e">XOR</a>, and <a href="qbitarray.html#operator-7e">NOT</a>) that work on entire arrays of
bits. It uses <a href="implicit-sharing.html">implicit sharing</a>
(copy-on-write) to reduce memory usage and to avoid the needless
copying of data.</p>
<p>The following code constructs a QBitArray containing 200 bits
initialized to false (0):</p>
<pre class="cpp">
 <span class="type">QBitArray</span> ba(<span class="number">200</span>);
</pre>
<p>To initialize the bits to true, either pass <tt>true</tt> as
second argument to the constructor, or call <a href="qbitarray.html#fill">fill</a>() later on.</p>
<p>QBitArray uses 0-based indexes, just like C++ arrays. To access
the bit at a particular index position, you can use operator[]().
On non-const bit arrays, operator[]() returns a reference to a bit
that can be used on the left side of an assignment. For
example:</p>
<pre class="cpp">
 <span class="type">QBitArray</span> ba;
 ba<span class="operator">.</span><a href="qbitarray.html#resize">resize</a>(<span class="number">3</span>);
 ba<span class="operator">[</span><span class="number">0</span><span class="operator">]</span> <span class="operator">=</span> <span class="keyword">true</span>;
 ba<span class="operator">[</span><span class="number">1</span><span class="operator">]</span> <span class="operator">=</span> <span class="keyword">false</span>;
 ba<span class="operator">[</span><span class="number">2</span><span class="operator">]</span> <span class="operator">=</span> <span class="keyword">true</span>;
</pre>
<p>For technical reasons, it is more efficient to use <a href="qbitarray.html#testBit">testBit</a>() and <a href="qbitarray.html#setBit">setBit</a>() to access bits in the array
than operator[](). For example:</p>
<pre class="cpp">
 <span class="type">QBitArray</span> ba(<span class="number">3</span>);
 ba<span class="operator">.</span><a href="qbitarray.html#setBit">setBit</a>(<span class="number">0</span><span class="operator">,</span> <span class="keyword">true</span>);
 ba<span class="operator">.</span><a href="qbitarray.html#setBit">setBit</a>(<span class="number">1</span><span class="operator">,</span> <span class="keyword">false</span>);
 ba<span class="operator">.</span><a href="qbitarray.html#setBit">setBit</a>(<span class="number">2</span><span class="operator">,</span> <span class="keyword">true</span>);
</pre>
<p>QBitArray supports <tt>&amp;</tt> (<a href="qbitarray.html#operator-and">AND</a>), <tt>|</tt> (<a href="qbitarray.html#operator-7c">OR</a>), <tt>^</tt> (<a href="qbitarray.html#operator-5e">XOR</a>), <tt>~</tt> (<a href="qbitarray.html#operator-7e">NOT</a>), as well as <tt>&amp;=</tt>,
<tt>|=</tt>, and <tt>^=</tt>. These operators work in the same way
as the built-in C++ bitwise operators of the same name. For
example:</p>
<pre class="cpp">
 <span class="type">QBitArray</span> x(<span class="number">5</span>);
 x<span class="operator">.</span><a href="qbitarray.html#setBit">setBit</a>(<span class="number">3</span><span class="operator">,</span> <span class="keyword">true</span>);
 <span class="comment">// x: [ 0, 0, 0, 1, 0 ]</span>

 <span class="type">QBitArray</span> y(<span class="number">5</span>);
 y<span class="operator">.</span><a href="qbitarray.html#setBit">setBit</a>(<span class="number">4</span><span class="operator">,</span> <span class="keyword">true</span>);
 <span class="comment">// y: [ 0, 0, 0, 0, 1 ]</span>

 x <span class="operator">|</span><span class="operator">=</span> y;
 <span class="comment">// x: [ 0, 0, 0, 1, 1 ]</span>
</pre>
<p>For historical reasons, QBitArray distinguishes between a null
bit array and an empty bit array. A <i>null</i> bit array is a bit
array that is initialized using QBitArray's default constructor. An
<i>empty</i> bit array is any bit array with size 0. A null bit
array is always empty, but an empty bit array isn't necessarily
null:</p>
<pre class="cpp">
 <span class="type">QBitArray</span>()<span class="operator">.</span><a href="qbitarray.html#isNull">isNull</a>();           <span class="comment">// returns true</span>
 <span class="type">QBitArray</span>()<span class="operator">.</span><a href="qbitarray.html#isEmpty">isEmpty</a>();          <span class="comment">// returns true</span>

 <span class="type">QBitArray</span>(<span class="number">0</span>)<span class="operator">.</span><a href="qbitarray.html#isNull">isNull</a>();          <span class="comment">// returns false</span>
 <span class="type">QBitArray</span>(<span class="number">0</span>)<span class="operator">.</span><a href="qbitarray.html#isEmpty">isEmpty</a>();         <span class="comment">// returns true</span>

 <span class="type">QBitArray</span>(<span class="number">3</span>)<span class="operator">.</span><a href="qbitarray.html#isNull">isNull</a>();          <span class="comment">// returns false</span>
 <span class="type">QBitArray</span>(<span class="number">3</span>)<span class="operator">.</span><a href="qbitarray.html#isEmpty">isEmpty</a>();         <span class="comment">// returns false</span>
</pre>
<p>All functions except <a href="qbitarray.html#isNull">isNull</a>() treat null bit arrays the same
as empty bit arrays; for example, <a href="qbitarray.html#QBitArray">QBitArray</a>() compares equal to
QBitArray(0). We recommend that you always use <a href="qbitarray.html#isEmpty">isEmpty</a>() and avoid <a href="qbitarray.html#isNull">isNull</a>().</p>
<hr /><h2>Method Documentation</h2><h3 class="fn"><a name="QBitArray" />QBitArray.__init__ (<i>self</i>)</h3><p>Constructs an empty bit array.</p>
<p><b>See also</b> <a href="qbitarray.html#isEmpty">isEmpty</a>().</p>


<h3 class="fn"><a name="QBitArray-2" />QBitArray.__init__ (<i>self</i>, int&#160;<i>size</i>, bool&#160;<i>value</i>&#160;=&#160;False)</h3><p>Constructs a bit array containing <i>size</i> bits. The bits are
initialized with <i>value</i>, which defaults to false (0).</p>


<h3 class="fn"><a name="QBitArray-3" />QBitArray.__init__ (<i>self</i>, <a href="qbitarray.html">QBitArray</a>&#160;<i>other</i>)</h3><p>Constructs a copy of <i>other</i>.</p>
<p>This operation takes <a href="containers.html#constant-time">constant time</a>, because <a href="qbitarray.html">QBitArray</a> is <a href="implicit-sharing.html#implicitly-shared">implicitly shared</a>.
This makes returning a <a href="qbitarray.html">QBitArray</a> from
a function very fast. If a shared instance is modified, it will be
copied (copy-on-write), and that takes <a href="containers.html#linear-time">linear time</a>.</p>
<p><b>See also</b> <a href="qbitarray.html#operator-eq">operator=</a>().</p>


<h3 class="fn"><a name="at" />bool QBitArray.at (<i>self</i>, int&#160;<i>i</i>)</h3><p>Returns the value of the bit at index position <i>i</i>.</p>
<p><i>i</i> must be a valid index position in the bit array (i.e.,
0 &lt;= <i>i</i> &lt; <a href="qbitarray.html#size">size</a>()).</p>
<p><b>See also</b> <a href="qbitarray.html#operator-5b-5d">operator[]</a>().</p>


<h3 class="fn"><a name="clear" />QBitArray.clear (<i>self</i>)</h3><p>Clears the contents of the bit array and makes it empty.</p>
<p><b>See also</b> <a href="qbitarray.html#resize">resize</a>() and
<a href="qbitarray.html#isEmpty">isEmpty</a>().</p>


<h3 class="fn"><a name="clearBit" />QBitArray.clearBit (<i>self</i>, int&#160;<i>i</i>)</h3><p>Sets the bit at index position <i>i</i> to 0.</p>
<p><i>i</i> must be a valid index position in the bit array (i.e.,
0 &lt;= <i>i</i> &lt; <a href="qbitarray.html#size">size</a>()).</p>
<p><b>See also</b> <a href="qbitarray.html#setBit">setBit</a>() and
<a href="qbitarray.html#toggleBit">toggleBit</a>().</p>


<h3 class="fn"><a name="count" />int QBitArray.count (<i>self</i>)</h3><p>Same as <a href="qbitarray.html#size">size</a>().</p>


<h3 class="fn"><a name="count-2" />int QBitArray.count (<i>self</i>, bool&#160;<i>on</i>)</h3><p>If <i>on</i> is true, this function returns the number of 1-bits
stored in the bit array; otherwise the number of 0-bits is
returned.</p>


<h3 class="fn"><a name="detach" />QBitArray.detach (<i>self</i>)</h3><h3 class="fn"><a name="fill" />QBitArray.fill (<i>self</i>, bool&#160;<i>val</i>, int&#160;<i>first</i>, int&#160;<i>last</i>)</h3><p>Sets every bit in the bit array to <i>value</i>, returning true
if successful; otherwise returns false. If <i>size</i> is different
from -1 (the default), the bit array is resized to <i>size</i>
beforehand.</p>
<p>Example:</p>
<pre class="cpp">
 <span class="type"><a href="qbitarray.html">QBitArray</a></span> ba(<span class="number">8</span>);
 ba<span class="operator">.</span>fill(<span class="keyword">true</span>);
 <span class="comment">// ba: [ 1, 1, 1, 1, 1, 1, 1, 1 ]</span>

 ba<span class="operator">.</span>fill(<span class="keyword">false</span><span class="operator">,</span> <span class="number">2</span>);
 <span class="comment">// ba: [ 0, 0 ]</span>
</pre>
<p><b>See also</b> <a href="qbitarray.html#resize">resize</a>().</p>


<h3 class="fn"><a name="fill-2" />bool QBitArray.fill (<i>self</i>, bool&#160;<i>value</i>, int&#160;<i>size</i>&#160;=&#160;-1)</h3><p>This is an overloaded function.</p>
<p>Sets bits at index positions <i>begin</i> up to and excluding
<i>end</i> to <i>value</i>.</p>
<p><i>begin</i> and <i>end</i> must be a valid index position in
the bit array (i.e., 0 &lt;= <i>begin</i> &lt;= <a href="qbitarray.html#size">size</a>() and 0 &lt;= <i>end</i> &lt;=
<a href="qbitarray.html#size">size</a>()).</p>


<h3 class="fn"><a name="isDetached" />bool QBitArray.isDetached (<i>self</i>)</h3><h3 class="fn"><a name="isEmpty" />bool QBitArray.isEmpty (<i>self</i>)</h3><p>Returns true if this bit array has size 0; otherwise returns
false.</p>
<p><b>See also</b> <a href="qbitarray.html#size">size</a>().</p>


<h3 class="fn"><a name="isNull" />bool QBitArray.isNull (<i>self</i>)</h3><p>Returns true if this bit array is null; otherwise returns
false.</p>
<p>Example:</p>
<pre class="cpp">
 <span class="type"><a href="qbitarray.html">QBitArray</a></span>()<span class="operator">.</span>isNull();           <span class="comment">// returns true</span>
 <span class="type"><a href="qbitarray.html">QBitArray</a></span>(<span class="number">0</span>)<span class="operator">.</span>isNull();          <span class="comment">// returns false</span>
 <span class="type"><a href="qbitarray.html">QBitArray</a></span>(<span class="number">3</span>)<span class="operator">.</span>isNull();          <span class="comment">// returns false</span>
</pre>
<p>Qt makes a distinction between null bit arrays and empty bit
arrays for historical reasons. For most applications, what matters
is whether or not a bit array contains any data, and this can be
determined using <a href="qbitarray.html#isEmpty">isEmpty</a>().</p>
<p><b>See also</b> <a href="qbitarray.html#isEmpty">isEmpty</a>().</p>


<h3 class="fn"><a name="resize" />QBitArray.resize (<i>self</i>, int&#160;<i>size</i>)</h3><p>Resizes the bit array to <i>size</i> bits.</p>
<p>If <i>size</i> is greater than the current size, the bit array
is extended to make it <i>size</i> bits with the extra bits added
to the end. The new bits are initialized to false (0).</p>
<p>If <i>size</i> is less than the current size, bits are removed
from the end.</p>
<p><b>See also</b> <a href="qbitarray.html#size">size</a>().</p>


<h3 class="fn"><a name="setBit" />QBitArray.setBit (<i>self</i>, int&#160;<i>i</i>)</h3><p>Sets the bit at index position <i>i</i> to 1.</p>
<p><i>i</i> must be a valid index position in the bit array (i.e.,
0 &lt;= <i>i</i> &lt; <a href="qbitarray.html#size">size</a>()).</p>
<p><b>See also</b> <a href="qbitarray.html#clearBit">clearBit</a>()
and <a href="qbitarray.html#toggleBit">toggleBit</a>().</p>


<h3 class="fn"><a name="setBit-2" />QBitArray.setBit (<i>self</i>, int&#160;<i>i</i>, bool&#160;<i>val</i>)</h3><p>This is an overloaded function.</p>
<p>Sets the bit at index position <i>i</i> to <i>value</i>.</p>


<h3 class="fn"><a name="size" />int QBitArray.size (<i>self</i>)</h3><p>Returns the number of bits stored in the bit array.</p>
<p><b>See also</b> <a href="qbitarray.html#resize">resize</a>().</p>


<h3 class="fn"><a name="swap" />QBitArray.swap (<i>self</i>, <a href="qbitarray.html">QBitArray</a>&#160;<i>other</i>)</h3><p>Swaps bit array <i>other</i> with this bit array. This operation
is very fast and never fails.</p>
<p>This function was introduced in Qt 4.8.</p>


<h3 class="fn"><a name="testBit" />bool QBitArray.testBit (<i>self</i>, int&#160;<i>i</i>)</h3><p>Returns true if the bit at index position <i>i</i> is 1;
otherwise returns false.</p>
<p><i>i</i> must be a valid index position in the bit array (i.e.,
0 &lt;= <i>i</i> &lt; <a href="qbitarray.html#size">size</a>()).</p>
<p><b>See also</b> <a href="qbitarray.html#setBit">setBit</a>() and
<a href="qbitarray.html#clearBit">clearBit</a>().</p>


<h3 class="fn"><a name="toggleBit" />bool QBitArray.toggleBit (<i>self</i>, int&#160;<i>i</i>)</h3><p>Inverts the value of the bit at index position <i>i</i>,
returning the previous value of that bit as either true (if it was
set) or false (if it was unset).</p>
<p>If the previous value was 0, the new value will be 1. If the
previous value was 1, the new value will be 0.</p>
<p><i>i</i> must be a valid index position in the bit array (i.e.,
0 &lt;= <i>i</i> &lt; <a href="qbitarray.html#size">size</a>()).</p>
<p><b>See also</b> <a href="qbitarray.html#setBit">setBit</a>() and
<a href="qbitarray.html#clearBit">clearBit</a>().</p>


<h3 class="fn"><a name="truncate" />QBitArray.truncate (<i>self</i>, int&#160;<i>pos</i>)</h3><p>Truncates the bit array at index position <i>pos</i>.</p>
<p>If <i>pos</i> is beyond the end of the array, nothing
happens.</p>
<p><b>See also</b> <a href="qbitarray.html#resize">resize</a>().</p>


<h3 class="fn"><a name="__and__" /><a href="qbitarray.html">QBitArray</a> QBitArray.__and__ (<i>self</i>, <a href="qbitarray.html">QBitArray</a>)</h3><h3 class="fn"><a name="__eq__" />bool QBitArray.__eq__ (<i>self</i>, <a href="qbitarray.html">QBitArray</a>&#160;<i>a</i>)</h3><h3 class="fn"><a name="__getitem__" />bool QBitArray.__getitem__ (<i>self</i>, int&#160;<i>i</i>)</h3><h3 class="fn"><a name="__hash__" />int QBitArray.__hash__ (<i>self</i>)</h3><h3 class="fn"><a name="__iand__" /><a href="qbitarray.html">QBitArray</a> QBitArray.__iand__ (<i>self</i>, <a href="qbitarray.html">QBitArray</a>)</h3><h3 class="fn"><a name="__invert__" /><a href="qbitarray.html">QBitArray</a> QBitArray.__invert__ (<i>self</i>)</h3><h3 class="fn"><a name="__ior__" /><a href="qbitarray.html">QBitArray</a> QBitArray.__ior__ (<i>self</i>, <a href="qbitarray.html">QBitArray</a>)</h3><h3 class="fn"><a name="__ixor__" /><a href="qbitarray.html">QBitArray</a> QBitArray.__ixor__ (<i>self</i>, <a href="qbitarray.html">QBitArray</a>)</h3><h3 class="fn"><a name="__len__" /> QBitArray.__len__ (<i>self</i>)</h3><h3 class="fn"><a name="__ne__" />bool QBitArray.__ne__ (<i>self</i>, <a href="qbitarray.html">QBitArray</a>&#160;<i>a</i>)</h3><h3 class="fn"><a name="__or__" /><a href="qbitarray.html">QBitArray</a> QBitArray.__or__ (<i>self</i>, <a href="qbitarray.html">QBitArray</a>)</h3><h3 class="fn"><a name="__xor__" /><a href="qbitarray.html">QBitArray</a> QBitArray.__xor__ (<i>self</i>, <a href="qbitarray.html">QBitArray</a>)</h3><address><hr /><div align="center"><table border="0" cellspacing="0" width="100%"><tr class="address"><td align="left" width="25%">PyQt&#160;4.10.3 for X11</td><td align="center" width="50%">Copyright &#169; <a href="http://www.riverbankcomputing.com">Riverbank&#160;Computing&#160;Ltd</a> and <a href="http://www.qtsoftware.com">Nokia</a> 2012</td><td align="right" width="25%">Qt&#160;4.8.5</td></tr></table></div></address></body></html>