<?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.18.0" xml:lang="en-US">
  <compounddef id="classgr_1_1buffer__single__mapped" kind="class" language="C++" prot="public" abstract="yes">
    <compoundname>gr::buffer_single_mapped</compoundname>
    <basecompoundref refid="classgr_1_1buffer" prot="public" virt="non-virtual">gr::buffer</basecompoundref>
    <derivedcompoundref refid="classgr_1_1host__buffer" prot="public" virt="non-virtual">gr::host_buffer</derivedcompoundref>
    <includes refid="buffer__single__mapped_8h" local="no">gnuradio/buffer_single_mapped.h</includes>
    <sectiondef kind="public-attrib">
      <memberdef kind="variable" id="classgr_1_1buffer__single__mapped_1aa9216c8b73394861d553ffe0d44d450e" prot="public" static="no" mutable="no">
        <type><ref refid="namespacegr_1a5f54bf3c08623ce6dea7b1cdb2eeada7" kindref="member">gr::logger_ptr</ref></type>
        <definition>gr::logger_ptr gr::buffer_single_mapped::d_logger</definition>
        <argsstring></argsstring>
        <name>d_logger</name>
        <qualifiedname>gr::buffer_single_mapped::d_logger</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="32" column="20" bodyfile="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" bodystart="32" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classgr_1_1buffer__single__mapped_1afe97e8390e21a225ad208ac29f3e8183" prot="public" static="no" mutable="no">
        <type><ref refid="namespacegr_1a5f54bf3c08623ce6dea7b1cdb2eeada7" kindref="member">gr::logger_ptr</ref></type>
        <definition>gr::logger_ptr gr::buffer_single_mapped::d_debug_logger</definition>
        <argsstring></argsstring>
        <name>d_debug_logger</name>
        <qualifiedname>gr::buffer_single_mapped::d_debug_logger</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="33" column="20" bodyfile="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" bodystart="33" bodyend="-1"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="friend">
      <memberdef kind="friend" id="classgr_1_1buffer__single__mapped_1acd526cda08365e46391a84fcf8cc73c1" prot="protected" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>class</type>
        <definition>friend class buffer_reader</definition>
        <argsstring></argsstring>
        <name>buffer_reader</name>
        <qualifiedname>gr::buffer_single_mapped::buffer_reader</qualifiedname>
        <param>
          <type>buffer_reader</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="112" column="18" bodyfile="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" bodystart="112" bodyend="-1"/>
        <references refid="classgr_1_1buffer__single__mapped_1acd526cda08365e46391a84fcf8cc73c1" compoundref="buffer__single__mapped_8h" startline="112">buffer_reader</references>
        <referencedby refid="classgr_1_1buffer__single__mapped_1acd526cda08365e46391a84fcf8cc73c1" compoundref="buffer__single__mapped_8h" startline="112">buffer_reader</referencedby>
      </memberdef>
      <memberdef kind="friend" id="classgr_1_1buffer__single__mapped_1a4e581f90551a3ac5de1d7425b7b055a5" prot="protected" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" kindref="member">GR_RUNTIME_API</ref> buffer_sptr</type>
        <definition>GR_RUNTIME_API buffer_sptr make_buffer</definition>
        <argsstring>(int nitems, size_t sizeof_item, uint64_t downstream_lcm_nitems, block_sptr link, block_sptr buf_owner)</argsstring>
        <name>make_buffer</name>
        <qualifiedname>gr::buffer_single_mapped::make_buffer</qualifiedname>
        <param>
          <type>int</type>
          <declname>nitems</declname>
        </param>
        <param>
          <type>size_t</type>
          <declname>sizeof_item</declname>
        </param>
        <param>
          <type>uint64_t</type>
          <declname>downstream_lcm_nitems</declname>
        </param>
        <param>
          <type>block_sptr</type>
          <declname>link</declname>
        </param>
        <param>
          <type>block_sptr</type>
          <declname>buf_owner</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="114" column="39"/>
        <references refid="classgr_1_1buffer__single__mapped_1ae514fe9623fbaa4eba3a5d0ed1d5aead" compoundref="buffer__single__mapped_8h" startline="40" endline="40">buf_owner</references>
        <references refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" compoundref="gnuradio-runtime_2include_2gnuradio_2api_8h" startline="18">GR_RUNTIME_API</references>
        <references refid="classgr_1_1buffer_1aa749e1b47a6ed898cbf6b7a2fe8e04f6" compoundref="buffer_8h" startline="120" endline="120">gr::buffer::link</references>
      </memberdef>
    </sectiondef>
    <sectiondef kind="protected-attrib">
      <memberdef kind="variable" id="classgr_1_1buffer__single__mapped_1a3b7d7d4b2bc929bfca74b6b60da0da2e" prot="protected" static="no" mutable="no">
        <type>block_sptr</type>
        <definition>block_sptr gr::buffer_single_mapped::d_buf_owner</definition>
        <argsstring></argsstring>
        <name>d_buf_owner</name>
        <qualifiedname>gr::buffer_single_mapped::d_buf_owner</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="120" column="16" bodyfile="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" bodystart="120" bodyend="-1"/>
        <referencedby refid="classgr_1_1buffer__single__mapped_1ae514fe9623fbaa4eba3a5d0ed1d5aead" compoundref="buffer__single__mapped_8h" startline="40" endline="40">buf_owner</referencedby>
      </memberdef>
      <memberdef kind="variable" id="classgr_1_1buffer__single__mapped_1a815b3123cecc09093199c5dd287a093d" prot="protected" static="no" mutable="no">
        <type>std::unique_ptr&lt; char[]&gt;</type>
        <definition>std::unique_ptr&lt;char[]&gt; gr::buffer_single_mapped::d_buffer</definition>
        <argsstring></argsstring>
        <name>d_buffer</name>
        <qualifiedname>gr::buffer_single_mapped::d_buffer</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="122" column="21" bodyfile="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" bodystart="122" bodyend="-1"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="public-func">
      <memberdef kind="function" id="classgr_1_1buffer__single__mapped_1a35b5927ef9a798c6017d77418f1afb6f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>gr::buffer_single_mapped::~buffer_single_mapped</definition>
        <argsstring>() override</argsstring>
        <name>~buffer_single_mapped</name>
        <qualifiedname>gr::buffer_single_mapped::~buffer_single_mapped</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="35" column="5"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1buffer__single__mapped_1ae514fe9623fbaa4eba3a5d0ed1d5aead" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>block_sptr</type>
        <definition>block_sptr gr::buffer_single_mapped::buf_owner</definition>
        <argsstring>()</argsstring>
        <name>buf_owner</name>
        <qualifiedname>gr::buffer_single_mapped::buf_owner</qualifiedname>
        <briefdescription>
