Files
simdjson-simdjson/classsimdjson_1_1padded__memory__map.html
2026-05-06 21:54:39 +00:00

274 lines
15 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: simdjson::padded_memory_map Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1padded__memory__map.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classsimdjson_1_1padded__memory__map-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">simdjson::padded_memory_map Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>A class representing a memory-mapped file with padding.
<a href="classsimdjson_1_1padded__memory__map.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="padded__string_8h_source.html">padded_string.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5a1f73fd289f091ec983fd707811ae85" id="r_a5a1f73fd289f091ec983fd707811ae85"><td class="memItemLeft" align="right" valign="top">simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1padded__memory__map.html#a5a1f73fd289f091ec983fd707811ae85">padded_memory_map</a> (const char *filename) noexcept</td></tr>
<tr class="memdesc:a5a1f73fd289f091ec983fd707811ae85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new padded memory map for the given file. <br /></td></tr>
<tr class="separator:a5a1f73fd289f091ec983fd707811ae85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e9f7288655b3b476889761a3009891f" id="r_a8e9f7288655b3b476889761a3009891f"><td class="memItemLeft" align="right" valign="top">simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1padded__memory__map.html#a8e9f7288655b3b476889761a3009891f">~padded_memory_map</a> () noexcept</td></tr>
<tr class="memdesc:a8e9f7288655b3b476889761a3009891f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy the padded memory map and release any resources. <br /></td></tr>
<tr class="separator:a8e9f7288655b3b476889761a3009891f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae39494a1c3f0bc3ca330f80d16f7cf5f" id="r_ae39494a1c3f0bc3ca330f80d16f7cf5f"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="classsimdjson_1_1padded__string__view.html">simdjson::padded_string_view</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1padded__memory__map.html#ae39494a1c3f0bc3ca330f80d16f7cf5f">view</a> () const noexcept simdjson_lifetime_bound</td></tr>
<tr class="memdesc:ae39494a1c3f0bc3ca330f80d16f7cf5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a view of the memory-mapped file. <br /></td></tr>
<tr class="separator:ae39494a1c3f0bc3ca330f80d16f7cf5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a067c795f5c367905314fba0ddf742299" id="r_a067c795f5c367905314fba0ddf742299"><td class="memItemLeft" align="right" valign="top">simdjson_inline bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1padded__memory__map.html#a067c795f5c367905314fba0ddf742299">is_valid</a> () const noexcept</td></tr>
<tr class="memdesc:a067c795f5c367905314fba0ddf742299"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the memory map is valid. <br /></td></tr>
<tr class="separator:a067c795f5c367905314fba0ddf742299"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A class representing a memory-mapped file with padding. </p>
<p>It is only available on non-Windows platforms, as Windows has different APIs for memory mapping. </p>
<p class="definition">Definition at line <a class="el" href="padded__string_8h_source.html#l00286">286</a> of file <a class="el" href="padded__string_8h_source.html">padded_string.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a5a1f73fd289f091ec983fd707811ae85" name="a5a1f73fd289f091ec983fd707811ae85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a1f73fd289f091ec983fd707811ae85">&#9670;&#160;</a></span>padded_memory_map()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::padded_memory_map::padded_memory_map </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>filename</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new padded memory map for the given file. </p>
<p>After creating the memory map, you can call <a class="el" href="classsimdjson_1_1padded__memory__map.html#ae39494a1c3f0bc3ca330f80d16f7cf5f" title="Get a view of the memory-mapped file.">view()</a> to get a <a class="el" href="classsimdjson_1_1padded__string__view.html" title="User-provided string that promises it has extra padded bytes at the end for use with parser::parse().">padded_string_view</a> of the file content. The memory map will be automatically released when the <a class="el" href="classsimdjson_1_1padded__memory__map.html" title="A class representing a memory-mapped file with padding.">padded_memory_map</a> instance is destroyed. Note that the file content is not copied, so this is efficient for large files. However, the file must remain unchanged while the memory map is in use. In case of error (e.g., file not found, permission denied, etc.), the memory map will be invalid and <a class="el" href="classsimdjson_1_1padded__memory__map.html#ae39494a1c3f0bc3ca330f80d16f7cf5f" title="Get a view of the memory-mapped file.">view()</a> will return an empty view. You can check if the memory map is valid by calling <a class="el" href="classsimdjson_1_1padded__memory__map.html#a067c795f5c367905314fba0ddf742299" title="Check if the memory map is valid.">is_valid()</a> before using <a class="el" href="classsimdjson_1_1padded__memory__map.html#ae39494a1c3f0bc3ca330f80d16f7cf5f" title="Get a view of the memory-mapped file.">view()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">filename</td><td>the path to the file to memory-map. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="padded__string-inl_8h_source.html#l00389">389</a> of file <a class="el" href="padded__string-inl_8h_source.html">padded_string-inl.h</a>.</p>
</div>
</div>
<a id="a8e9f7288655b3b476889761a3009891f" name="a8e9f7288655b3b476889761a3009891f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e9f7288655b3b476889761a3009891f">&#9670;&#160;</a></span>~padded_memory_map()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::padded_memory_map::~padded_memory_map </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Destroy the padded memory map and release any resources. </p>
<p class="definition">Definition at line <a class="el" href="padded__string-inl_8h_source.html#l00419">419</a> of file <a class="el" href="padded__string-inl_8h_source.html">padded_string-inl.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a067c795f5c367905314fba0ddf742299" name="a067c795f5c367905314fba0ddf742299"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a067c795f5c367905314fba0ddf742299">&#9670;&#160;</a></span>is_valid()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::padded_memory_map::is_valid </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if the memory map is valid. </p>
<dl class="section return"><dt>Returns</dt><dd>true if the memory map is valid, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="padded__string-inl_8h_source.html#l00433">433</a> of file <a class="el" href="padded__string-inl_8h_source.html">padded_string-inl.h</a>.</p>
</div>
</div>
<a id="ae39494a1c3f0bc3ca330f80d16f7cf5f" name="ae39494a1c3f0bc3ca330f80d16f7cf5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae39494a1c3f0bc3ca330f80d16f7cf5f">&#9670;&#160;</a></span>view()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="classsimdjson_1_1padded__string__view.html">simdjson::padded_string_view</a> simdjson::padded_memory_map::view </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a view of the memory-mapped file. </p>
<p>It always succeeds, but the view may be empty if the memory map is invalid (e.g., due to file not found, permission denied, etc.). You can check if the memory map is valid by calling <a class="el" href="classsimdjson_1_1padded__memory__map.html#a067c795f5c367905314fba0ddf742299" title="Check if the memory map is valid.">is_valid()</a> before using the view.</p>
<p>Lifetime of the view is tied to the memory map, so the view should not be used after the <a class="el" href="classsimdjson_1_1padded__memory__map.html" title="A class representing a memory-mapped file with padding.">padded_memory_map</a> instance is destroyed.</p>
<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="classsimdjson_1_1padded__string__view.html" title="User-provided string that promises it has extra padded bytes at the end for use with parser::parse().">padded_string_view</a> representing the memory-mapped file, or an empty view if the memory map is invalid. </dd></dl>
<p class="definition">Definition at line <a class="el" href="padded__string-inl_8h_source.html#l00426">426</a> of file <a class="el" href="padded__string-inl_8h_source.html">padded_string-inl.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/simdjson/<a class="el" href="padded__string_8h_source.html">padded_string.h</a></li>
<li>include/simdjson/<a class="el" href="padded__string-inl_8h_source.html">padded_string-inl.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacesimdjson.html">simdjson</a></li><li class="navelem"><a class="el" href="classsimdjson_1_1padded__memory__map.html">padded_memory_map</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>