deploy: 983891ec41
This commit is contained in:
@@ -76,14 +76,13 @@ $(function() {
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pro-methods">Protected Member Functions</a> |
|
||||
<a href="#pro-attribs">Protected Attributes</a> |
|
||||
<a href="classstdex_1_1stream_1_1converter-members.html">List of all members</a> </div>
|
||||
<div class="headertitle"><div class="title">stdex::stream::converter Class Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Modifies data on the fly when reading from/writing to a source stream.
|
||||
<p>Modifies data on the fly when reading from/writing to a source stream. Could also be used to modify read/write boundaries like FIFO queues, async read/write, buffering etc.
|
||||
<a href="classstdex_1_1stream_1_1converter.html#details">More...</a></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="stream_8hpp_source.html">stdex/stream.hpp</a>></code></p>
|
||||
@@ -93,14 +92,16 @@ Inheritance diagram for stdex::stream::converter:</div>
|
||||
<div class="center">
|
||||
<img src="classstdex_1_1stream_1_1converter.png" usemap="#stdex::stream::converter_map" alt=""/>
|
||||
<map id="stdex::stream::converter_map" name="stdex::stream::converter_map">
|
||||
<area href="classstdex_1_1stream_1_1basic.html" title="UTF-8 byte-order-mark" alt="stdex::stream::basic" shape="rect" coords="532,0,788,24"/>
|
||||
<area href="classstdex_1_1stream_1_1async__reader.html" title="Provides read-ahead stream capability." alt="stdex::stream::async_reader< CAPACITY >" shape="rect" coords="0,112,256,136"/>
|
||||
<area href="classstdex_1_1stream_1_1async__writer.html" title="Provides write-back stream capability." alt="stdex::stream::async_writer< CAPACITY >" shape="rect" coords="266,112,522,136"/>
|
||||
<area href="classstdex_1_1stream_1_1buffer.html" title="Buffered read/write stream." alt="stdex::stream::buffer" shape="rect" coords="532,112,788,136"/>
|
||||
<area href="classstdex_1_1stream_1_1limiter.html" title="Limits reading from/writing to stream to a predefined number of bytes." alt="stdex::stream::limiter" shape="rect" coords="798,112,1054,136"/>
|
||||
<area href="classstdex_1_1stream__hasher.html" title="Hashes read to or write from data of the stream." alt="stdex::stream_hasher< T >" shape="rect" coords="1064,112,1320,136"/>
|
||||
<area href="classstdex_1_1stream_1_1buffered__sys.html" title="Buffered OS data stream (file, pipe, socket...)" alt="stdex::stream::buffered_sys" shape="rect" coords="532,168,788,192"/>
|
||||
<area href="classstdex_1_1stream_1_1window.html" title="Limits reading from/writing to stream to a predefined window." alt="stdex::stream::window" shape="rect" coords="798,168,1054,192"/>
|
||||
<area href="classstdex_1_1stream_1_1basic.html" title="UTF-8 byte-order-mark" alt="stdex::stream::basic" shape="rect" coords="798,0,1054,24"/>
|
||||
<area href="classstdex_1_1base64__reader.html" title="Converts from Base64 when reading from a stream." alt="stdex::base64_reader" shape="rect" coords="0,112,256,136"/>
|
||||
<area href="classstdex_1_1base64__writer.html" title="Converts to Base64 when writing to a stream." alt="stdex::base64_writer" shape="rect" coords="266,112,522,136"/>
|
||||
<area href="classstdex_1_1stream_1_1async__reader.html" title="Provides read-ahead stream capability." alt="stdex::stream::async_reader< CAPACITY >" shape="rect" coords="532,112,788,136"/>
|
||||
<area href="classstdex_1_1stream_1_1async__writer.html" title="Provides write-back stream capability." alt="stdex::stream::async_writer< CAPACITY >" shape="rect" coords="798,112,1054,136"/>
|
||||
<area href="classstdex_1_1stream_1_1buffer.html" title="Buffered read/write stream." alt="stdex::stream::buffer" shape="rect" coords="1064,112,1320,136"/>
|
||||
<area href="classstdex_1_1stream_1_1limiter.html" title="Limits reading from/writing to stream to a predefined number of bytes." alt="stdex::stream::limiter" shape="rect" coords="1330,112,1586,136"/>
|
||||
<area href="classstdex_1_1stream__hasher.html" title="Hashes read to or write from data of the stream." alt="stdex::stream_hasher< T >" shape="rect" coords="1596,112,1852,136"/>
|
||||
<area href="classstdex_1_1stream_1_1buffered__sys.html" title="Buffered OS data stream (file, pipe, socket...)" alt="stdex::stream::buffered_sys" shape="rect" coords="1064,168,1320,192"/>
|
||||
<area href="classstdex_1_1stream_1_1window.html" title="Limits reading from/writing to stream to a predefined window." alt="stdex::stream::window" shape="rect" coords="1330,168,1586,192"/>
|
||||
</map>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
@@ -201,6 +202,10 @@ void </td><td class="memItemRight" valign="bottom"><b>write_byte</b> (uint8
|
||||
<tr class="memitem:a815369ef1a8ba07b289b8236fce018ac inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#a815369ef1a8ba07b289b8236fce018ac">write_str</a> (const T *data)</td></tr>
|
||||
<tr class="memdesc:a815369ef1a8ba07b289b8236fce018ac inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft"> </td><td class="mdescRight">Writes string to the stream length-prefixed. <br /></td></tr>
|
||||
<tr class="separator:a815369ef1a8ba07b289b8236fce018ac inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aca727d3cab3c7989f691957078a18471 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_aca727d3cab3c7989f691957078a18471"><td class="memTemplParams" colspan="2">template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> </td></tr>
|
||||
<tr class="memitem:aca727d3cab3c7989f691957078a18471 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#aca727d3cab3c7989f691957078a18471">write_str</a> (const std::basic_string< _Elem, _Traits, _Ax > &data)</td></tr>
|
||||
<tr class="memdesc:aca727d3cab3c7989f691957078a18471 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft"> </td><td class="mdescRight">Writes string to the stream length-prefixed. <br /></td></tr>
|
||||
<tr class="separator:aca727d3cab3c7989f691957078a18471 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad28b193e6afa1352a00864bd28193cc2 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ad28b193e6afa1352a00864bd28193cc2"><td class="memItemLeft" align="right" valign="top">fsize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classstdex_1_1stream_1_1basic.html#ad28b193e6afa1352a00864bd28193cc2">write_stream</a> (<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &stream, fsize_t amount=fsize_max)</td></tr>
|
||||
<tr class="memdesc:ad28b193e6afa1352a00864bd28193cc2 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="mdescLeft"> </td><td class="mdescRight">Writes content of another stream. <br /></td></tr>
|
||||
<tr class="separator:ad28b193e6afa1352a00864bd28193cc2 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@@ -294,15 +299,34 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class
|
||||
template<class T > </td></tr>
|
||||
<tr class="memitem:a8c29727e2c211134c0249352bbd13ed6 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> & </td><td class="memTemplItemRight" valign="bottom"><b>operator<<</b> (const T *data)</td></tr>
|
||||
<tr class="separator:a8c29727e2c211134c0249352bbd13ed6 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
|
||||
Protected Member Functions</h2></td></tr>
|
||||
<tr class="memitem:aa1c593742ba915b3023009ace181a2ec" id="r_aa1c593742ba915b3023009ace181a2ec"><td class="memItemLeft" align="right" valign="top"><a id="aa1c593742ba915b3023009ace181a2ec" name="aa1c593742ba915b3023009ace181a2ec"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>init</b> (<a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> &source)</td></tr>
|
||||
<tr class="separator:aa1c593742ba915b3023009ace181a2ec"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a65eb6b91f2e89832c586f9d42a53552f" id="r_a65eb6b91f2e89832c586f9d42a53552f"><td class="memItemLeft" align="right" valign="top"><a id="a65eb6b91f2e89832c586f9d42a53552f" name="a65eb6b91f2e89832c586f9d42a53552f"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>done</b> ()</td></tr>
|
||||
<tr class="separator:a65eb6b91f2e89832c586f9d42a53552f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac0f6075a669ff51ec44ee4832dc41f2f inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_ac0f6075a669ff51ec44ee4832dc41f2f"><td class="memTemplParams" colspan="2">
|
||||
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> </td></tr>
|
||||
<tr class="memitem:ac0f6075a669ff51ec44ee4832dc41f2f inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> & </td><td class="memTemplItemRight" valign="bottom"><b>operator<<</b> (const std::basic_string< _Elem, _Traits, _Ax > &data)</td></tr>
|
||||
<tr class="separator:ac0f6075a669ff51ec44ee4832dc41f2f inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a95cdd577d5718dde5756951d487d29dd inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a95cdd577d5718dde5756951d487d29dd"><td class="memTemplParams" colspan="2">
|
||||
template<class _Ty , class _Alloc = std::allocator<_Ty>> </td></tr>
|
||||
<tr class="memitem:a95cdd577d5718dde5756951d487d29dd inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> & </td><td class="memTemplItemRight" valign="bottom"><b>operator<<</b> (const std::vector< _Ty, _Alloc > &data)</td></tr>
|
||||
<tr class="separator:a95cdd577d5718dde5756951d487d29dd inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1844edc85161c2ae37bb9123acc4c466 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a1844edc85161c2ae37bb9123acc4c466"><td class="memTemplParams" colspan="2">
|
||||
template<class _Ty , class _Alloc = std::allocator<_Ty>> </td></tr>
|
||||
<tr class="memitem:a1844edc85161c2ae37bb9123acc4c466 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> & </td><td class="memTemplItemRight" valign="bottom"><b>operator>></b> (std::vector< _Ty, _Alloc > &data)</td></tr>
|
||||
<tr class="separator:a1844edc85161c2ae37bb9123acc4c466 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1d9110b6e3fc398c8333a0859585724c inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a1d9110b6e3fc398c8333a0859585724c"><td class="memTemplParams" colspan="2">
|
||||
template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> </td></tr>
|
||||
<tr class="memitem:a1d9110b6e3fc398c8333a0859585724c inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> & </td><td class="memTemplItemRight" valign="bottom"><b>operator<<</b> (const std::set< _Kty, _Pr, _Alloc > &data)</td></tr>
|
||||
<tr class="separator:a1d9110b6e3fc398c8333a0859585724c inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abd1aa05b14e06b30fdd2fb9263976894 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_abd1aa05b14e06b30fdd2fb9263976894"><td class="memTemplParams" colspan="2">
|
||||
template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> </td></tr>
|
||||
<tr class="memitem:abd1aa05b14e06b30fdd2fb9263976894 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> & </td><td class="memTemplItemRight" valign="bottom"><b>operator>></b> (std::set< _Kty, _Pr, _Alloc > &data)</td></tr>
|
||||
<tr class="separator:abd1aa05b14e06b30fdd2fb9263976894 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abbb6565d9b47803ff19a2b3057e0f655 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_abbb6565d9b47803ff19a2b3057e0f655"><td class="memTemplParams" colspan="2">
|
||||
template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> </td></tr>
|
||||
<tr class="memitem:abbb6565d9b47803ff19a2b3057e0f655 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> & </td><td class="memTemplItemRight" valign="bottom"><b>operator<<</b> (const std::multiset< _Kty, _Pr, _Alloc > &data)</td></tr>
|
||||
<tr class="separator:abbb6565d9b47803ff19a2b3057e0f655 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a357d336d6a7ff9cf2ee6b0d441fd2551 inherit pub_methods_classstdex_1_1stream_1_1basic" id="r_a357d336d6a7ff9cf2ee6b0d441fd2551"><td class="memTemplParams" colspan="2">
|
||||
template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> </td></tr>
|
||||
<tr class="memitem:a357d336d6a7ff9cf2ee6b0d441fd2551 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstdex_1_1stream_1_1basic.html">basic</a> & </td><td class="memTemplItemRight" valign="bottom"><b>operator>></b> (std::multiset< _Kty, _Pr, _Alloc > &data)</td></tr>
|
||||
<tr class="separator:a357d336d6a7ff9cf2ee6b0d441fd2551 inherit pub_methods_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
|
||||
Protected Attributes</h2></td></tr>
|
||||
@@ -315,7 +339,7 @@ state_t </td><td class="memItemRight" valign="bottom"><b>m_state</b></td></
|
||||
<tr class="separator:afabd865667f92c3de8ef4ca0197f3615 inherit pro_attribs_classstdex_1_1stream_1_1basic"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Modifies data on the fly when reading from/writing to a source stream. </p>
|
||||
<div class="textblock"><p>Modifies data on the fly when reading from/writing to a source stream. Could also be used to modify read/write boundaries like FIFO queues, async read/write, buffering etc. </p>
|
||||
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="a96c368204acf32239318a026762cd22c" name="a96c368204acf32239318a026762cd22c"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a96c368204acf32239318a026762cd22c">◆ </a></span>close()</h2>
|
||||
@@ -423,7 +447,7 @@ state_t </td><td class="memItemRight" valign="bottom"><b>m_state</b></td></
|
||||
|
||||
<p>Reimplemented from <a class="el" href="classstdex_1_1stream_1_1basic.html#aa5d4693fd583cd7ef0ffa9b846136a5a">stdex::stream::basic</a>.</p>
|
||||
|
||||
<p>Reimplemented in <a class="el" href="classstdex_1_1stream__hasher.html#a9727f0c56f11978c2df6e31e8509a38b">stdex::stream_hasher< T ></a>, <a class="el" href="classstdex_1_1stream_1_1async__reader.html#a841c1e3cb01cb96df94701465086a529">stdex::stream::async_reader< CAPACITY ></a>, <a class="el" href="classstdex_1_1stream_1_1buffer.html#a2ef05f2df784dce1d1c4319a98cd22e0">stdex::stream::buffer</a>, <a class="el" href="classstdex_1_1stream_1_1limiter.html#a80b68f1b4a8fb8c72c09b1313e9d02ed">stdex::stream::limiter</a>, and <a class="el" href="classstdex_1_1stream_1_1window.html#a45f2420dfc94c07e101186ae2e541e13">stdex::stream::window</a>.</p>
|
||||
<p>Reimplemented in <a class="el" href="classstdex_1_1base64__reader.html#af93e15e15612233224b39fc7324cc5ee">stdex::base64_reader</a>, <a class="el" href="classstdex_1_1stream__hasher.html#a9727f0c56f11978c2df6e31e8509a38b">stdex::stream_hasher< T ></a>, <a class="el" href="classstdex_1_1stream_1_1async__reader.html#a841c1e3cb01cb96df94701465086a529">stdex::stream::async_reader< CAPACITY ></a>, <a class="el" href="classstdex_1_1stream_1_1buffer.html#a2ef05f2df784dce1d1c4319a98cd22e0">stdex::stream::buffer</a>, <a class="el" href="classstdex_1_1stream_1_1limiter.html#a80b68f1b4a8fb8c72c09b1313e9d02ed">stdex::stream::limiter</a>, and <a class="el" href="classstdex_1_1stream_1_1window.html#a45f2420dfc94c07e101186ae2e541e13">stdex::stream::window</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -473,7 +497,7 @@ state_t </td><td class="memItemRight" valign="bottom"><b>m_state</b></td></
|
||||
|
||||
<p>Reimplemented from <a class="el" href="classstdex_1_1stream_1_1basic.html#ad8af0444273509eb36ad81046ac92081">stdex::stream::basic</a>.</p>
|
||||
|
||||
<p>Reimplemented in <a class="el" href="classstdex_1_1stream__hasher.html#aea835790f7aba9fb6ad28363eaaf736b">stdex::stream_hasher< T ></a>, <a class="el" href="classstdex_1_1stream_1_1async__writer.html#a39d3fc4fffb8aa9b971fa15beaa8149b">stdex::stream::async_writer< CAPACITY ></a>, <a class="el" href="classstdex_1_1stream_1_1buffer.html#a489a01a4c187e85f06ebe10314a891ae">stdex::stream::buffer</a>, <a class="el" href="classstdex_1_1stream_1_1limiter.html#a8fe783b504f019e29034c0572cec7834">stdex::stream::limiter</a>, and <a class="el" href="classstdex_1_1stream_1_1window.html#a06f05191c35fdbadebc49e05a19d9f3c">stdex::stream::window</a>.</p>
|
||||
<p>Reimplemented in <a class="el" href="classstdex_1_1base64__writer.html#aaca6933a48a0266e4e46cc93b03ef410">stdex::base64_writer</a>, <a class="el" href="classstdex_1_1stream__hasher.html#aea835790f7aba9fb6ad28363eaaf736b">stdex::stream_hasher< T ></a>, <a class="el" href="classstdex_1_1stream_1_1async__writer.html#a39d3fc4fffb8aa9b971fa15beaa8149b">stdex::stream::async_writer< CAPACITY ></a>, <a class="el" href="classstdex_1_1stream_1_1buffer.html#a489a01a4c187e85f06ebe10314a891ae">stdex::stream::buffer</a>, <a class="el" href="classstdex_1_1stream_1_1limiter.html#a8fe783b504f019e29034c0572cec7834">stdex::stream::limiter</a>, and <a class="el" href="classstdex_1_1stream_1_1window.html#a06f05191c35fdbadebc49e05a19d9f3c">stdex::stream::window</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -483,7 +507,7 @@ state_t </td><td class="memItemRight" valign="bottom"><b>m_state</b></td></
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Sep 25 2023 13:06:11 for stdex 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
|
||||
Generated on Thu Oct 12 2023 11:52:40 for stdex 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
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user