404 Not Found


nginx
beegazpacho.com - GrazzMean
Uname: Linux in-mum-web1557.main-hosting.eu 5.14.0-503.35.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 4 05:23:43 EDT 2025 x86_64
Software: LiteSpeed
PHP version: 8.2.30 [ PHP INFO ] PHP os: Linux
Server Ip: 147.79.69.172
Your Ip: 216.73.216.168
User: u848900432 (848900432) | Group: o51372345 (1051372345)
Safe Mode: OFF
Disable Function:
NONE

name : classByteSink.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">
<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.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ICU 77.1: icu::ByteSink 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" />
</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">ICU 77.1
   &#160;<span id="projectnumber">77.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<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','.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: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="namespaceicu.html">icu</a></li><li class="navelem"><a class="el" href="classicu_1_1ByteSink.html">ByteSink</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">icu::ByteSink Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>A <a class="el" href="classicu_1_1ByteSink.html" title="A ByteSink can be filled with bytes.">ByteSink</a> can be filled with bytes.  
 <a href="classicu_1_1ByteSink.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="bytestream_8h_source.html">bytestream.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for icu::ByteSink:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classicu_1_1ByteSink.png" usemap="#icu::ByteSink_map" alt=""/>
  <map id="icu::ByteSink_map" name="icu::ByteSink_map">
<area href="classicu_1_1UMemory.html" title="UMemory is the common ICU base class." alt="icu::UMemory" shape="rect" coords="107,0,312,24"/>
<area href="classicu_1_1CheckedArrayByteSink.html" title="Implementation of ByteSink that writes to a flat byte array, with bounds-checking: This sink will not..." alt="icu::CheckedArrayByteSink" shape="rect" coords="0,112,205,136"/>
<area href="classicu_1_1StringByteSink.html" title="Implementation of ByteSink that writes to a &quot;string&quot;." alt="icu::StringByteSink&lt; StringClass &gt;" shape="rect" coords="215,112,420,136"/>
  </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:ac3e9a257c1fd9e981bceb8f6981d9b6e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ByteSink.html#ac3e9a257c1fd9e981bceb8f6981d9b6e">ByteSink</a> ()</td></tr>
