1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
|
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class template basic_managed_mapped_file</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<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.managed_mapped_file_hpp" title="Header <boost/interprocess/managed_mapped_file.hpp>">
<link rel="prev" href="basic_managed_heap_memory.html" title="Class template basic_managed_heap_memory">
<link rel="next" href="basic_managed_shared_me_id812111.html" title="Class template basic_managed_shared_memory">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="basic_managed_heap_memory.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_interprocess_reference.html#header.boost.interprocess.managed_mapped_file_hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="basic_managed_shared_me_id812111.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="refentry" title="Class template basic_managed_mapped_file">
<a name="boost.interprocess.basic_managed_mapped_file"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class template basic_managed_mapped_file</span></h2>
<p>boost::interprocess::basic_managed_mapped_file</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: <<a class="link" href="../../boost_interprocess_reference.html#header.boost.interprocess.managed_mapped_file_hpp" title="Header <boost/interprocess/managed_mapped_file.hpp>">boost/interprocess/managed_mapped_file.hpp</a>>
</em></span><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> CharType, <span class="bold"><strong>typename</strong></span> AllocationAlgorithm,
<span class="bold"><strong>template</strong></span>< <span class="bold"><strong>class</strong></span> IndexConfig > <span class="bold"><strong>class</strong></span> IndexType>
<span class="bold"><strong>class</strong></span> <a class="link" href="basic_managed_mapped_file.html" title="Class template basic_managed_mapped_file">basic_managed_mapped_file</a> {
<span class="bold"><strong>public</strong></span>:
<span class="emphasis"><em>// <a class="link" href="basic_managed_mapped_file.html#boost.interprocess.basic_managed_mapped_fileconstruct-copy-destruct">construct/copy/destruct</a></em></span>
<a class="link" href="basic_managed_mapped_file.html#id811861-bb">basic_managed_mapped_file</a>();
<a class="link" href="basic_managed_mapped_file.html#id811867-bb">basic_managed_mapped_file</a>(<a class="link" href="create_only_t.html" title="Struct create_only_t">create_only_t</a>, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, std::size_t,
<span class="bold"><strong>const</strong></span> <span class="bold"><strong>void</strong></span> * = 0);
<a class="link" href="basic_managed_mapped_file.html#id811899-bb">basic_managed_mapped_file</a>(<a class="link" href="open_or_create_t.html" title="Struct open_or_create_t">open_or_create_t</a>, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, std::size_t,
<span class="bold"><strong>const</strong></span> <span class="bold"><strong>void</strong></span> * = 0);
<a class="link" href="basic_managed_mapped_file.html#id811932-bb">basic_managed_mapped_file</a>(<a class="link" href="open_only_t.html" title="Struct open_only_t">open_only_t</a>, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>void</strong></span> * = 0);
<a class="link" href="basic_managed_mapped_file.html#id811958-bb">basic_managed_mapped_file</a>(<a class="link" href="open_copy_on_write_t.html" title="Struct open_copy_on_write_t">open_copy_on_write_t</a>, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *,
<span class="bold"><strong>const</strong></span> <span class="bold"><strong>void</strong></span> * = 0);
<a class="link" href="basic_managed_mapped_file.html#id811984-bb">basic_managed_mapped_file</a>(<a class="link" href="open_read_only_t.html" title="Struct open_read_only_t">open_read_only_t</a>, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>void</strong></span> * = 0);
<a class="link" href="basic_managed_mapped_file.html#id812011-bb">basic_managed_mapped_file</a>(<a class="link" href="basic_managed_mapped_file.html" title="Class template basic_managed_mapped_file">basic_managed_mapped_file</a> &&);
basic_managed_mapped_file& <a class="link" href="basic_managed_mapped_file.html#id812025-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="basic_managed_mapped_file.html" title="Class template basic_managed_mapped_file">basic_managed_mapped_file</a> &&);
<a class="link" href="basic_managed_mapped_file.html#id812038-bb">~basic_managed_mapped_file</a>();
<span class="emphasis"><em>// <a class="link" href="basic_managed_mapped_file.html#id811825-bb">public member functions</a></em></span>
<span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_managed_mapped_file.html#id811829-bb">swap</a>(<a class="link" href="basic_managed_mapped_file.html" title="Class template basic_managed_mapped_file">basic_managed_mapped_file</a> &) ;
<span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_managed_mapped_file.html#id811849-bb">flush</a>() ;
<span class="emphasis"><em>// <a class="link" href="basic_managed_mapped_file.html#id812049-bb">public static functions</a></em></span>
<span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_managed_mapped_file.html#id812052-bb">grow</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, std::size_t) ;
<span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_managed_mapped_file.html#id812080-bb">shrink_to_fit</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *) ;
};</pre></div>
<div class="refsect1" title="Description">
<a name="id1026608"></a><h2>Description</h2>
<p>A basic mapped file named object creation class. Initializes the mapped file. Inherits all basic functionality from basic_managed_memory_impl<CharType, AllocationAlgorithm, IndexType> </p>
<div class="refsect2" title="basic_managed_mapped_file public construct/copy/destruct">
<a name="id1026621"></a><h3>
<a name="boost.interprocess.basic_managed_mapped_fileconstruct-copy-destruct"></a><code class="computeroutput">basic_managed_mapped_file</code>
public
construct/copy/destruct</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<pre class="literallayout"><a name="id811861-bb"></a>basic_managed_mapped_file();</pre>
<p>Creates mapped file and creates and places the segment manager. This can throw. </p>
</li>
<li class="listitem">
<pre class="literallayout"><a name="id811867-bb"></a>basic_managed_mapped_file(<a class="link" href="create_only_t.html" title="Struct create_only_t">create_only_t</a> create_only, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name,
std::size_t size, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>void</strong></span> * addr = 0);</pre>
<p>Creates mapped file and creates and places the segment manager. This can throw. </p>
</li>
<li class="listitem">
<pre class="literallayout"><a name="id811899-bb"></a>basic_managed_mapped_file(<a class="link" href="open_or_create_t.html" title="Struct open_or_create_t">open_or_create_t</a> open_or_create, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name,
std::size_t size, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>void</strong></span> * addr = 0);</pre>
<p>Creates mapped file and creates and places the segment manager if segment was not created. If segment was created it connects to the segment. This can throw. </p>
</li>
<li class="listitem">
<pre class="literallayout"><a name="id811932-bb"></a>basic_managed_mapped_file(<a class="link" href="open_only_t.html" title="Struct open_only_t">open_only_t</a> open_only, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name,
<span class="bold"><strong>const</strong></span> <span class="bold"><strong>void</strong></span> * addr = 0);</pre>
<p>Connects to a created mapped file and its segment manager. This can throw. </p>
</li>
<li class="listitem">
<pre class="literallayout"><a name="id811958-bb"></a>basic_managed_mapped_file(<a class="link" href="open_copy_on_write_t.html" title="Struct open_copy_on_write_t">open_copy_on_write_t</a>, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name,
<span class="bold"><strong>const</strong></span> <span class="bold"><strong>void</strong></span> * addr = 0);</pre>
<p>Connects to a created mapped file and its segment manager in copy_on_write mode. This can throw. </p>
</li>
<li class="listitem">
<pre class="literallayout"><a name="id811984-bb"></a>basic_managed_mapped_file(<a class="link" href="open_read_only_t.html" title="Struct open_read_only_t">open_read_only_t</a>, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name,
<span class="bold"><strong>const</strong></span> <span class="bold"><strong>void</strong></span> * addr = 0);</pre>
<p>Connects to a created mapped file and its segment manager in read-only mode. This can throw. </p>
</li>
<li class="listitem">
<pre class="literallayout"><a name="id812011-bb"></a>basic_managed_mapped_file(<a class="link" href="basic_managed_mapped_file.html" title="Class template basic_managed_mapped_file">basic_managed_mapped_file</a> && moved);</pre>
<p>Moves the ownership of "moved"'s managed memory to *this. Does not throw </p>
</li>
<li class="listitem">
<pre class="literallayout">basic_managed_mapped_file& <a name="id812025-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="basic_managed_mapped_file.html" title="Class template basic_managed_mapped_file">basic_managed_mapped_file</a> && moved);</pre>
<p>Moves the ownership of "moved"'s managed memory to *this. Does not throw </p>
</li>
<li class="listitem">
<pre class="literallayout"><a name="id812038-bb"></a>~basic_managed_mapped_file();</pre>
<p>Destroys *this and indicates that the calling process is finished using the resource. The destructor function will deallocate any system resources allocated by the system for use by this process for this resource. The resource can still be opened again calling the open constructor overload. To erase the resource from the system use remove(). </p>
</li>
</ol></div>
</div>
<div class="refsect2" title="basic_managed_mapped_file public member functions">
<a name="id1026981"></a><h3>
<a name="id811825-bb"></a><code class="computeroutput">basic_managed_mapped_file</code> public member functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id811829-bb"></a>swap(<a class="link" href="basic_managed_mapped_file.html" title="Class template basic_managed_mapped_file">basic_managed_mapped_file</a> & other) ;</pre>
<p>Swaps the ownership of the managed mapped memories managed by *this and other. Never throws. </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id811849-bb"></a>flush() ;</pre>
<p>Flushes cached data to file. Never throws </p>
</li>
</ol></div>
</div>
<div class="refsect2" title="basic_managed_mapped_file public static functions">
<a name="id1027054"></a><h3>
<a name="id812049-bb"></a><code class="computeroutput">basic_managed_mapped_file</code> public static functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>bool</strong></span></span> <a name="id812052-bb"></a>grow(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * filename, std::size_t extra_bytes) ;</pre>
<p>Tries to resize mapped file so that we have room for more objects.</p>
<p>This function is not synchronized so no other thread or process should be reading or writing the file </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>bool</strong></span></span> <a name="id812080-bb"></a>shrink_to_fit(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * filename) ;</pre>
<p>Tries to resize mapped file to minimized the size of the file.</p>
<p>This function is not synchronized so no other thread or process should be reading or writing the file </p>
</li>
</ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2005 - 2008 Ion Gaztanaga<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="basic_managed_heap_memory.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_interprocess_reference.html#header.boost.interprocess.managed_mapped_file_hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="basic_managed_shared_me_id812111.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>
|