<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: crashpad::StringFile 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="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="crashpad_doxygen.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 style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Crashpad
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- 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">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacecrashpad.html">crashpad</a></li><li class="navelem"><a class="el" href="classcrashpad_1_1StringFile.html">StringFile</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classcrashpad_1_1StringFile-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::StringFile Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A file reader and writer backed by a virtual file, as opposed to a file on disk or other operating system file descriptor-based file.  
 <a href="classcrashpad_1_1StringFile.html#details">More...</a></p>

<p><code>#include &quot;util/file/string_file.h&quot;</code></p>
<div class="dynheader">
Inheritance diagram for crashpad::StringFile:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classcrashpad_1_1StringFile.png" usemap="#crashpad::StringFile_map" alt=""/>
  <map id="crashpad::StringFile_map" name="crashpad::StringFile_map">
<area href="classcrashpad_1_1FileReaderInterface.html" title="An interface to read to files and other file-like objects with semantics matching the underlying plat..." alt="crashpad::FileReaderInterface" shape="rect" coords="0,56,183,80"/>
<area href="classcrashpad_1_1FileWriterInterface.html" title="An interface to write to files and other file-like objects with semantics matching the underlying pla..." alt="crashpad::FileWriterInterface" shape="rect" coords="193,56,376,80"/>
<area href="classcrashpad_1_1FileSeekerInterface.html" title="An interface to seek in files and other file-like objects with semantics matching the underlying plat..." alt="crashpad::FileSeekerInterface" shape="rect" coords="0,0,183,24"/>
<area href="classcrashpad_1_1FileSeekerInterface.html" title="An interface to seek in files and other file-like objects with semantics matching the underlying plat..." alt="crashpad::FileSeekerInterface" shape="rect" coords="193,0,376,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa3ee94c41f187734e74e74feab1cd756"><td class="memItemLeft" align="right" valign="top"><a id="aa3ee94c41f187734e74e74feab1cd756"></a>
const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1StringFile.html#aa3ee94c41f187734e74e74feab1cd756">string</a> () const</td></tr>
<tr class="memdesc:aa3ee94c41f187734e74e74feab1cd756"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string containing the virtual file’s contents. <br /></td></tr>
<tr class="separator:aa3ee94c41f187734e74e74feab1cd756"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a294a955a7a0baa9a595fa73b33578708"><td class="memItemLeft" align="right" valign="top"><a id="a294a955a7a0baa9a595fa73b33578708"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1StringFile.html#a294a955a7a0baa9a595fa73b33578708">SetString</a> (const std::string &amp;<a class="el" href="classcrashpad_1_1StringFile.html#aa3ee94c41f187734e74e74feab1cd756">string</a>)</td></tr>
<tr class="memdesc:a294a955a7a0baa9a595fa73b33578708"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the virtual file’s contents to <em>string</em>, and resets its file position to <code>0</code>. <br /></td></tr>
<tr class="separator:a294a955a7a0baa9a595fa73b33578708"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc9180465c3147b38c6d6aa4049f8958"><td class="memItemLeft" align="right" valign="top"><a id="acc9180465c3147b38c6d6aa4049f8958"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1StringFile.html#acc9180465c3147b38c6d6aa4049f8958">Reset</a> ()</td></tr>
<tr class="memdesc:acc9180465c3147b38c6d6aa4049f8958"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the virtual file’s contents to be empty, and resets its file position to <code>0</code>. <br /></td></tr>
<tr class="separator:acc9180465c3147b38c6d6aa4049f8958"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05de4b2d8ef91a974181d7340c61b346"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacecrashpad.html#a25465a3a2d289a06addf93c346c6f917">FileOperationResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1StringFile.html#a05de4b2d8ef91a974181d7340c61b346">Read</a> (void *data, size_t size) override</td></tr>
<tr class="memdesc:a05de4b2d8ef91a974181d7340c61b346"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wraps <a class="el" href="namespacecrashpad.html#a8599600814a17d622766decd5f122a96" title="Reads from a file, retrying when interrupted before reading any data on POSIX.">ReadFile()</a>, or provides an implementation with identical semantics.  <a href="classcrashpad_1_1StringFile.html#a05de4b2d8ef91a974181d7340c61b346">More...</a><br /></td></tr>
<tr class="separator:a05de4b2d8ef91a974181d7340c61b346"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7e22ad48bbedf3e1e6a257cfba0c137"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1StringFile.html#aa7e22ad48bbedf3e1e6a257cfba0c137">Write</a> (const void *data, size_t size) override</td></tr>
<tr class="memdesc:aa7e22ad48bbedf3e1e6a257cfba0c137"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wraps <a class="el" href="namespacecrashpad.html#a8a91af9c690d2a280c463596bf82070b" title="Wraps WriteFile(), ensuring that exactly size bytes are written.">LoggingWriteFile()</a>, or provides an implementation with identical semantics.  <a href="classcrashpad_1_1StringFile.html#aa7e22ad48bbedf3e1e6a257cfba0c137">More...</a><br /></td></tr>
<tr class="separator:aa7e22ad48bbedf3e1e6a257cfba0c137"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5b57a3a13ee4f973dc7984fbc6e3237"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1StringFile.html#aa5b57a3a13ee4f973dc7984fbc6e3237">WriteIoVec</a> (std::vector&lt; <a class="el" href="structcrashpad_1_1WritableIoVec.html">WritableIoVec</a> &gt; *iovecs) override</td></tr>
<tr class="memdesc:aa5b57a3a13ee4f973dc7984fbc6e3237"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wraps <code>writev()</code> on POSIX or provides an alternate implementation with identical semantics. This method will write entire buffers, continuing after a short write or after being interrupted. On non-POSIX this is a simple wrapper around <a class="el" href="classcrashpad_1_1StringFile.html#aa7e22ad48bbedf3e1e6a257cfba0c137" title="Wraps LoggingWriteFile(), or provides an implementation with identical semantics.">Write()</a>.  <a href="classcrashpad_1_1StringFile.html#aa5b57a3a13ee4f973dc7984fbc6e3237">More...</a><br /></td></tr>
<tr class="separator:aa5b57a3a13ee4f973dc7984fbc6e3237"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acabb59b99e86bea5949f7a9a47c6dbcc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacecrashpad.html#a1e53a1957d9edcba8b406ea632b6daf2">FileOffset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1StringFile.html#acabb59b99e86bea5949f7a9a47c6dbcc">Seek</a> (<a class="el" href="namespacecrashpad.html#a1e53a1957d9edcba8b406ea632b6daf2">FileOffset</a> offset, int whence) override</td></tr>
<tr class="memdesc:acabb59b99e86bea5949f7a9a47c6dbcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wraps <a class="el" href="namespacecrashpad.html#a3d6cedc10e24145d4a0c1000c33f8a10" title="Wraps lseek() or SetFilePointerEx(). Logs an error if the operation fails.">LoggingSeekFile()</a> or provides an alternate implementation with identical semantics.  <a href="classcrashpad_1_1StringFile.html#acabb59b99e86bea5949f7a9a47c6dbcc">More...</a><br /></td></tr>
<tr class="separator:acabb59b99e86bea5949f7a9a47c6dbcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classcrashpad_1_1FileReaderInterface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcrashpad_1_1FileReaderInterface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classcrashpad_1_1FileReaderInterface.html">crashpad::FileReaderInterface</a></td></tr>
<tr class="memitem:ad046f1ebf1071eb6b92a2a8d06c14a56 inherit pub_methods_classcrashpad_1_1FileReaderInterface"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1FileReaderInterface.html#ad046f1ebf1071eb6b92a2a8d06c14a56">ReadExactly</a> (void *data, size_t size)</td></tr>
<tr class="memdesc:ad046f1ebf1071eb6b92a2a8d06c14a56 inherit pub_methods_classcrashpad_1_1FileReaderInterface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wraps <a class="el" href="classcrashpad_1_1FileReaderInterface.html#ad9035ff345274f33cef248712d53d9e1" title="Wraps ReadFile(), or provides an implementation with identical semantics.">Read()</a>, ensuring that the read succeeded and exactly <em>size</em> bytes were read.  <a href="classcrashpad_1_1FileReaderInterface.html#ad046f1ebf1071eb6b92a2a8d06c14a56">More...</a><br /></td></tr>
<tr class="separator:ad046f1ebf1071eb6b92a2a8d06c14a56 inherit pub_methods_classcrashpad_1_1FileReaderInterface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classcrashpad_1_1FileSeekerInterface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcrashpad_1_1FileSeekerInterface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classcrashpad_1_1FileSeekerInterface.html">crashpad::FileSeekerInterface</a></td></tr>
<tr class="memitem:a49a884bfb0a61461b0291c975aa15382 inherit pub_methods_classcrashpad_1_1FileSeekerInterface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacecrashpad.html#a1e53a1957d9edcba8b406ea632b6daf2">FileOffset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1FileSeekerInterface.html#a49a884bfb0a61461b0291c975aa15382">SeekGet</a> ()</td></tr>
<tr class="memdesc:a49a884bfb0a61461b0291c975aa15382 inherit pub_methods_classcrashpad_1_1FileSeekerInterface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wraps <a class="el" href="classcrashpad_1_1FileSeekerInterface.html#a8d56f7d12dfcce3e4a39ad1524302aa1" title="Wraps LoggingSeekFile() or provides an alternate implementation with identical semantics.">Seek()</a>, using <code>SEEK_CUR</code> to obtain the file’s current position.  <a href="classcrashpad_1_1FileSeekerInterface.html#a49a884bfb0a61461b0291c975aa15382">More...</a><br /></td></tr>
<tr class="separator:a49a884bfb0a61461b0291c975aa15382 inherit pub_methods_classcrashpad_1_1FileSeekerInterface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add2e1ee642d94c91ef722911e9aee250 inherit pub_methods_classcrashpad_1_1FileSeekerInterface"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1FileSeekerInterface.html#add2e1ee642d94c91ef722911e9aee250">SeekSet</a> (<a class="el" href="namespacecrashpad.html#a1e53a1957d9edcba8b406ea632b6daf2">FileOffset</a> offset)</td></tr>
<tr class="memdesc:add2e1ee642d94c91ef722911e9aee250 inherit pub_methods_classcrashpad_1_1FileSeekerInterface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wraps <a class="el" href="classcrashpad_1_1FileSeekerInterface.html#a8d56f7d12dfcce3e4a39ad1524302aa1" title="Wraps LoggingSeekFile() or provides an alternate implementation with identical semantics.">Seek()</a>, using <code>SEEK_SET</code>, ensuring that the seek succeeded and the file is positioned as desired.  <a href="classcrashpad_1_1FileSeekerInterface.html#add2e1ee642d94c91ef722911e9aee250">More...</a><br /></td></tr>
<tr class="separator:add2e1ee642d94c91ef722911e9aee250 inherit pub_methods_classcrashpad_1_1FileSeekerInterface"><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 file reader and writer backed by a virtual file, as opposed to a file on disk or other operating system file descriptor-based file. </p>
<p>The virtual file is a buffer in memory. This class is convenient for use with other code that normally expects to read or write files, when it is impractical or inconvenient to read or write a file. It is expected that tests, in particular, will benefit from using this class. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a05de4b2d8ef91a974181d7340c61b346"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05de4b2d8ef91a974181d7340c61b346">&#9670;&nbsp;</a></span>Read()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacecrashpad.html#a25465a3a2d289a06addf93c346c6f917">FileOperationResult</a> crashpad::StringFile::Read </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Wraps <a class="el" href="namespacecrashpad.html#a8599600814a17d622766decd5f122a96" title="Reads from a file, retrying when interrupted before reading any data on POSIX.">ReadFile()</a>, or provides an implementation with identical semantics. </p>
<dl class="section return"><dt>Returns</dt><dd>The number of bytes actually read if the operation succeeded, which may be <code>0</code> or any positive value less than or equal to <em>size</em>. <code>-1</code> if the operation failed, with an error message logged. </dd></dl>