<tr class="memdesc:ac3e9a257c1fd9e981bceb8f6981d9b6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="classicu_1_1ByteSink.html#ac3e9a257c1fd9e981bceb8f6981d9b6e">More...</a><br /></td></tr>
<tr class="separator:ac3e9a257c1fd9e981bceb8f6981d9b6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeea90b9a402f4446d493f7e6cc3361c0"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ByteSink.html#aeea90b9a402f4446d493f7e6cc3361c0">~ByteSink</a> ()</td></tr>
<tr class="memdesc:aeea90b9a402f4446d493f7e6cc3361c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor.  <a href="classicu_1_1ByteSink.html#aeea90b9a402f4446d493f7e6cc3361c0">More...</a><br /></td></tr>
<tr class="separator:aeea90b9a402f4446d493f7e6cc3361c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61fe994281322e8a3e3ed2e50c910e41"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ByteSink.html#a61fe994281322e8a3e3ed2e50c910e41">Append</a> (const char *bytes, int32_t n)=0</td></tr>
<tr class="memdesc:a61fe994281322e8a3e3ed2e50c910e41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append "bytes[0,n-1]" to this.  <a href="classicu_1_1ByteSink.html#a61fe994281322e8a3e3ed2e50c910e41">More...</a><br /></td></tr>
<tr class="separator:a61fe994281322e8a3e3ed2e50c910e41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d5b62995d93a766a52651fcac809591"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ByteSink.html#a2d5b62995d93a766a52651fcac809591">AppendU8</a> (const char *bytes, int32_t n)</td></tr>
<tr class="memdesc:a2d5b62995d93a766a52651fcac809591"><td class="mdescLeft">&#160;</td><td class="mdescRight">Appends n bytes to this.  <a href="classicu_1_1ByteSink.html#a2d5b62995d93a766a52651fcac809591">More...</a><br /></td></tr>
<tr class="separator:a2d5b62995d93a766a52651fcac809591"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aceeb6e6dd959bf559b7c5e656e3ba107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ByteSink.html#aceeb6e6dd959bf559b7c5e656e3ba107">AppendU8</a> (const char8_t *bytes, int32_t n)</td></tr>
<tr class="memdesc:aceeb6e6dd959bf559b7c5e656e3ba107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Appends n bytes to this.  <a href="classicu_1_1ByteSink.html#aceeb6e6dd959bf559b7c5e656e3ba107">More...</a><br /></td></tr>
<tr class="separator:aceeb6e6dd959bf559b7c5e656e3ba107"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a391838e3698a0132097ff2877565aaee"><td class="memItemLeft" align="right" valign="top">virtual char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ByteSink.html#a391838e3698a0132097ff2877565aaee">GetAppendBuffer</a> (int32_t min_capacity, int32_t desired_capacity_hint, char *scratch, int32_t scratch_capacity, int32_t *result_capacity)</td></tr>
<tr class="memdesc:a391838e3698a0132097ff2877565aaee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a writable buffer for appending and writes the buffer's capacity to *result_capacity.  <a href="classicu_1_1ByteSink.html#a391838e3698a0132097ff2877565aaee">More...</a><br /></td></tr>
<tr class="separator:a391838e3698a0132097ff2877565aaee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8b12cabefa31cfcdd1dc166a9f829f2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ByteSink.html#ad8b12cabefa31cfcdd1dc166a9f829f2">Flush</a> ()</td></tr>
<tr class="memdesc:ad8b12cabefa31cfcdd1dc166a9f829f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush internal buffers.  <a href="classicu_1_1ByteSink.html#ad8b12cabefa31cfcdd1dc166a9f829f2">More...</a><br /></td></tr>
<tr class="separator:ad8b12cabefa31cfcdd1dc166a9f829f2"><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 <a class="el" href="classicu_1_1ByteSink.html" title="A ByteSink can be filled with bytes.">ByteSink</a> can be filled with bytes. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000050">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p class="definition">Definition at line <a class="el" href="bytestream_8h_source.html#l00053">53</a> of file <a class="el" href="bytestream_8h_source.html">bytestream.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ac3e9a257c1fd9e981bceb8f6981d9b6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3e9a257c1fd9e981bceb8f6981d9b6e">&#9670;&nbsp;</a></span>ByteSink()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">icu::ByteSink::ByteSink </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default constructor. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000053">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p class="definition">Definition at line <a class="el" href="bytestream_8h_source.html#l00059">59</a> of file <a class="el" href="bytestream_8h_source.html">bytestream.h</a>.</p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual icu::ByteSink::~ByteSink </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Virtual destructor. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000054">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a61fe994281322e8a3e3ed2e50c910e41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61fe994281322e8a3e3ed2e50c910e41">&#9670;&nbsp;</a></span>Append()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void icu::ByteSink::Append </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>bytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>n</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">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Append "bytes[0,n-1]" to this. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bytes</td><td>the pointer to the bytes </td></tr>
    <tr><td class="paramname">n</td><td>the number of bytes; must be non-negative </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000055">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1StringByteSink.html#ae452e5c53dc33bdcb83fbc27585264d0">icu::StringByteSink&lt; StringClass &gt;</a>, and <a class="el" href="classicu_1_1CheckedArrayByteSink.html#ac5b828c4a8c4d65fdca6860f02e72c89">icu::CheckedArrayByteSink</a>.</p>

