Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 6e7a2755bd78c9deedab199b86e675f3 > files > 7965

gnuradio-doc-3.2.2-9.fc14.x86_64.rpm

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.7.3">
  <compounddef id="classpmt__pool" kind="class" prot="public">
    <compoundname>pmt_pool</compoundname>
    <includes refid="pmt__pool_8h" local="no">pmt_pool.h</includes>
    <innerclass refid="structpmt__pool_1_1item" prot="private">pmt_pool::item</innerclass>
      <sectiondef kind="private-attrib">
      <memberdef kind="variable" id="classpmt__pool_1adf04bf48cc2c9fde3eaea9a435f4cca5" prot="private" static="no" mutable="no">
        <type><ref refid="classomni__mutex" kindref="compound">omni_mutex</ref></type>
        <definition>omni_mutex pmt_pool::d_mutex</definition>
        <argsstring></argsstring>
        <name>d_mutex</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" line="40" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" bodystart="40" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classpmt__pool_1a228d6a1468d1846a1b4a1afa263ead54" prot="private" static="no" mutable="no">
        <type><ref refid="classomni__condition" kindref="compound">omni_condition</ref></type>
        <definition>omni_condition pmt_pool::d_cond</definition>
        <argsstring></argsstring>
        <name>d_cond</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" line="41" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" bodystart="41" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classpmt__pool_1a144313d8f903b3ec885c388e8db3d3c1" prot="private" static="no" mutable="no">
        <type>size_t</type>
        <definition>size_t pmt_pool::d_itemsize</definition>
        <argsstring></argsstring>
        <name>d_itemsize</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" line="43" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" bodystart="43" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classpmt__pool_1ae945c42d424fb05af1d9cc66de26e770" prot="private" static="no" mutable="no">
        <type>size_t</type>
        <definition>size_t pmt_pool::d_alignment</definition>
        <argsstring></argsstring>
        <name>d_alignment</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" line="44" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" bodystart="44" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classpmt__pool_1a8b3c3b3ae56bf5f4b9277b7adfed912e" prot="private" static="no" mutable="no">
        <type>size_t</type>
        <definition>size_t pmt_pool::d_allocation_size</definition>
        <argsstring></argsstring>
        <name>d_allocation_size</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" line="45" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" bodystart="45" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classpmt__pool_1a6c950dd2e0416557be0b30dca8a35b35" prot="private" static="no" mutable="no">
        <type>size_t</type>
        <definition>size_t pmt_pool::d_max_items</definition>
        <argsstring></argsstring>
        <name>d_max_items</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" line="46" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" bodystart="46" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classpmt__pool_1a1ebca864ac4b02288f47a395d75870bc" prot="private" static="no" mutable="no">
        <type>size_t</type>
        <definition>size_t pmt_pool::d_n_items</definition>
        <argsstring></argsstring>
        <name>d_n_items</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" line="47" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" bodystart="47" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classpmt__pool_1afaa87cf4abaec85a93a55a2d8b2c01ac" prot="private" static="no" mutable="no">
        <type>item *</type>
        <definition>item* pmt_pool::d_freelist</definition>
        <argsstring></argsstring>
        <name>d_freelist</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" line="48" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" bodystart="48" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classpmt__pool_1acbf6c432cac969cb60d6255ddae405f8" prot="private" static="no" mutable="no">
        <type><ref refid="classstd_1_1vector" kindref="compound">std::vector</ref>&lt; char * &gt;</type>
        <definition>std::vector&lt;char *&gt; pmt_pool::d_allocations</definition>
        <argsstring></argsstring>
        <name>d_allocations</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" line="49" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" bodystart="49" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="classpmt__pool_1aff4e8d57d1441a79ccd0a7b6164f7e4e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>pmt_pool::pmt_pool</definition>
        <argsstring>(size_t itemsize, size_t alignment=16, size_t allocation_size=4096, size_t max_items=0)</argsstring>
        <name>pmt_pool</name>
        <param>
          <type>size_t</type>
          <declname>itemsize</declname>
        </param>
        <param>
          <type>size_t</type>
          <declname>alignment</declname>
          <defval>16</defval>
        </param>
        <param>
          <type>size_t</type>
          <declname>allocation_size</declname>
          <defval>4096</defval>
        </param>
        <param>
          <type>size_t</type>
          <declname>max_items</declname>
          <defval>0</defval>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>itemsize</parametername>