<para>Return the block that owns this buffer. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="40" column="16" bodyfile="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" bodystart="40" bodyend="40"/>
        <references refid="classgr_1_1buffer__single__mapped_1a3b7d7d4b2bc929bfca74b6b60da0da2e" compoundref="buffer__single__mapped_8h" startline="120">d_buf_owner</references>
        <referencedby refid="classgr_1_1buffer__single__mapped_1a571e60bca7a1c0286ea0b24c78ff8106">buffer_single_mapped</referencedby>
        <referencedby refid="classgr_1_1buffer__single__mapped_1a4e581f90551a3ac5de1d7425b7b055a5">make_buffer</referencedby>
        <referencedby refid="classgr_1_1host__buffer_1a0cfb9b3a322def87b03eb0f8ac63d282">gr::host_buffer::make_buffer</referencedby>
        <referencedby refid="classgr_1_1host__buffer_1a596ee5e3853c63548efaa2164afc4307">gr::host_buffer::make_host_buffer</referencedby>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1buffer__single__mapped_1aedcc189b7e0ec0b6bc1fd9d316ce761d" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>int</type>
        <definition>int gr::buffer_single_mapped::space_available</definition>
        <argsstring>() override</argsstring>
        <name>space_available</name>
        <qualifiedname>gr::buffer_single_mapped::space_available</qualifiedname>
        <reimplements refid="classgr_1_1buffer_1a9cdb079abac5822d4bdf2166d4767a10">space_available</reimplements>
        <briefdescription>
<para>return number of items worth of space available for writing </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="45" column="9"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1buffer__single__mapped_1ad39c826c2884ec2952e5e19c02d5169d" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void gr::buffer_single_mapped::update_reader_block_history</definition>
        <argsstring>(unsigned history, int delay) override</argsstring>
        <name>update_reader_block_history</name>
        <qualifiedname>gr::buffer_single_mapped::update_reader_block_history</qualifiedname>
        <reimplements refid="classgr_1_1buffer_1ab08434b206f52b8cf24248e1c0799ef2">update_reader_block_history</reimplements>
        <param>
          <type>unsigned</type>
          <declname>history</declname>
        </param>
        <param>
          <type>int</type>
          <declname>delay</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="47" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1buffer__single__mapped_1a767578bce3205914c044e9a11f1366f1" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>bool</type>
        <definition>bool gr::buffer_single_mapped::input_blkd_cb_ready</definition>
        <argsstring>(int items_required, unsigned read_index) override</argsstring>
        <name>input_blkd_cb_ready</name>
        <qualifiedname>gr::buffer_single_mapped::input_blkd_cb_ready</qualifiedname>
        <reimplements refid="classgr_1_1buffer_1aa726a15534e230811799ed1c25d9120d">input_blkd_cb_ready</reimplements>
        <param>
          <type>int</type>
          <declname>items_required</declname>
        </param>
        <param>
          <type>unsigned</type>
          <declname>read_index</declname>
        </param>
        <briefdescription>
<para>Return true if thread is ready to call input_blocked_callback, false otherwise. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="53" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1buffer__single__mapped_1a24ff84645e8899e705fa991e511ab993" prot="public" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
        <type>bool</type>
        <definition>bool gr::buffer_single_mapped::input_blocked_callback</definition>
        <argsstring>(int items_required, int items_avail, unsigned read_index) override=0</argsstring>
        <name>input_blocked_callback</name>
        <qualifiedname>gr::buffer_single_mapped::input_blocked_callback</qualifiedname>
        <reimplements refid="classgr_1_1buffer_1a71a05cc652839f7abbdfcdd3f13e125c">input_blocked_callback</reimplements>
        <reimplementedby refid="classgr_1_1host__buffer_1a22a2f0dc977950dde84ba3cac06837d5">input_blocked_callback</reimplementedby>
        <param>
          <type>int</type>
          <declname>items_required</declname>
        </param>
        <param>
          <type>int</type>
          <declname>items_avail</declname>
        </param>
        <param>
          <type>unsigned</type>
          <declname>read_index</declname>
        </param>
        <briefdescription>