<p>Implements <a class="el" href="classcrashpad_1_1FileReaderInterface.html#ad9035ff345274f33cef248712d53d9e1">crashpad::FileReaderInterface</a>.</p>

</div>
</div>
<a id="acabb59b99e86bea5949f7a9a47c6dbcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acabb59b99e86bea5949f7a9a47c6dbcc">&#9670;&nbsp;</a></span>Seek()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacecrashpad.html#a1e53a1957d9edcba8b406ea632b6daf2">FileOffset</a> crashpad::StringFile::Seek </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#a1e53a1957d9edcba8b406ea632b6daf2">FileOffset</a>&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>whence</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Wraps <a class="el" href="namespacecrashpad.html#a3d6cedc10e24145d4a0c1000c33f8a10" title="Wraps lseek() or SetFilePointerEx(). Logs an error if the operation fails.">LoggingSeekFile()</a> or provides an alternate implementation with identical semantics. </p>
<dl class="section return"><dt>Returns</dt><dd>The return value of <a class="el" href="namespacecrashpad.html#a3d6cedc10e24145d4a0c1000c33f8a10" title="Wraps lseek() or SetFilePointerEx(). Logs an error if the operation fails.">LoggingSeekFile()</a>. <code>-1</code> on failure, with an error message logged. </dd></dl>

