Sophie

Sophie

distrib > Mandriva > 2010.1 > i586 > by-pkgid > 4f5f2dc0f55b453456458df885792b0b > files > 39

ucommon-doc-5.0.4-1mdv2010.2.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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"/>
<title>ucommon: ucommon::bitmap Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="a00208.html">ucommon</a>::<a class="el" href="a00025.html">bitmap</a>
  </div>
</div>
<div class="contents">
<h1>ucommon::bitmap Class Reference</h1><!-- doxytag: class="ucommon::bitmap" -->
<p>A class to access bit fields in external bitmaps.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00179_source.html">bitmap.h</a>&gt;</code></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a9a3baa2ca27008d3cfd82867452d56c8">bus_t</a> { <br/>
&nbsp;&nbsp;<a class="el" href="a00025.html#a9a3baa2ca27008d3cfd82867452d56c8ade83ef019bcf5949716339712fc7d67d">BMALLOC</a>, 
<a class="el" href="a00025.html#a9a3baa2ca27008d3cfd82867452d56c8a12f02531b40ba91ffba04cb836a94dcb">B8</a>, 
<a class="el" href="a00025.html#a9a3baa2ca27008d3cfd82867452d56c8a4cfbda02d1f055881630c1c059878533">B16</a>, 
<a class="el" href="a00025.html#a9a3baa2ca27008d3cfd82867452d56c8a4f9bbf2ce46b0fdf6ebe4ad8dde64dc1">B32</a>, 
<br/>
&nbsp;&nbsp;<a class="el" href="a00025.html#a9a3baa2ca27008d3cfd82867452d56c8a0dbf2e396ca56d6961826c92ffb82a35">B64</a>, 
<b>BMIN</b> =  BMALLOC, 
<b>BMAX</b> =  B64
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Specify data word size to use in accessing a bitmap. </p>
 <a href="a00025.html#a9a3baa2ca27008d3cfd82867452d56c8">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a925df61912a6609b09c6dce7fe12d55f">bitmap</a> (size_t length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a bitmap to manipulate locally.  <a href="#a925df61912a6609b09c6dce7fe12d55f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a897d258ce6ed81deed422fee2e5847e7">bitmap</a> (void *addr, size_t length, <a class="el" href="a00025.html#a9a3baa2ca27008d3cfd82867452d56c8">bus_t</a> size=B8)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an object to reference the specified bitmap.  <a href="#a897d258ce6ed81deed422fee2e5847e7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac306cbcf1b56be1243ec2cdf01bc7e34"></a><!-- doxytag: member="ucommon::bitmap::clear" ref="ac306cbcf1b56be1243ec2cdf01bc7e34" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ac306cbcf1b56be1243ec2cdf01bc7e34">clear</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear (zero) all the bits in the bitmap. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ab0c6d110cc4f5c687a051f388c1d360e">get</a> (size_t offset) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the value of a "bit" in the bitmap.  <a href="#ab0c6d110cc4f5c687a051f388c1d360e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#af6d0e50b15413bd23c0eb0e5119c1bf8">set</a> (size_t offset, bool value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an individual bit in the bitmask.  <a href="#af6d0e50b15413bd23c0eb0e5119c1bf8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#af7e5c33887b195a516e84fd1d0388639">~bitmap</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy bitmap manipulation object.  <a href="#af7e5c33887b195a516e84fd1d0388639"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23cbc3a9574dba3a1adcb47466c89a7f"></a><!-- doxytag: member="ucommon::bitmap::memsize" ref="a23cbc3a9574dba3a1adcb47466c89a7f" args="(void) const " -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>memsize</b> (void) const </td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac215205b10332a563d8ce1a1cabef4bd"></a><!-- doxytag: member="ucommon::bitmap::addr" ref="ac215205b10332a563d8ce1a1cabef4bd" args="" -->
addr_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>addr</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8aa95c6760668dea53252f96016b0dda"></a><!-- doxytag: member="ucommon::bitmap::bus" ref="a8aa95c6760668dea53252f96016b0dda" args="" -->
<a class="el" href="a00025.html#a9a3baa2ca27008d3cfd82867452d56c8">bus_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>bus</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c2e10e360a44610a930ac0d7ad23fb6"></a><!-- doxytag: member="ucommon::bitmap::size" ref="a5c2e10e360a44610a930ac0d7ad23fb6" args="" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>size</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A class to access bit fields in external bitmaps. </p>
<p>The actual bitmap this object manipulates may not be stored in the object. Bitmaps may be referenced on special memory mapped or i/o bus based devices or other structures that have varying data word sizes which may differ from the default cpu bus size. The bitmap class can be set to the preferred memory bus size of the specific external bitmap being used. Bitmap size may also be relevant when accessing individual bits in memory mapped device registers where performing reference and manipulations may change the state of the device and hence must be aligned with the device register being effected.</p>
<p>This class offers only the most basic bit manipulations, getting and setting individual bits in the bitmap. More advanced bit manipulations and other operations can be created in derived classes. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>David Sugar &lt;<a href="mailto:dyfet@gnutelephony.org">dyfet@gnutelephony.org</a>&gt; </dd></dl>

<p>Definition at line <a class="el" href="a00179_source.html#l00051">51</a> of file <a class="el" href="a00179_source.html">bitmap.h</a>.</p>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a9a3baa2ca27008d3cfd82867452d56c8"></a><!-- doxytag: member="ucommon::bitmap::bus_t" ref="a9a3baa2ca27008d3cfd82867452d56c8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="a00025.html#a9a3baa2ca27008d3cfd82867452d56c8">ucommon::bitmap::bus_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Specify data word size to use in accessing a bitmap. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a9a3baa2ca27008d3cfd82867452d56c8ade83ef019bcf5949716339712fc7d67d"></a><!-- doxytag: member="BMALLOC" ref="a9a3baa2ca27008d3cfd82867452d56c8ade83ef019bcf5949716339712fc7d67d" args="" -->BMALLOC</em>&nbsp;</td><td>
<p>Use default cpu size. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a9a3baa2ca27008d3cfd82867452d56c8a12f02531b40ba91ffba04cb836a94dcb"></a><!-- doxytag: member="B8" ref="a9a3baa2ca27008d3cfd82867452d56c8a12f02531b40ba91ffba04cb836a94dcb" args="" -->B8</em>&nbsp;</td><td>
<p>Accessing a bitmap on 8 bit bus device. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a9a3baa2ca27008d3cfd82867452d56c8a4cfbda02d1f055881630c1c059878533"></a><!-- doxytag: member="B16" ref="a9a3baa2ca27008d3cfd82867452d56c8a4cfbda02d1f055881630c1c059878533" args="" -->B16</em>&nbsp;</td><td>
<p>Accessing a bitmap on a 16 bit device. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a9a3baa2ca27008d3cfd82867452d56c8a4f9bbf2ce46b0fdf6ebe4ad8dde64dc1"></a><!-- doxytag: member="B32" ref="a9a3baa2ca27008d3cfd82867452d56c8a4f9bbf2ce46b0fdf6ebe4ad8dde64dc1" args="" -->B32</em>&nbsp;</td><td>
<p>Accessing a bitmap on a 32 bit device. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a9a3baa2ca27008d3cfd82867452d56c8a0dbf2e396ca56d6961826c92ffb82a35"></a><!-- doxytag: member="B64" ref="a9a3baa2ca27008d3cfd82867452d56c8a0dbf2e396ca56d6961826c92ffb82a35" args="" -->B64</em>&nbsp;</td><td>
<p>Accessing a bitmap on a 64 bit device. </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="a00179_source.html#l00071">71</a> of file <a class="el" href="a00179_source.html">bitmap.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a897d258ce6ed81deed422fee2e5847e7"></a><!-- doxytag: member="ucommon::bitmap::bitmap" ref="a897d258ce6ed81deed422fee2e5847e7" args="(void *addr, size_t length, bus_t size=B8)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ucommon::bitmap::bitmap </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00025.html#a9a3baa2ca27008d3cfd82867452d56c8">bus_t</a>&nbsp;</td>
          <td class="paramname"> <em>size</em> = <code>B8</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create an object to reference the specified bitmap. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>addr</em>&nbsp;</td><td>of the bitmap in mapped memory. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>of the bitmap being accessed in bits. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>of the memory bus or manipulation to use. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a925df61912a6609b09c6dce7fe12d55f"></a><!-- doxytag: member="ucommon::bitmap::bitmap" ref="a925df61912a6609b09c6dce7fe12d55f" args="(size_t length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ucommon::bitmap::bitmap </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>length</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a bitmap to manipulate locally. </p>
<p>This bitmap is created as part of the object itself, and uses the BMALLOC bus mode. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>of bitmap to create in bits. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af7e5c33887b195a516e84fd1d0388639"></a><!-- doxytag: member="ucommon::bitmap::~bitmap" ref="af7e5c33887b195a516e84fd1d0388639" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ucommon::bitmap::~bitmap </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destroy bitmap manipulation object. </p>
<p>If a bitmap was locally created with the alternate constructor, that bitmap will also be removed from memory. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ab0c6d110cc4f5c687a051f388c1d360e"></a><!-- doxytag: member="ucommon::bitmap::get" ref="ab0c6d110cc4f5c687a051f388c1d360e" args="(size_t offset) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ucommon::bitmap::get </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>offset</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of a "bit" in the bitmap. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>to bit in map to get. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if bit is set. </dd></dl>

</div>
</div>
<a class="anchor" id="af6d0e50b15413bd23c0eb0e5119c1bf8"></a><!-- doxytag: member="ucommon::bitmap::set" ref="af6d0e50b15413bd23c0eb0e5119c1bf8" args="(size_t offset, bool value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::bitmap::set </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set an individual bit in the bitmask. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>to bit in map to change. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>to change specified bit to. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>ucommon/<a class="el" href="a00179_source.html">bitmap.h</a></li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Jul 14 16:39:29 2011 for ucommon by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>