<para>Callback function that the scheduler will call when it determines that the input is blocked. Override this function if needed. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="59" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1buffer__single__mapped_1a6cab3e8b5114bc9f84ba988178ba9816" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>bool</type>
        <definition>bool gr::buffer_single_mapped::output_blkd_cb_ready</definition>
        <argsstring>(int output_multiple) override</argsstring>
        <name>output_blkd_cb_ready</name>
        <qualifiedname>gr::buffer_single_mapped::output_blkd_cb_ready</qualifiedname>
        <reimplements refid="classgr_1_1buffer_1a616e41be6f9d832d6f484051d84a943a">output_blkd_cb_ready</reimplements>
        <param>
          <type>int</type>
          <declname>output_multiple</declname>
        </param>
        <briefdescription>
<para>Return true if thread is ready to call the callback, false otherwise. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="66" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1buffer__single__mapped_1ac9f70c0b7e5e983f824673595c04634b" prot="public" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
        <type>bool</type>
        <definition>bool gr::buffer_single_mapped::output_blocked_callback</definition>
        <argsstring>(int output_multiple, bool force) override=0</argsstring>
        <name>output_blocked_callback</name>
        <qualifiedname>gr::buffer_single_mapped::output_blocked_callback</qualifiedname>
        <reimplements refid="classgr_1_1buffer_1a71c12b216cb4b78b8a3caf18a8bdb49c">output_blocked_callback</reimplements>
        <reimplementedby refid="classgr_1_1host__buffer_1aae32802c23fdc011e8972f4b5796de35">output_blocked_callback</reimplementedby>
        <param>
          <type>int</type>
          <declname>output_multiple</declname>
        </param>
        <param>
          <type>bool</type>
          <declname>force</declname>
        </param>
        <briefdescription>
<para>Callback function that the scheduler will call when it determines that the output is blocked. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="72" column="10"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="protected-func">
      <memberdef kind="function" id="classgr_1_1buffer__single__mapped_1a365a4d804322b14665608a648e57897b" prot="protected" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>bool</type>
        <definition>bool gr::buffer_single_mapped::allocate_buffer</definition>
        <argsstring>(int nitems) override</argsstring>
        <name>allocate_buffer</name>
        <qualifiedname>gr::buffer_single_mapped::allocate_buffer</qualifiedname>
        <reimplements refid="classgr_1_1buffer_1a492ba975f7fa71d03aefc7d494b7fa8c">allocate_buffer</reimplements>
        <param>
          <type>int</type>
          <declname>nitems</declname>
        </param>
        <briefdescription>
<para>Make reasonable attempt to adjust nitems based on read/write granularity then delegate actual allocation to <ref refid="classgr_1_1buffer__single__mapped_1af2a85b38753e63d23a6bb3b963383384" kindref="member">do_allocate_buffer()</ref>. </para>
        </briefdescription>
        <detaileddescription>
<para><simplesect kind="return"><para>true iff successful. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="80" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1buffer__single__mapped_1af2a85b38753e63d23a6bb3b963383384" prot="protected" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
        <type>bool</type>
        <definition>virtual bool gr::buffer_single_mapped::do_allocate_buffer</definition>
        <argsstring>(size_t final_nitems, size_t sizeof_item)=0</argsstring>
        <name>do_allocate_buffer</name>
        <qualifiedname>gr::buffer_single_mapped::do_allocate_buffer</qualifiedname>
        <reimplementedby refid="classgr_1_1host__buffer_1ab4be05549de1670144858c0ab7ad966d">do_allocate_buffer</reimplementedby>
        <param>
          <type>size_t</type>
          <declname>final_nitems</declname>
        </param>
        <param>
          <type>size_t</type>
          <declname>sizeof_item</declname>
        </param>
        <briefdescription>
<para>Do actual buffer allocation. This is intended (required) to be handled by the derived class. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="86" column="18"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1buffer__single__mapped_1adb7adf8b2d8f39264cc1cab369065161" prot="protected" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type>unsigned</type>
        <definition>unsigned gr::buffer_single_mapped::index_add</definition>
        <argsstring>(unsigned a, unsigned b) override</argsstring>
        <name>index_add</name>
        <qualifiedname>gr::buffer_single_mapped::index_add</qualifiedname>
        <reimplements refid="classgr_1_1buffer_1a60fe9601f1f58f9f0a1fa36df43ea08d">index_add</reimplements>
        <param>
          <type>unsigned</type>
          <declname>a</declname>
        </param>
        <param>
          <type>unsigned</type>
          <declname>b</declname>
        </param>
        <briefdescription>
<para>Increment read or write index for this buffer. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="88" column="14" bodyfile="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" bodystart="88" bodyend="97"/>
        <references refid="classgr_1_1buffer_1a6cb33e2a667363ffec56c98ba332a975" compoundref="buffer_8h" startline="295">gr::buffer::d_bufsize</references>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1buffer__single__mapped_1a174a65dbf1358b480f62a42320a9597e" prot="protected" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type>unsigned</type>
        <definition>unsigned gr::buffer_single_mapped::index_sub</definition>
        <argsstring>(unsigned a, unsigned b) override</argsstring>
        <name>index_sub</name>
        <qualifiedname>gr::buffer_single_mapped::index_sub</qualifiedname>
        <reimplements refid="classgr_1_1buffer_1ae3d4f9f30adea69003007be99f11fc6c">index_sub</reimplements>
        <param>
          <type>unsigned</type>
          <declname>a</declname>
        </param>
        <param>
          <type>unsigned</type>
          <declname>b</declname>
        </param>
        <briefdescription>