</div>
</div>
<a id="a2d5b62995d93a766a52651fcac809591"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d5b62995d93a766a52651fcac809591">&#9670;&nbsp;</a></span>AppendU8() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void icu::ByteSink::AppendU8 </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>bytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>n</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">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Appends n bytes to this. </p>
<p>Same as <a class="el" href="classicu_1_1ByteSink.html#a61fe994281322e8a3e3ed2e50c910e41" title="Append &quot;bytes[0,n-1]&quot; to this.">Append()</a>. Call <a class="el" href="classicu_1_1ByteSink.html#a2d5b62995d93a766a52651fcac809591" title="Appends n bytes to this.">AppendU8()</a> with u8"string literals" which are const char * in C++11 but const char8_t * in C++20. If the compiler does support char8_t as a distinct type, then an <a class="el" href="classicu_1_1ByteSink.html#a2d5b62995d93a766a52651fcac809591" title="Appends n bytes to this.">AppendU8()</a> overload for that is defined and will be chosen.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bytes</td><td>the pointer to the bytes </td></tr>
    <tr><td class="paramname">n</td><td>the number of bytes; must be non-negative </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000056">Stable:</a></b></dt><dd>ICU 67 </dd></dl>

<p class="definition">Definition at line <a class="el" href="bytestream_8h_source.html#l00085">85</a> of file <a class="el" href="bytestream_8h_source.html">bytestream.h</a>.</p>

