summaryrefslogtreecommitdiff
path: root/doc/html/boost/interprocess/mapped_region.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/boost/interprocess/mapped_region.html')
-rw-r--r--[-rwxr-xr-x]doc/html/boost/interprocess/mapped_region.html89
1 files changed, 43 insertions, 46 deletions
diff --git a/doc/html/boost/interprocess/mapped_region.html b/doc/html/boost/interprocess/mapped_region.html
index 09f5385c29..8208a2a7ea 100755..100644
--- a/doc/html/boost/interprocess/mapped_region.html
+++ b/doc/html/boost/interprocess/mapped_region.html
@@ -6,7 +6,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="../../boost_interprocess_reference.html#header.boost.interprocess.mapped_region_hpp" title="Header &lt;boost/interprocess/mapped_region.hpp&gt;">
-<link rel="prev" href="basic_managed_xsi_share_id987189.html" title="Class template basic_managed_xsi_shared_memory">
+<link rel="prev" href="basic_managed_xsi_id993432.html" title="Class template basic_managed_xsi_shared_memory">
<link rel="next" href="rbtree_best_fit.html" title="Class template rbtree_best_fit">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="basic_managed_xsi_share_id987189.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_interprocess_reference.html#header.boost.interprocess.mapped_region_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rbtree_best_fit.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="basic_managed_xsi_id993432.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_interprocess_reference.html#header.boost.interprocess.mapped_region_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rbtree_best_fit.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.interprocess.mapped_region"></a><div class="titlepage"></div>
@@ -36,94 +36,91 @@
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// <a class="link" href="mapped_region.html#boost.interprocess.mapped_regionconstruct-copy-destruct">construct/copy/destruct</a></span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> MemoryMappable<span class="special">&gt;</span>
- <a class="link" href="mapped_region.html#id987630-bb"><span class="identifier">mapped_region</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">MemoryMappable</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">mode_t</span><span class="special">,</span> <span class="identifier">offset_t</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
+ <a class="link" href="mapped_region.html#id993876-bb"><span class="identifier">mapped_region</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">MemoryMappable</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">mode_t</span><span class="special">,</span> <span class="identifier">offset_t</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span>
- <a class="link" href="mapped_region.html#id987680-bb"><span class="identifier">mapped_region</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
- <a class="link" href="mapped_region.html#id987687-bb"><span class="identifier">mapped_region</span></a><span class="special">(</span><a class="link" href="mapped_region.html" title="Class mapped_region">mapped_region</a> <span class="special">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
- mapped_region&amp; <a class="link" href="mapped_region.html#id987706-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="mapped_region.html" title="Class mapped_region">mapped_region</a> <span class="special">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
- <a class="link" href="mapped_region.html#id987701-bb"><span class="special">~</span><span class="identifier">mapped_region</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="mapped_region.html#id993935-bb"><span class="identifier">mapped_region</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="mapped_region.html#id993941-bb"><span class="identifier">mapped_region</span></a><span class="special">(</span><a class="link" href="mapped_region.html" title="Class mapped_region">mapped_region</a> <span class="special">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
+ mapped_region&amp; <a class="link" href="mapped_region.html#id993960-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="mapped_region.html" title="Class mapped_region">mapped_region</a> <span class="special">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="mapped_region.html#id993955-bb"><span class="special">~</span><span class="identifier">mapped_region</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
- <span class="comment">// <a class="link" href="mapped_region.html#id987516-bb">public member functions</a></span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="mapped_region.html#id987519-bb"><span class="identifier">get_size</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">void</span> <span class="special">*</span> <a class="link" href="mapped_region.html#id987539-bb"><span class="identifier">get_address</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">offset_t</span> <a class="link" href="mapped_region.html#id987551-bb"><span class="identifier">get_offset</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">mode_t</span> <a class="link" href="mapped_region.html#id987564-bb"><span class="identifier">get_mode</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">bool</span> <a class="link" href="mapped_region.html#id987576-bb"><span class="identifier">flush</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span>
- <span class="keyword">void</span> <a class="link" href="mapped_region.html#id987604-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="mapped_region.html" title="Class mapped_region">mapped_region</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="comment">// <a class="link" href="mapped_region.html#id993770-bb">public member functions</a></span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="mapped_region.html#id993773-bb"><span class="identifier">get_size</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">void</span> <span class="special">*</span> <a class="link" href="mapped_region.html#id993784-bb"><span class="identifier">get_address</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">mode_t</span> <a class="link" href="mapped_region.html#id993796-bb"><span class="identifier">get_mode</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <a class="link" href="mapped_region.html#id993808-bb"><span class="identifier">flush</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="keyword">bool</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">void</span> <a class="link" href="mapped_region.html#id993850-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="mapped_region.html" title="Class mapped_region">mapped_region</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
- <span class="comment">// <a class="link" href="mapped_region.html#id987721-bb">public static functions</a></span>
- <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="mapped_region.html#id987725-bb"><span class="identifier">get_page_size</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="comment">// <a class="link" href="mapped_region.html#id993975-bb">public static functions</a></span>
+ <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="mapped_region.html#id993978-bb"><span class="identifier">get_page_size</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1">
-<a name="id1795795"></a><h2>Description</h2>
-<p>The <a class="link" href="mapped_region.html" title="Class mapped_region">mapped_region</a> class represents a portion or region created from a memory_mappable object. </p>
+<a name="id1813635"></a><h2>Description</h2>
+<p>The <a class="link" href="mapped_region.html" title="Class mapped_region">mapped_region</a> class represents a portion or region created from a memory_mappable object.</p>
+<p>The OS can map a region bigger than the requested one, as region must be multiple of the page size, but <a class="link" href="mapped_region.html" title="Class mapped_region">mapped_region</a> will always refer to the region specified by the user. </p>
<div class="refsect2">
-<a name="id1795811"></a><h3>
+<a name="id1813664"></a><h3>
<a name="boost.interprocess.mapped_regionconstruct-copy-destruct"></a><code class="computeroutput">mapped_region</code>
public
construct/copy/destruct</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> MemoryMappable<span class="special">&gt;</span>
- <a name="id987630-bb"></a><span class="identifier">mapped_region</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">MemoryMappable</span> <span class="special">&amp;</span> mapping<span class="special">,</span> <span class="identifier">mode_t</span> mode<span class="special">,</span>
+ <a name="id993876-bb"></a><span class="identifier">mapped_region</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">MemoryMappable</span> <span class="special">&amp;</span> mapping<span class="special">,</span> <span class="identifier">mode_t</span> mode<span class="special">,</span>
<span class="identifier">offset_t</span> offset <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> size <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
<span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> address <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span></pre>
-<p>Creates a mapping region of the mapped memory "mapping", starting in offset "offset", and the mapping's size will be "size". The mapping can be opened for read-only "read_only" or read-write "read_write. </p>
+<p>Creates a mapping region of the mapped memory "mapping", starting in offset "offset", and the mapping's size will be "size". The mapping can be opened for read only, read-write or copy-on-write.</p>
+<p>If an address is specified, both the offset and the address must be multiples of the page size.</p>
+<p>The OS could allocate more pages than size/page_size(), but get_address() will always return the address passed in this function (if not null) and get_size() will return the specified size. </p>
</li>
<li class="listitem">
-<pre class="literallayout"><a name="id987680-bb"></a><span class="identifier">mapped_region</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
-<p>Default constructor. Default constructor. Address will be 0 (nullptr). Size and offset will be 0. Does not throw </p>
+<pre class="literallayout"><a name="id993935-bb"></a><span class="identifier">mapped_region</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p>Default constructor. Address will be 0 (nullptr). Size will be 0. Does not throw </p>
</li>
<li class="listitem">
-<pre class="literallayout"><a name="id987687-bb"></a><span class="identifier">mapped_region</span><span class="special">(</span><a class="link" href="mapped_region.html" title="Class mapped_region">mapped_region</a> <span class="special">&amp;&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
+<pre class="literallayout"><a name="id993941-bb"></a><span class="identifier">mapped_region</span><span class="special">(</span><a class="link" href="mapped_region.html" title="Class mapped_region">mapped_region</a> <span class="special">&amp;&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
<p>Move constructor. *this will be constructed taking ownership of "other"'s region and "other" will be left in default constructor state. </p>
</li>
<li class="listitem">
-<pre class="literallayout">mapped_region&amp; <a name="id987706-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="mapped_region.html" title="Class mapped_region">mapped_region</a> <span class="special">&amp;&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
+<pre class="literallayout">mapped_region&amp; <a name="id993960-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="mapped_region.html" title="Class mapped_region">mapped_region</a> <span class="special">&amp;&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
<p>Move assignment. If *this owns a memory mapped region, it will be destroyed and it will take ownership of "other"'s memory mapped region. </p>
</li>
<li class="listitem">
-<pre class="literallayout"><a name="id987701-bb"></a><span class="special">~</span><span class="identifier">mapped_region</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<pre class="literallayout"><a name="id993955-bb"></a><span class="special">~</span><span class="identifier">mapped_region</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<p>Destroys the mapped region. Does not throw </p>
</li>
</ol></div>
</div>
<div class="refsect2">
-<a name="id1796164"></a><h3>
-<a name="id987516-bb"></a><code class="computeroutput">mapped_region</code> public member functions</h3>
+<a name="id1814027"></a><h3>
+<a name="id993770-bb"></a><code class="computeroutput">mapped_region</code> public member functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
-<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id987519-bb"></a><span class="identifier">get_size</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<p>Returns the size of the mapping. Note for windows users: If <code class="computeroutput"><a class="link" href="windows_shared_memory.html" title="Class windows_shared_memory">windows_shared_memory</a></code> is mapped using 0 as the size, it returns 0 because the size is unknown. Never throws. </p>
-</li>
+<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id993773-bb"></a><span class="identifier">get_size</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Returns the size of the mapping. Never throws. </li>
<li class="listitem">
-<pre class="literallayout"><span class="keyword">void</span> <span class="special">*</span> <a name="id987539-bb"></a><span class="identifier">get_address</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<pre class="literallayout"><span class="keyword">void</span> <span class="special">*</span> <a name="id993784-bb"></a><span class="identifier">get_address</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p>Returns the base address of the mapping. Never throws. </p>
</li>
<li class="listitem">
-<pre class="literallayout"><span class="identifier">offset_t</span> <a name="id987551-bb"></a><span class="identifier">get_offset</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<p>Returns the offset of the mapping from the beginning of the mapped memory. Never throws. </p>
-</li>
-<li class="listitem">
-<pre class="literallayout"><span class="identifier">mode_t</span> <a name="id987564-bb"></a><span class="identifier">get_mode</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<p>Returns the mode of the mapping used to construct the mapped file. Never throws. </p>
+<pre class="literallayout"><span class="identifier">mode_t</span> <a name="id993796-bb"></a><span class="identifier">get_mode</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>Returns the mode of the mapping used to construct the mapped region. Never throws. </p>
</li>
<li class="listitem">
-<pre class="literallayout"><span class="keyword">bool</span> <a name="id987576-bb"></a><span class="identifier">flush</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> mapping_offset <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> numbytes <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span></pre>
-<p>Flushes to the disk a byte range within the mapped memory. Never throws </p>
+<pre class="literallayout"><span class="keyword">bool</span> <a name="id993808-bb"></a><span class="identifier">flush</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> mapping_offset <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> numbytes <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
+ <span class="keyword">bool</span> async <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span></pre>
+<p>Flushes to the disk a byte range within the mapped memory. If 'async' is true, the function will return before flushing operation is completed If 'async' is false, function will return once data has been written into the underlying device (i.e., in mapped files OS cached information is written to disk). Never throws. Returns false if operation could not be performed. </p>
</li>
<li class="listitem">
-<pre class="literallayout"><span class="keyword">void</span> <a name="id987604-bb"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="mapped_region.html" title="Class mapped_region">mapped_region</a> <span class="special">&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
+<pre class="literallayout"><span class="keyword">void</span> <a name="id993850-bb"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="mapped_region.html" title="Class mapped_region">mapped_region</a> <span class="special">&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
<p>Swaps the <code class="computeroutput"><a class="link" href="mapped_region.html" title="Class mapped_region">mapped_region</a></code> with another mapped region </p>
</li>
</ol></div>
</div>
<div class="refsect2">
-<a name="id1796537"></a><h3>
-<a name="id987721-bb"></a><code class="computeroutput">mapped_region</code> public static functions</h3>
+<a name="id1814369"></a><h3>
+<a name="id993975-bb"></a><code class="computeroutput">mapped_region</code> public static functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
-<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id987725-bb"></a><span class="identifier">get_page_size</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
-<p>Returns the size of the page. This size is the minimum memory that will be used by the system when mapping a memory mappable source. </p>
+<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id993978-bb"></a><span class="identifier">get_page_size</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p>Returns the size of the page. This size is the minimum memory that will be used by the system when mapping a memory mappable source and will restrict the address and the offset to map. </p>
</li></ol></div>
</div>
</div>
@@ -138,7 +135,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="basic_managed_xsi_share_id987189.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_interprocess_reference.html#header.boost.interprocess.mapped_region_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rbtree_best_fit.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="basic_managed_xsi_id993432.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_interprocess_reference.html#header.boost.interprocess.mapped_region_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rbtree_best_fit.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>