</parameternamelist>
<parameterdescription>
<para>size in bytes of the items to be allocated. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>alignment</parametername>
</parameternamelist>
<parameterdescription>
<para>alignment in bytes of all objects to be allocated (must be power-of-2). </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>allocation_size</parametername>
</parameternamelist>
<parameterdescription>
<para>number of bytes to allocate at a time from the underlying allocator. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>max_items</parametername>
</parameternamelist>
<parameterdescription>
<para>is the maximum number of items to allocate. If this number is exceeded, the allocate blocks. 0 implies no limit. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" line="60"/>
      </memberdef>
      <memberdef kind="function" id="classpmt__pool_1aee7004d923b1a2bfef46c46d8e18a0eb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>pmt_pool::~pmt_pool</definition>
        <argsstring>()</argsstring>
        <name>~pmt_pool</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" line="61"/>
      </memberdef>
      <memberdef kind="function" id="classpmt__pool_1a92d57a2f62e3b02693b86755e42a23c2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void *</type>
        <definition>void* pmt_pool::malloc</definition>
        <argsstring>()</argsstring>
        <name>malloc</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" line="63"/>
      </memberdef>
      <memberdef kind="function" id="classpmt__pool_1a949bba8b34cfa48772eecf8926cb475b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void pmt_pool::free</definition>
        <argsstring>(void *p)</argsstring>
        <name>free</name>
        <param>
          <type>void *</type>
          <declname>p</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" line="64"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>very simple thread-safe fixed-size allocation pool </para>    </briefdescription>
    <detaileddescription>
<para>FIXME may want to go to global allocation with per-thread free list. This would eliminate virtually all lock contention. </para>    </detaileddescription>
    <collaborationgraph>
      <node id="15859">
        <label>std::vector&lt; char * &gt;</label>
        <link refid="classstd_1_1vector"/>
      </node>
      <node id="15858">
        <label>pmt_pool</label>
        <link refid="classpmt__pool"/>
        <childnode refid="15859" relation="usage">
          <edgelabel>d_allocations</edgelabel>
        </childnode>
        <childnode refid="15860" relation="usage">
          <edgelabel>d_freelist</edgelabel>
        </childnode>
        <childnode refid="15861" relation="usage">
          <edgelabel>d_cond</edgelabel>
        </childnode>
        <childnode refid="15862" relation="usage">
          <edgelabel>d_mutex</edgelabel>
        </childnode>
      </node>
      <node id="15860">
        <label>pmt_pool::item</label>
        <childnode refid="15860" relation="usage">
          <edgelabel>d_next</edgelabel>
        </childnode>
      </node>
      <node id="15861">
        <label>omni_condition</label>
        <link refid="classomni__condition"/>
        <childnode refid="15862" relation="usage">
          <edgelabel>mutex</edgelabel>
        </childnode>
      </node>
      <node id="15862">
        <label>omni_mutex</label>
        <link refid="classomni__mutex"/>
      </node>
    </collaborationgraph>
    <location file="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" line="34" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/pmt/src/lib/pmt_pool.h" bodystart="34" bodyend="65"/>
    <listofallmembers>
      <member refid="classpmt__pool_1ae945c42d424fb05af1d9cc66de26e770" prot="private" virt="non-virtual"><scope>pmt_pool</scope><name>d_alignment</name></member>
      <member refid="classpmt__pool_1a8b3c3b3ae56bf5f4b9277b7adfed912e" prot="private" virt="non-virtual"><scope>pmt_pool</scope><name>d_allocation_size</name></member>
      <member refid="classpmt__pool_1acbf6c432cac969cb60d6255ddae405f8" prot="private" virt="non-virtual"><scope>pmt_pool</scope><name>d_allocations</name></member>
      <member refid="classpmt__pool_1a228d6a1468d1846a1b4a1afa263ead54" prot="private" virt="non-virtual"><scope>pmt_pool</scope><name>d_cond</name></member>
      <member refid="classpmt__pool_1afaa87cf4abaec85a93a55a2d8b2c01ac" prot="private" virt="non-virtual"><scope>pmt_pool</scope><name>d_freelist</name></member>
      <member refid="classpmt__pool_1a144313d8f903b3ec885c388e8db3d3c1" prot="private" virt="non-virtual"><scope>pmt_pool</scope><name>d_itemsize</name></member>
      <member refid="classpmt__pool_1a6c950dd2e0416557be0b30dca8a35b35" prot="private" virt="non-virtual"><scope>pmt_pool</scope><name>d_max_items</name></member>
      <member refid="classpmt__pool_1adf04bf48cc2c9fde3eaea9a435f4cca5" prot="private" virt="non-virtual"><scope>pmt_pool</scope><name>d_mutex</name></member>
      <member refid="classpmt__pool_1a1ebca864ac4b02288f47a395d75870bc" prot="private" virt="non-virtual"><scope>pmt_pool</scope><name>d_n_items</name></member>
      <member refid="classpmt__pool_1a949bba8b34cfa48772eecf8926cb475b" prot="public" virt="non-virtual"><scope>pmt_pool</scope><name>free</name></member>
      <member refid="classpmt__pool_1a92d57a2f62e3b02693b86755e42a23c2" prot="public" virt="non-virtual"><scope>pmt_pool</scope><name>malloc</name></member>
      <member refid="classpmt__pool_1aff4e8d57d1441a79ccd0a7b6164f7e4e" prot="public" virt="non-virtual"><scope>pmt_pool</scope><name>pmt_pool</name></member>
      <member refid="classpmt__pool_1aee7004d923b1a2bfef46c46d8e18a0eb" prot="public" virt="non-virtual"><scope>pmt_pool</scope><name>~pmt_pool</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>