</div>
</div>
<a id="aceeb6e6dd959bf559b7c5e656e3ba107"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aceeb6e6dd959bf559b7c5e656e3ba107">&#9670;&nbsp;</a></span>AppendU8() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void icu::ByteSink::AppendU8 </td>
          <td>(</td>
          <td class="paramtype">const char8_t *&#160;</td>
          <td class="paramname"><em>bytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>n</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">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Appends n bytes to this. </p>
<p>Same as <a class="el" href="classicu_1_1ByteSink.html#a61fe994281322e8a3e3ed2e50c910e41" title="Append &quot;bytes[0,n-1]&quot; to this.">Append()</a> but for a const char8_t * pointer. Call <a class="el" href="classicu_1_1ByteSink.html#a2d5b62995d93a766a52651fcac809591" title="Appends n bytes to this.">AppendU8()</a> with u8"string literals" which are const char * in C++11 but const char8_t * in C++20. If the compiler does support char8_t as a distinct type, then this <a class="el" href="classicu_1_1ByteSink.html#a2d5b62995d93a766a52651fcac809591" title="Appends n bytes to this.">AppendU8()</a> overload for that is defined and will be chosen.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bytes</td><td>the pointer to the bytes </td></tr>
    <tr><td class="paramname">n</td><td>the number of bytes; must be non-negative </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000057">Stable:</a></b></dt><dd>ICU 67 </dd></dl>

<p class="definition">Definition at line <a class="el" href="bytestream_8h_source.html#l00101">101</a> of file <a class="el" href="bytestream_8h_source.html">bytestream.h</a>.</p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void icu::ByteSink::Flush </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flush internal buffers. </p>
<p>Some byte sinks use internal buffers or provide buffering and require calling <a class="el" href="classicu_1_1ByteSink.html#ad8b12cabefa31cfcdd1dc166a9f829f2" title="Flush internal buffers.">Flush()</a> at the end of the stream. The <a class="el" href="classicu_1_1ByteSink.html" title="A ByteSink can be filled with bytes.">ByteSink</a> should be ready for further <a class="el" href="classicu_1_1ByteSink.html#a61fe994281322e8a3e3ed2e50c910e41" title="Append &quot;bytes[0,n-1]&quot; to this.">Append()</a> calls after <a class="el" href="classicu_1_1ByteSink.html#ad8b12cabefa31cfcdd1dc166a9f829f2" title="Flush internal buffers.">Flush()</a>. The default implementation of <a class="el" href="classicu_1_1ByteSink.html#ad8b12cabefa31cfcdd1dc166a9f829f2" title="Flush internal buffers.">Flush()</a> does nothing. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000059">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual char* icu::ByteSink::GetAppendBuffer </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>min_capacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>desired_capacity_hint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>scratch</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>scratch_capacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t *&#160;</td>
          <td class="paramname"><em>result_capacity</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">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a writable buffer for appending and writes the buffer's capacity to *result_capacity. </p>
<p>Guarantees *result_capacity&gt;=min_capacity. May return a pointer to the caller-owned scratch buffer which must have scratch_capacity&gt;=min_capacity. The returned buffer is only valid until the next operation on this <a class="el" href="classicu_1_1ByteSink.html" title="A ByteSink can be filled with bytes.">ByteSink</a>.</p>
<p>After writing at most *result_capacity bytes, call <a class="el" href="classicu_1_1ByteSink.html#a61fe994281322e8a3e3ed2e50c910e41" title="Append &quot;bytes[0,n-1]&quot; to this.">Append()</a> with the pointer returned from this function and the number of bytes written. Many <a class="el" href="classicu_1_1ByteSink.html#a61fe994281322e8a3e3ed2e50c910e41" title="Append &quot;bytes[0,n-1]&quot; to this.">Append()</a> implementations will avoid copying bytes if this function returned an internal buffer.</p>
<p>Partial usage example: int32_t capacity; char* buffer = sink-&gt;GetAppendBuffer(..., &amp;capacity); ... Write n bytes into buffer, with n &lt;= capacity. sink-&gt;Append(buffer, n); In many implementations, that call to Append will avoid copying bytes.</p>
<p>If the <a class="el" href="classicu_1_1ByteSink.html" title="A ByteSink can be filled with bytes.">ByteSink</a> allocates or reallocates an internal buffer, it should use the desired_capacity_hint if appropriate. If a caller cannot provide a reasonable guess at the desired capacity, it should pass desired_capacity_hint=0.</p>
<p>If a non-scratch buffer is returned, the caller may only pass a prefix to it to <a class="el" href="classicu_1_1ByteSink.html#a61fe994281322e8a3e3ed2e50c910e41" title="Append &quot;bytes[0,n-1]&quot; to this.">Append()</a>. That is, it is not correct to pass an interior pointer to <a class="el" href="classicu_1_1ByteSink.html#a61fe994281322e8a3e3ed2e50c910e41" title="Append &quot;bytes[0,n-1]&quot; to this.">Append()</a>.</p>
<p>The default implementation always returns the scratch buffer.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">min_capacity</td><td>required minimum capacity of the returned buffer; must be non-negative </td></tr>
    <tr><td class="paramname">desired_capacity_hint</td><td>desired capacity of the returned buffer; must be non-negative </td></tr>
    <tr><td class="paramname">scratch</td><td>default caller-owned buffer </td></tr>
    <tr><td class="paramname">scratch_capacity</td><td>capacity of the scratch buffer </td></tr>
    <tr><td class="paramname">result_capacity</td><td>pointer to an integer which will be set to the capacity of the returned buffer </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a buffer with *result_capacity&gt;=min_capacity </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000058">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Reimplemented in <a class="el" href="classicu_1_1CheckedArrayByteSink.html#a16eb07406d3b1c68989025e7f136aa2d">icu::CheckedArrayByteSink</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>common/unicode/<a class="el" href="bytestream_8h_source.html">bytestream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
© 2026 GrazzMean
Beegazpacho


Let’s  Start  Your  Online  Journey  with  Beegazpacho 

Welcome to Beegazpacho,
where creativity meets strategy,
and innovation drives success.


Contact
Now


OUR CLIENTS

WhatsApp-Image-2021-12-06.png
Untitled-design-11.png
niaf-logo.png
20220406-163308-scaled.jpg
karchi-logo.png
20220405-171252.png
20220405-171309.png
20220321-161603.png
20220321-161611.png
20220321-161628.png
20220321-161244.png
20220321-161256.png
20220321-161450.png
20220321-161205.png
20220226-170222.png
20220321-161051.png
20211202-170852.png
Untitled-design-9
pidilite-png-logo-colour
logo-black-e1706125740216-qisosldqhzgcaerhdt6n4t3m4s50jr0iik48z0h5vk
Fraikin-Dayim-logo-1
hpcl-logo-2-1
services

Transforming Ideas into
Success

.01
Digital Marketing

We drive growth through data-driven strategies and cutting-edge techniques.

Learn More

.02
SEO

Improve your online visibility and rank higher on search engines with our expert SEO services.

Learn More

.03
Website Designing

We design websites that are not only visually stunning but also user-centric, ensuring seamless navigation and enhanced user experience.

Learn More

.04
App Development

Our apps are crafted to be intuitive, engaging, and functional, providing your users with an exceptional mobile experience.

Learn More

.05
Social Media Ads

Target the right audience with precision and creativity to maximize engagement and conversions.

Learn More

.06
Google Ads

Maximize ROI with precision-targeted campaigns on Google’s powerful ad platform.

Learn More

.07
Google My Business

Optimize your local presence with strategies that put your business on the map and attract more customers.

Learn More

.08
Graphic Designing

Our designs tell your brand’s story in a visually compelling way.

Learn More

.09
3D Videos

Bring your product to life with immersive and dynamic 3D explainer videos.

Learn More

about BEEGAZPACHO

creating special Things
For special brands

Join the ranks of successful brands by partnering with Beegazpacho

00+

Happy Customer

00+

Continents

Our vision is not just to be a service provider but to be your partner in growth. We see ourselves as an extension of your team, working tirelessly to ensure that your brand not only meets its goals but surpasses them.

Explore
more

Our Recent Work

Crafted with Passion and Precision

Connect now


Web Design
Design, Development & Identity

Logo Design
Design, Development & Identity

Creative Brand design
Design, Development & Identity

Product Design Marketing
Design, Development & Identity

DIGITAL MARKETING
SEO
WEBSITE DESIGNING
APP DEVELOPMENT
SOCIAL MEDIA ADS
GOOGLE ADS
GOOGLE MY BUSINESS
GRAPHIC DESINING
3D VIDEOS
Client Stories

Hear It from Those Who Know Us Best

Our clients’ success stories speak volumes about our commitment to excellence. Don’t just take our word for it—hear directly from the brands we’ve partnered with. Their testimonials highlight our ability to bring visions to life and create a lasting impact on their businesses.

“Beegazpacho feels like an extension of our team. Their content marketing and social media expertise have elevated our brand. They listen, adapt, and always deliver on time. We look forward to continuing this partnership.”

— Sarah Williams

Head of Marketing, GreenPlanet Apparel

“Beegazpacho’s data-driven strategies helped us improve our online ads, optimize our website, and enhance branding. We’ve seen great ROI and increased visibility. Their professionalism is unmatched.”

— Arvind Shah

CEO, InnovateTech Solutions

“Partnering with Beegazpacho has been a game-changer for our brand. Their creative ad campaigns and SEO services have boosted our online presence and significantly increased leads and sales. We couldn’t ask for a better partner!”

— Rina Kapoor

Marketing Director, Luxury Home Interiors

“Beegazpacho feels like an extension of our team. Their content marketing and social media expertise have elevated our brand. They listen, adapt, and always deliver on time. We look forward to continuing this partnership.”

— Sarah Williams

Head of Marketing, GreenPlanet Apparel

“Beegazpacho’s data-driven strategies helped us improve our online ads, optimize our website, and enhance branding. We’ve seen great ROI and increased visibility. Their professionalism is unmatched.”

— Arvind Shah

CEO, InnovateTech Solutions

“Partnering with Beegazpacho has been a game-changer for our brand. Their creative ad campaigns and SEO services have boosted our online presence and significantly increased leads and sales. We couldn’t ask for a better partner!”

— Rina Kapoor

Marketing Director, Luxury Home Interiors