<para>Decrement read or write index for this buffer. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="99" column="14" bodyfile="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" bodystart="99" bodyend="109"/>
        <references refid="classgr_1_1buffer_1a6cb33e2a667363ffec56c98ba332a975" compoundref="buffer_8h" startline="295">gr::buffer::d_bufsize</references>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1buffer__single__mapped_1a571e60bca7a1c0286ea0b24c78ff8106" prot="protected" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>gr::buffer_single_mapped::buffer_single_mapped</definition>
        <argsstring>(int nitems, size_t sizeof_item, uint64_t downstream_lcm_nitems, uint32_t downstream_max_out_mult, block_sptr link, block_sptr buf_owner)</argsstring>
        <name>buffer_single_mapped</name>
        <qualifiedname>gr::buffer_single_mapped::buffer_single_mapped</qualifiedname>
        <param>
          <type>int</type>
          <declname>nitems</declname>
        </param>
        <param>
          <type>size_t</type>
          <declname>sizeof_item</declname>
        </param>
        <param>
          <type>uint64_t</type>
          <declname>downstream_lcm_nitems</declname>
        </param>
        <param>
          <type>uint32_t</type>
          <declname>downstream_max_out_mult</declname>
        </param>
        <param>
          <type>block_sptr</type>
          <declname>link</declname>
        </param>
        <param>
          <type>block_sptr</type>
          <declname>buf_owner</declname>
        </param>
        <briefdescription>
<para>constructor is private. Use gr_make_buffer to create instances. </para>
        </briefdescription>
        <detaileddescription>
<para>Allocate a buffer that holds at least <computeroutput>nitems</computeroutput> of size <computeroutput>sizeof_item</computeroutput>.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>nitems</parametername>
</parameternamelist>
<parameterdescription>
<para>is the minimum number of items the buffer will hold. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>sizeof_item</parametername>
</parameternamelist>
<parameterdescription>
<para>is the size of an item in bytes. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>downstream_lcm_nitems</parametername>
</parameternamelist>
<parameterdescription>
<para>is the least common multiple of the items to read by downstream blocks </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>downstream_max_out_mult</parametername>
</parameternamelist>
<parameterdescription>
<para>is the maximum output multiple of all downstream blocks </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>link</parametername>
</parameternamelist>
<parameterdescription>
<para>is the block that writes to this buffer. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>buf_owner</parametername>
</parameternamelist>
<parameterdescription>
<para>if the block that owns the buffer which may or may not be the same as the block that writes to this buffer</para>
</parameterdescription>
</parameteritem>
</parameterlist>
The total size of the buffer will be rounded up to a system dependent boundary. This is typically the system page size, but under MS windows is 64KB. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="143" column="5"/>
        <references refid="classgr_1_1buffer__single__mapped_1ae514fe9623fbaa4eba3a5d0ed1d5aead" compoundref="buffer__single__mapped_8h" startline="40" endline="40">buf_owner</references>
        <references refid="classgr_1_1buffer_1aa749e1b47a6ed898cbf6b7a2fe8e04f6" compoundref="buffer_8h" startline="120" endline="120">gr::buffer::link</references>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1buffer__single__mapped_1a9289ad6ef90fc848c3bef9d714255949" prot="protected" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>bool</type>
        <definition>virtual bool gr::buffer_single_mapped::input_blocked_callback_logic</definition>
        <argsstring>(int items_required, int items_avail, unsigned read_index, char *buffer_ptr, mem_func_t const &amp;memcpy_func, mem_func_t const &amp;memmove_func)</argsstring>
        <name>input_blocked_callback_logic</name>
        <qualifiedname>gr::buffer_single_mapped::input_blocked_callback_logic</qualifiedname>
        <param>
          <type>int</type>
          <declname>items_required</declname>
        </param>
        <param>
          <type>int</type>
          <declname>items_avail</declname>
        </param>
        <param>
          <type>unsigned</type>
          <declname>read_index</declname>
        </param>
        <param>
          <type>char *</type>
          <declname>buffer_ptr</declname>
        </param>
        <param>
          <type><ref refid="namespacegr_1a0b77f61373ac58a56ad902dd0bb633bf" kindref="member">mem_func_t</ref> const &amp;</type>
          <declname>memcpy_func</declname>
        </param>
        <param>
          <type><ref refid="namespacegr_1a0b77f61373ac58a56ad902dd0bb633bf" kindref="member">mem_func_t</ref> const &amp;</type>
          <declname>memmove_func</declname>
        </param>
        <briefdescription>
<para>Abstracted logic for the input blocked callback function. </para>
        </briefdescription>
        <detaileddescription>
