<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// The MIT License (MIT)</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// Copyright (c) 2015-2017 Simon Ninon <simon.ninon@gmail.com></span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// Permission is hereby granted, free of charge, to any person obtaining a copy</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// of this software and associated documentation files (the "Software"), to deal</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// in the Software without restriction, including without limitation the rights</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// copies of the Software, and to permit persons to whom the Software is</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// furnished to do so, subject to the following conditions:</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">//</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// The above copyright notice and this permission notice shall be included in all</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// copies or substantial portions of the Software.</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">//</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">// SOFTWARE.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <cpp_redis/builders/builder_iface.hpp></span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <cpp_redis/builders/integer_builder.hpp></span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <cpp_redis/core/reply.hpp></span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">namespace </span><a class="code" href="namespacecpp__redis.html">cpp_redis</a> {</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">namespace </span>builders {</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classcpp__redis_1_1builders_1_1array__builder.html"> 36</a></span> <span class="keyword">class </span><a class="code" href="classcpp__redis_1_1builders_1_1array__builder.html">array_builder</a> : <span class="keyword">public</span> <a class="code" href="classcpp__redis_1_1builders_1_1builder__iface.html">builder_iface</a> {</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="classcpp__redis_1_1builders_1_1array__builder.html#a4beae33a547d3d7efc112659411a23a3">array_builder</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <a class="code" href="classcpp__redis_1_1builders_1_1array__builder.html#ae6a0cd0743b6b0a21f9c3d44fd31ac17">~array_builder</a>(<span class="keywordtype">void</span>) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <a class="code" href="classcpp__redis_1_1builders_1_1array__builder.html#a4beae33a547d3d7efc112659411a23a3">array_builder</a>(<span class="keyword">const</span> <a class="code" href="classcpp__redis_1_1builders_1_1array__builder.html">array_builder</a>&) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="classcpp__redis_1_1builders_1_1array__builder.html">array_builder</a>& <a class="code" href="classcpp__redis_1_1builders_1_1array__builder.html#aaa1df845df7a007cf73f95f73e800c2c">operator=</a>(<span class="keyword">const</span> <a class="code" href="classcpp__redis_1_1builders_1_1array__builder.html">array_builder</a>&) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="classcpp__redis_1_1builders_1_1builder__iface.html">builder_iface</a>& <a class="code" href="classcpp__redis_1_1builders_1_1array__builder.html#a043357d0ef70406adef4df78c8d5307f">operator<<</a>(std::string& data);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordtype">bool</span> <a class="code" href="classcpp__redis_1_1builders_1_1array__builder.html#a524f2cb943dde1246dea1b7057e6351e">reply_ready</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="classcpp__redis_1_1reply.html">reply</a> <a class="code" href="classcpp__redis_1_1builders_1_1array__builder.html#ac5c805ad87b357a9578c5a0d479109b3">get_reply</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordtype">bool</span> fetch_array_size(std::string& buffer);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordtype">bool</span> build_row(std::string& buffer);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="classcpp__redis_1_1builders_1_1integer__builder.html">integer_builder</a> m_int_builder;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  uint64_t m_array_size;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  std::unique_ptr<builder_iface> m_current_builder;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordtype">bool</span> m_reply_ready;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="classcpp__redis_1_1reply.html">reply</a> m_reply;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> };</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> } <span class="comment">// namespace builders</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> } <span class="comment">// namespace cpp_redis</span></div><div class="ttc" id="classcpp__redis_1_1builders_1_1array__builder_html_a524f2cb943dde1246dea1b7057e6351e"><div class="ttname"><a href="classcpp__redis_1_1builders_1_1array__builder.html#a524f2cb943dde1246dea1b7057e6351e">cpp_redis::builders::array_builder::reply_ready</a></div><div class="ttdeci">bool reply_ready(void) const</div></div>
0 commit comments