Sophie

Sophie

distrib > Mageia > 1 > i586 > by-pkgid > 64656f00434e190abe8506174ca339ed > files > 49

ucommon-doc-4.3.1-1.mga1.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: bitmap Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">ucommon</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;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 id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('a00023.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<h1>bitmap Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="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="a00178_source.html">bitmap.h</a>&gt;</code></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a56f6fa5bf6aa2ee72ebeabec5b06b2a0">bus_t</a> { <br/>
&#160;&#160;<a class="el" href="a00023.html#a56f6fa5bf6aa2ee72ebeabec5b06b2a0a8e295e9fe7b3b659569e4bfd3c8905b3">BMALLOC</a>, 
<a class="el" href="a00023.html#a56f6fa5bf6aa2ee72ebeabec5b06b2a0a0514f16493bff626eccddc37d29117f0">B8</a>, 
<a class="el" href="a00023.html#a56f6fa5bf6aa2ee72ebeabec5b06b2a0a7f7dbfc21c697362516c8339da55fa7f">B16</a>, 
<a class="el" href="a00023.html#a56f6fa5bf6aa2ee72ebeabec5b06b2a0ac9795dedf42ba1f7d03ecc4a473090cb">B32</a>, 
<br/>
&#160;&#160;<a class="el" href="a00023.html#a56f6fa5bf6aa2ee72ebeabec5b06b2a0a9e7cd3e3b4f5af8e5da9919acdd96594">B64</a>, 
<b>BMIN</b> =  BMALLOC, 
<b>BMAX</b> =  B64
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Specify data word size to use in accessing a bitmap. </p>
 <a href="a00023.html#a56f6fa5bf6aa2ee72ebeabec5b06b2a0">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ac28e130384d2d4dec431d57d2c8e02e3">bitmap</a> (void *addr, size_t length, <a class="el" href="a00023.html#a56f6fa5bf6aa2ee72ebeabec5b06b2a0">bus_t</a> size=B8)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an object to reference the specified bitmap.  <a href="#ac28e130384d2d4dec431d57d2c8e02e3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#aa7dbbe4a8cb2d8f630b8573f5a79668e">bitmap</a> (size_t length)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a bitmap to manipulate locally.  <a href="#aa7dbbe4a8cb2d8f630b8573f5a79668e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a692b4bd8ff064847009a00f3518be584"></a><!-- doxytag: member="bitmap::clear" ref="a692b4bd8ff064847009a00f3518be584" args="(void)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a692b4bd8ff064847009a00f3518be584">clear</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear (zero) all the bits in the bitmap. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ad5571b978130ebc4b76c1e176780f085">get</a> (size_t offset) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of a "bit" in the bitmap.  <a href="#ad5571b978130ebc4b76c1e176780f085"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#acd74f844cce87179cd0d2f4d9e35f73b">set</a> (size_t offset, bool value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set an individual bit in the bitmask.  <a href="#acd74f844cce87179cd0d2f4d9e35f73b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#af3c4e3cd110854573761fd68f33ec8c8">~bitmap</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy bitmap manipulation object.  <a href="#af3c4e3cd110854573761fd68f33ec8c8"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a41d68c80b032067fcc04342419f51493"></a><!-- doxytag: member="bitmap::memsize" ref="a41d68c80b032067fcc04342419f51493" args="(void) const " -->