<para>This function contains the logic for the input blocked callback however the data adjustment portion of the callback has been abstracted to allow the caller to pass in the desired buffer and corresponding buffer manipulation functions (memcpy and memmove).</para>
<para>The input blocked callback is called when a reader needs to read more data than is available in a buffer and the available data is located at the end of the buffer. The input blocked callback will attempt to move any data located at the beginning of the buffer &quot;down&quot;, and will then attempt to copy from the end of the buffer back to the beginning of the buffer. This process explicitly handles wrapping for a single mapped buffer and will realign the data at the beginning of the buffer such that the reader is able to read the available data and becomes unblocked.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>items_required</parametername>
</parameternamelist>
<parameterdescription>
<para>is the number of items required by the reader </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>items_avail</parametername>
</parameternamelist>
<parameterdescription>
<para>is the number of items available </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>read_index</parametername>
</parameternamelist>
<parameterdescription>
<para>is the current read index of the buffer reader caller </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>buffer_ptr</parametername>
</parameternamelist>
<parameterdescription>
<para>is the pointer to the desired buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>memcpy_func</parametername>
</parameternamelist>
<parameterdescription>
<para>is a pointer to a memcpy function appropriate for the the passed in buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>memmove_func</parametername>
</parameternamelist>
<parameterdescription>
<para>is a pointer to a memmove function appropriate for the passed in buffer </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="176" column="18"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1buffer__single__mapped_1afa73ede64e1866e07050d840cd596e77" prot="protected" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>bool</type>
        <definition>virtual bool gr::buffer_single_mapped::output_blocked_callback_logic</definition>
        <argsstring>(int output_multiple, bool force, char *buffer_ptr, mem_func_t const &amp;memmove_func)</argsstring>
        <name>output_blocked_callback_logic</name>
        <qualifiedname>gr::buffer_single_mapped::output_blocked_callback_logic</qualifiedname>
        <param>
          <type>int</type>
          <declname>output_multiple</declname>
        </param>
        <param>
          <type>bool</type>
          <declname>force</declname>
        </param>
        <param>
          <type>char *</type>
          <declname>buffer_ptr</declname>
        </param>
        <param>
          <type><ref refid="namespacegr_1a0b77f61373ac58a56ad902dd0bb633bf" kindref="member">mem_func_t</ref> const &amp;</type>
          <declname>memmove_func</declname>
        </param>
        <briefdescription>
<para>Abstracted logic for the output blocked callback function. </para>
        </briefdescription>
        <detaileddescription>
<para>This function contains the logic for the output blocked callback however the data adjustment portion of the callback has been abstracted to allow the caller to pass in the desired buffer and corresponding buffer manipulation functions (memcpy and memmove).</para>
<para>The output blocked callback is called when a block needs to write data to the end of a single mapped buffer but not enough free space exists to write the data before the end of the buffer is reached. The output blocked callback will attempt to copy data located towards the end of a single mapped buffer back to the beginning of the buffer. This process explicitly handles wrapping for a single mapped buffer and will realign data located at the end of a buffer back to the beginning of the buffer such that the writing block can write its output into the buffer after the existing data.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>output_multiple</parametername>
</parameternamelist>
<parameterdescription>
<para></para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>force</parametername>
</parameternamelist>
<parameterdescription>
<para>run the callback disregarding the internal checks </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>buffer_ptr</parametername>
</parameternamelist>
<parameterdescription>
<para>is the pointer to the desired buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>memmove_func</parametername>
</parameternamelist>
<parameterdescription>
<para>is a pointer to a memmove function appropriate for the passed in buffer </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="206" column="18"/>
      </memberdef>
    </sectiondef>
    <briefdescription>