<p>Implements <a class="el" href="classcrashpad_1_1FileSeekerInterface.html#a8d56f7d12dfcce3e4a39ad1524302aa1">crashpad::FileSeekerInterface</a>.</p>

</div>
</div>
<a id="aa7e22ad48bbedf3e1e6a257cfba0c137"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7e22ad48bbedf3e1e6a257cfba0c137">&#9670;&nbsp;</a></span>Write()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::StringFile::Write </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Wraps <a class="el" href="namespacecrashpad.html#a8a91af9c690d2a280c463596bf82070b" title="Wraps WriteFile(), ensuring that exactly size bytes are written.">LoggingWriteFile()</a>, or provides an implementation with identical semantics. </p>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the operation succeeded, <code>false</code> if it failed, with an error message logged. </dd></dl>

<p>Implements <a class="el" href="classcrashpad_1_1FileWriterInterface.html#a34e3a6edac09771c7746901b77acc5b1">crashpad::FileWriterInterface</a>.</p>

</div>
</div>
<a id="aa5b57a3a13ee4f973dc7984fbc6e3237"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5b57a3a13ee4f973dc7984fbc6e3237">&#9670;&nbsp;</a></span>WriteIoVec()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::StringFile::WriteIoVec </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structcrashpad_1_1WritableIoVec.html">WritableIoVec</a> &gt; *&#160;</td>
          <td class="paramname"><em>iovecs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Wraps <code>writev()</code> on POSIX or provides an alternate implementation with identical semantics. This method will write entire buffers, continuing after a short write or after being interrupted. On non-POSIX this is a simple wrapper around <a class="el" href="classcrashpad_1_1StringFile.html#aa7e22ad48bbedf3e1e6a257cfba0c137" title="Wraps LoggingWriteFile(), or provides an implementation with identical semantics.">Write()</a>. </p>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the operation succeeded, <code>false</code> if it failed, with an error message logged.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The contents of <em>iovecs</em> are undefined when this method returns. </dd></dl>

<p>Implements <a class="el" href="classcrashpad_1_1FileWriterInterface.html#a056d01fcfa12a49cff735cf4f63bc1ba">crashpad::FileWriterInterface</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>util/file/string_file.h</li>
<li>util/file/string_file.cc</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.18
</small></address>
</body>
</html>