unsigned&#160;</td><td class="memItemRight" valign="bottom"><b>memsize</b> (void) const </td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0d9d7e2bd74d0046883d85903e96828a"></a><!-- doxytag: member="bitmap::addr" ref="a0d9d7e2bd74d0046883d85903e96828a" args="" -->
addr_t&#160;</td><td class="memItemRight" valign="bottom"><b>addr</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a786d13f06bd4f19d1a57796d42dbb715"></a><!-- doxytag: member="bitmap::bus" ref="a786d13f06bd4f19d1a57796d42dbb715" args="" -->
<a class="el" href="a00023.html#a56f6fa5bf6aa2ee72ebeabec5b06b2a0">bus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>bus</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab7fe38b6be7363342b07610fb3706fbc"></a><!-- doxytag: member="bitmap::size" ref="ab7fe38b6be7363342b07610fb3706fbc" args="" -->
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>size</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><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="a00178_source.html#l00051">51</a> of file <a class="el" href="a00178_source.html">bitmap.h</a>.</p>
</div><hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a56f6fa5bf6aa2ee72ebeabec5b06b2a0"></a><!-- doxytag: member="bitmap::bus_t" ref="a56f6fa5bf6aa2ee72ebeabec5b06b2a0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="a00023.html#a56f6fa5bf6aa2ee72ebeabec5b06b2a0">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="a56f6fa5bf6aa2ee72ebeabec5b06b2a0a8e295e9fe7b3b659569e4bfd3c8905b3"></a><!-- doxytag: member="BMALLOC" ref="a56f6fa5bf6aa2ee72ebeabec5b06b2a0a8e295e9fe7b3b659569e4bfd3c8905b3" args="" -->BMALLOC</em>&nbsp;</td><td>
<p>Use default cpu size. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a56f6fa5bf6aa2ee72ebeabec5b06b2a0a0514f16493bff626eccddc37d29117f0"></a><!-- doxytag: member="B8" ref="a56f6fa5bf6aa2ee72ebeabec5b06b2a0a0514f16493bff626eccddc37d29117f0" 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="a56f6fa5bf6aa2ee72ebeabec5b06b2a0a7f7dbfc21c697362516c8339da55fa7f"></a><!-- doxytag: member="B16" ref="a56f6fa5bf6aa2ee72ebeabec5b06b2a0a7f7dbfc21c697362516c8339da55fa7f" 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="a56f6fa5bf6aa2ee72ebeabec5b06b2a0ac9795dedf42ba1f7d03ecc4a473090cb"></a><!-- doxytag: member="B32" ref="a56f6fa5bf6aa2ee72ebeabec5b06b2a0ac9795dedf42ba1f7d03ecc4a473090cb" 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="a56f6fa5bf6aa2ee72ebeabec5b06b2a0a9e7cd3e3b4f5af8e5da9919acdd96594"></a><!-- doxytag: member="B64" ref="a56f6fa5bf6aa2ee72ebeabec5b06b2a0a9e7cd3e3b4f5af8e5da9919acdd96594" 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="a00178_source.html#l00071">71</a> of file <a class="el" href="a00178_source.html">bitmap.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ac28e130384d2d4dec431d57d2c8e02e3"></a><!-- doxytag: member="bitmap::bitmap" ref="ac28e130384d2d4dec431d57d2c8e02e3" args="(void *addr, size_t length, bus_t size=B8)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bitmap::bitmap </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00023.html#a56f6fa5bf6aa2ee72ebeabec5b06b2a0">bus_t</a>&#160;</td>
          <td class="paramname"><em>size</em> = <code>B8</code>&#160;</td>
        </tr>
        <tr>
          <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 class="params">
    <tr><td class="paramname">addr</td><td>of the bitmap in mapped memory. </td></tr>
    <tr><td class="paramname">length</td><td>of the bitmap being accessed in bits. </td></tr>
    <tr><td class="paramname">size</td><td>of the memory bus or manipulation to use. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa7dbbe4a8cb2d8f630b8573f5a79668e"></a><!-- doxytag: member="bitmap::bitmap" ref="aa7dbbe4a8cb2d8f630b8573f5a79668e" args="(size_t length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bitmap::bitmap </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em></td><td>)</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 class="params">
    <tr><td class="paramname">length</td><td>of bitmap to create in bits. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af3c4e3cd110854573761fd68f33ec8c8"></a><!-- doxytag: member="bitmap::~bitmap" ref="af3c4e3cd110854573761fd68f33ec8c8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bitmap::~bitmap </td>
          <td>(</td>
          <td class="paramname"></td><td>)</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="ad5571b978130ebc4b76c1e176780f085"></a><!-- doxytag: member="bitmap::get" ref="ad5571b978130ebc4b76c1e176780f085" args="(size_t offset) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool bitmap::get </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>offset</em></td><td>)</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 class="params">
    <tr><td class="paramname">offset</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="acd74f844cce87179cd0d2f4d9e35f73b"></a><!-- doxytag: member="bitmap::set" ref="acd74f844cce87179cd0d2f4d9e35f73b" args="(size_t offset, bool value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bitmap::set </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <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 class="params">
    <tr><td class="paramname">offset</td><td>to bit in map to change. </td></tr>
    <tr><td class="paramname">value</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="a00178_source.html">bitmap.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="a00023.html">bitmap</a>      </li>
      <li class="footer">Generated on Wed Apr 13 2011 22:39:47 for ucommon by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li>
    </ul>
  </div>

</body>
</html>