<para>A single mapped buffer where wrapping conditions are handled explicitly via input/output_blocked_callback functions called from block_executor. </para>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <inheritancegraph>
      <node id="2">
        <label>gr::buffer</label>
        <link refid="classgr_1_1buffer"/>
        <childnode refid="3" relation="public-inheritance">
        </childnode>
      </node>
      <node id="1">
        <label>gr::buffer_single_mapped</label>
        <link refid="classgr_1_1buffer__single__mapped"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
      <node id="3">
        <label>gr::custom_lock_if</label>
        <link refid="classgr_1_1custom__lock__if"/>
      </node>
      <node id="4">
        <label>gr::host_buffer</label>
        <link refid="classgr_1_1host__buffer"/>
        <childnode refid="1" relation="public-inheritance">
        </childnode>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="10">
        <label>gr::basic_block</label>
        <link refid="classgr_1_1basic__block"/>
        <childnode refid="11" relation="public-inheritance">
        </childnode>
        <childnode refid="13" relation="public-inheritance">
        </childnode>
        <childnode refid="14" relation="usage">
          <edgelabel>d_name</edgelabel>
          <edgelabel>d_symbol_alias</edgelabel>
          <edgelabel>d_symbol_name</edgelabel>
        </childnode>
        <childnode refid="16" relation="usage">
          <edgelabel>d_input_signature</edgelabel>
          <edgelabel>d_output_signature</edgelabel>
        </childnode>
        <childnode refid="4" relation="usage">
          <edgelabel>d_debug_logger</edgelabel>
          <edgelabel>d_logger</edgelabel>
        </childnode>
        <childnode refid="17" relation="usage">
          <edgelabel>msg_queue</edgelabel>
        </childnode>
        <childnode refid="18" relation="usage">
          <edgelabel>d_rpc_vars</edgelabel>
        </childnode>
        <childnode refid="20" relation="usage">
          <edgelabel>d_message_subscribers</edgelabel>
        </childnode>
      </node>
      <node id="9">
        <label>gr::block</label>
        <link refid="classgr_1_1block"/>
        <childnode refid="10" relation="public-inheritance">
        </childnode>
        <childnode refid="21" relation="usage">
          <edgelabel>d_max_output_buffer</edgelabel>
          <edgelabel>d_min_output_buffer</edgelabel>
        </childnode>
        <childnode refid="20" relation="usage">
          <edgelabel>d_pmt_done</edgelabel>
          <edgelabel>d_system_port</edgelabel>
        </childnode>
      </node>
      <node id="2">
        <label>gr::buffer</label>
        <link refid="classgr_1_1buffer"/>
        <childnode refid="3" relation="public-inheritance">
        </childnode>
        <childnode refid="4" relation="usage">
          <edgelabel>d_debug_logger</edgelabel>
          <edgelabel>d_logger</edgelabel>
        </childnode>
        <childnode refid="5" relation="usage">
          <edgelabel>d_readers</edgelabel>
        </childnode>
        <childnode refid="8" relation="usage">
          <edgelabel>d_link</edgelabel>
        </childnode>
        <childnode refid="22" relation="usage">
          <edgelabel>d_item_tags</edgelabel>
        </childnode>
      </node>
      <node id="6">
        <label>gr::buffer_reader</label>
        <link refid="classgr_1_1buffer__reader"/>
        <childnode refid="7" relation="usage">
          <edgelabel>d_buffer</edgelabel>
        </childnode>
        <childnode refid="8" relation="usage">
          <edgelabel>d_link</edgelabel>
        </childnode>
      </node>
      <node id="1">
        <label>gr::buffer_single_mapped</label>
        <link refid="classgr_1_1buffer__single__mapped"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
        <childnode refid="4" relation="usage">
          <edgelabel>d_debug_logger</edgelabel>
          <edgelabel>d_logger</edgelabel>
        </childnode>
        <childnode refid="24" relation="usage">
          <edgelabel>d_buf_owner</edgelabel>
        </childnode>
        <childnode refid="25" relation="usage">
          <edgelabel>d_buffer</edgelabel>
        </childnode>
      </node>
      <node id="3">
        <label>gr::custom_lock_if</label>
        <link refid="classgr_1_1custom__lock__if"/>
      </node>
      <node id="12">
        <label>gr::messages::msg_accepter</label>
        <link refid="classgr_1_1messages_1_1msg__accepter"/>
      </node>
      <node id="11">
        <label>gr::msg_accepter</label>
        <link refid="classgr_1_1msg__accepter"/>
        <childnode refid="12" relation="public-inheritance">
        </childnode>
      </node>
      <node id="23">
        <label>gr::tag_t</label>
        <link refid="structgr_1_1tag__t"/>
        <childnode refid="20" relation="usage">
          <edgelabel>key</edgelabel>
          <edgelabel>srcid</edgelabel>
          <edgelabel>value</edgelabel>
        </childnode>
        <childnode refid="21" relation="usage">
          <edgelabel>marked_deleted</edgelabel>
        </childnode>
      </node>
      <node id="15">
        <label>std::basic_string&lt; Char &gt;</label>
      </node>
      <node id="13">
        <label>std::enable_shared_from_this&lt; basic_block &gt;</label>
      </node>
      <node id="17">
        <label>std::map&lt; pmt::pmt_t, msg_queue_t, msg_queue_comparator &gt;</label>
      </node>
      <node id="22">
        <label>std::multimap&lt; uint64_t, gr::tag_t &gt;</label>
        <childnode refid="23" relation="usage">
          <edgelabel>elements</edgelabel>
        </childnode>
      </node>
      <node id="24">
        <label>std::shared_ptr&lt; block &gt;</label>
      </node>
      <node id="7">
        <label>std::shared_ptr&lt; buffer &gt;</label>
      </node>
      <node id="16">
        <label>std::shared_ptr&lt; io_signature &gt;</label>
      </node>
      <node id="4">
        <label>std::shared_ptr&lt; logger &gt;</label>
      </node>
      <node id="20">
        <label>std::shared_ptr&lt; pmt_base &gt;</label>
      </node>
      <node id="19">
        <label>std::shared_ptr&lt; rpcbasic_base &gt;</label>
      </node>
      <node id="14">
        <label>std::string</label>
        <childnode refid="15" relation="public-inheritance">
        </childnode>
      </node>
      <node id="25">
        <label>std::unique_ptr&lt; char[]&gt;</label>
      </node>
      <node id="5">
        <label>std::vector&lt; gr::buffer_reader * &gt;</label>
        <childnode refid="6" relation="usage">
          <edgelabel>elements</edgelabel>
          <edgelabel>p</edgelabel>
        </childnode>
      </node>
      <node id="21">
        <label>std::vector&lt; long &gt;</label>
      </node>
      <node id="18">
        <label>std::vector&lt; rpcbasic_sptr &gt;</label>
        <childnode refid="19" relation="usage">
          <edgelabel>elements</edgelabel>
          <edgelabel>p</edgelabel>
        </childnode>
      </node>
      <node id="8">
        <label>std::weak_ptr&lt; gr::block &gt;</label>
        <childnode refid="9" relation="usage">
          <edgelabel>ptr</edgelabel>
        </childnode>
      </node>
    </collaborationgraph>
    <location file="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" line="29" column="1" bodyfile="gnuradio-runtime/include/gnuradio/buffer_single_mapped.h" bodystart="30" bodyend="210"/>
    <listofallmembers>
      <member refid="classgr_1_1buffer_1a3db6fc56cd5b5df7f672ecc4288fc5eb" prot="public" virt="virtual"><scope>gr::buffer_single_mapped</scope><name>_read_pointer</name></member>
      <member refid="classgr_1_1buffer_1a5a40fb3c9766a4a1838ae8f297abd276" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>add_item_tag</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1a365a4d804322b14665608a648e57897b" prot="protected" virt="virtual"><scope>gr::buffer_single_mapped</scope><name>allocate_buffer</name></member>
      <member refid="classgr_1_1buffer_1ab94dbed3b54d990bb5ddabf3a52d6dc6" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>base</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1ae514fe9623fbaa4eba3a5d0ed1d5aead" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>buf_owner</name></member>
      <member refid="classgr_1_1buffer_1aec50e29ac75f0748e8c37d68d4748937" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>buffer</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1acd526cda08365e46391a84fcf8cc73c1" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>buffer_reader</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1a571e60bca7a1c0286ea0b24c78ff8106" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>buffer_single_mapped</name></member>
      <member refid="classgr_1_1buffer_1ab9d95112a0946ffeca3cbe4639c47491" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>bufsize</name></member>
      <member refid="classgr_1_1buffer_1a8c322379309de2385a05e9bb4295cc2a" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_abs_write_offset</name></member>
      <member refid="classgr_1_1buffer_1a07d08a3b8dd23ff660081eca977c9542" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_active_pointer_counter</name></member>
      <member refid="classgr_1_1buffer_1ae16149310d83aecb8e509b6c6de2818a" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_base</name></member>
      <member refid="classgr_1_1buffer_1a8d978b461b8068a71d95b5b70e842e7f" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_buf_map_type</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1a3b7d7d4b2bc929bfca74b6b60da0da2e" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_buf_owner</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1a815b3123cecc09093199c5dd287a093d" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_buffer</name></member>
      <member refid="classgr_1_1buffer_1a6cb33e2a667363ffec56c98ba332a975" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_bufsize</name></member>
      <member refid="classgr_1_1buffer_1af82abe71a746c88ddaac4df8869d8b54" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_callback_flag</name></member>
      <member refid="classgr_1_1buffer_1af4e74b1c9eb50af9ceaf898303470131" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_cv</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1afe97e8390e21a225ad208ac29f3e8183" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_debug_logger</name></member>
      <member refid="classgr_1_1buffer_1adc29bce8e14dbe56396fe10c2f111c79" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_done</name></member>
      <member refid="classgr_1_1buffer_1abaf15e91a96ed8cae4291d03ced42041" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_downstream_lcm_nitems</name></member>
      <member refid="classgr_1_1buffer_1a97e61077c70cd8c204d0c4206fe780ab" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_has_history</name></member>
      <member refid="classgr_1_1buffer_1abb6050c09bdc24f68e84a8f1238195f4" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_item_tags</name></member>
      <member refid="classgr_1_1buffer_1af828cd456f9ce3156cee0e8328de153e" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_last_min_items_read</name></member>
      <member refid="classgr_1_1buffer_1a2b1e12f320803bb4cbbaf7e7fea2467b" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_link</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1aa9216c8b73394861d553ffe0d44d450e" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_logger</name></member>
      <member refid="classgr_1_1buffer_1a14be6d8f626e91ae07e79a7a04aff52b" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_max_reader_delay</name></member>
      <member refid="classgr_1_1buffer_1ad09fd178c58d1b31ff7eaf0f04e6cd53" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_max_reader_history</name></member>
      <member refid="classgr_1_1buffer_1a7862241afea8e3c600cdefeae95fcf0b" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_max_reader_output_multiple</name></member>
      <member refid="classgr_1_1buffer_1a29332c6ba773d6adf50528ee423fc67b" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_mutex</name></member>
      <member refid="classgr_1_1buffer_1abdf5dd91e8393bcae546b3719cf1c373" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_readers</name></member>
      <member refid="classgr_1_1buffer_1aea14fec8297006abcc4aac9d1c312d9c" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_sizeof_item</name></member>
      <member refid="classgr_1_1buffer_1af46779d6258054d382ffb457eedf606b" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_transfer_type</name></member>
      <member refid="classgr_1_1buffer_1ae034276ad2deadf1a25017a07295eb33" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_write_index</name></member>
      <member refid="classgr_1_1buffer_1a39ae98fb9329aa79c6a5c2b3e681082f" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>d_write_multiple</name></member>
      <member refid="classgr_1_1buffer_1a4efebb7fd00b2c5f3b7129a84195f0ed" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>decrement_active</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1af2a85b38753e63d23a6bb3b963383384" prot="protected" virt="pure-virtual"><scope>gr::buffer_single_mapped</scope><name>do_allocate_buffer</name></member>
      <member refid="classgr_1_1buffer_1a4badc0ebfa6c47f6d200e78ff29fe3c1" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>done</name></member>
      <member refid="classgr_1_1buffer_1aa56f822a5356b0dc192e7d2a83af41ee" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>drop_reader</name></member>
      <member refid="classgr_1_1buffer_1a39523f5579c55c0bf2a63dcfccb51fe2" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>get_downstream_lcm_nitems</name></member>
      <member refid="classgr_1_1buffer_1aae022c285c8d1e8209312b9c2a3be8b4" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>get_mapping_type</name></member>
      <member refid="classgr_1_1buffer_1a9755c1b7e901fdd2e2bbe693324141cc" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>get_max_reader_output_multiple</name></member>
      <member refid="classgr_1_1buffer_1ab2d506dffae964a1984892d8bd4900f6" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>get_sizeof_item</name></member>
      <member refid="classgr_1_1buffer_1ae154739f440c435840d0fbcd5ff31e74" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>get_tags_begin</name></member>
      <member refid="classgr_1_1buffer_1a245a4ee253e5eb702569cf52029e2143" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>get_tags_end</name></member>
      <member refid="classgr_1_1buffer_1a15bbdc75274e18fcac817e6673830714" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>get_tags_lower_bound</name></member>
      <member refid="classgr_1_1buffer_1a3f618b43ab6b94a7fd2a77e4929856e9" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>get_tags_upper_bound</name></member>
      <member refid="classgr_1_1buffer_1a545dd9979077aae2834959ddb11624ea" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>increment_active</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1adb7adf8b2d8f39264cc1cab369065161" prot="protected" virt="virtual"><scope>gr::buffer_single_mapped</scope><name>index_add</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1a174a65dbf1358b480f62a42320a9597e" prot="protected" virt="virtual"><scope>gr::buffer_single_mapped</scope><name>index_sub</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1a767578bce3205914c044e9a11f1366f1" prot="public" virt="virtual"><scope>gr::buffer_single_mapped</scope><name>input_blkd_cb_ready</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1a24ff84645e8899e705fa991e511ab993" prot="public" virt="pure-virtual"><scope>gr::buffer_single_mapped</scope><name>input_blocked_callback</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1a9289ad6ef90fc848c3bef9d714255949" prot="protected" virt="virtual"><scope>gr::buffer_single_mapped</scope><name>input_blocked_callback_logic</name></member>
      <member refid="classgr_1_1buffer_1aa749e1b47a6ed898cbf6b7a2fe8e04f6" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>link</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1a4e581f90551a3ac5de1d7425b7b055a5" prot="protected" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>make_buffer</name></member>
      <member refid="classgr_1_1buffer_1ae404a5f069e4a43297ce1683b16c00d0" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>mutex</name></member>
      <member refid="classgr_1_1buffer_1ae84c5bd38f9c5171ee5fe3d392a87b0a" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>nitems_written</name></member>
      <member refid="classgr_1_1buffer_1a0e390beb09787597d426ac7d55a186bf" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>nreaders</name></member>
      <member refid="classgr_1_1buffer_1acd0478ad163d735f6d11bdeaa264087d" prot="public" virt="virtual"><scope>gr::buffer_single_mapped</scope><name>on_lock</name></member>
      <member refid="classgr_1_1buffer_1a8bdc182def9a32d696a7f47e2eee6fc1" prot="public" virt="virtual"><scope>gr::buffer_single_mapped</scope><name>on_unlock</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1a6cab3e8b5114bc9f84ba988178ba9816" prot="public" virt="virtual"><scope>gr::buffer_single_mapped</scope><name>output_blkd_cb_ready</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1ac9f70c0b7e5e983f824673595c04634b" prot="public" virt="pure-virtual"><scope>gr::buffer_single_mapped</scope><name>output_blocked_callback</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1afa73ede64e1866e07050d840cd596e77" prot="protected" virt="virtual"><scope>gr::buffer_single_mapped</scope><name>output_blocked_callback_logic</name></member>
      <member refid="classgr_1_1buffer_1a5ac7fb51b1e936dfc2690744c090eb8e" prot="public" virt="pure-virtual"><scope>gr::buffer_single_mapped</scope><name>post_work</name></member>
      <member refid="classgr_1_1buffer_1a407543b3e4c24532b899a6ddffa0c956" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>prune_tags</name></member>
      <member refid="classgr_1_1buffer_1a808ed5bf08d019b1a8562b587483d39d" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>reader</name></member>
      <member refid="classgr_1_1buffer_1a2773056e40c1f34bc5be8b1ca71d8006" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>remove_item_tag</name></member>
      <member refid="classgr_1_1buffer_1a89cc95c84f69fee453830ec3b2a30d7a" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>reset_nitem_counter</name></member>
      <member refid="classgr_1_1buffer_1a9d03c27ca88115c9b7c966acdd3fed4c" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>set_done</name></member>
      <member refid="classgr_1_1buffer_1ab0ad0bdc5f1d27d07e35ae152d77dac6" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>set_transfer_type</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1aedcc189b7e0ec0b6bc1fd9d316ce761d" prot="public" virt="virtual"><scope>gr::buffer_single_mapped</scope><name>space_available</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1ad39c826c2884ec2952e5e19c02d5169d" prot="public" virt="virtual"><scope>gr::buffer_single_mapped</scope><name>update_reader_block_history</name></member>
      <member refid="classgr_1_1buffer_1adbb35c9b612feb6cdc55756ba7c5b08c" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>update_write_pointer</name></member>
      <member refid="classgr_1_1buffer_1a23b016f0a5a493e5a73da972a5040222" prot="public" virt="virtual"><scope>gr::buffer_single_mapped</scope><name>write_pointer</name></member>
      <member refid="classgr_1_1buffer_1a7d24f4f172944daa14978a3fdfdb7f4d" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>~buffer</name></member>
      <member refid="classgr_1_1buffer__single__mapped_1a35b5927ef9a798c6017d77418f1afb6f" prot="public" virt="non-virtual"><scope>gr::buffer_single_mapped</scope><name>~buffer_single_mapped</name></member>
      <member refid="classgr_1_1custom__lock__if_1a4584fd142418e846054e5e4bb21bf729" prot="public" virt="virtual"><scope>gr::buffer_single_mapped</scope><name>~custom_lock_if</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
