You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by we...@apache.org on 2017/05/09 03:33:34 UTC
[20/29] arrow-site git commit: Update C++ API docs
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/decimal_8h_source.html
----------------------------------------------------------------------
diff --git a/docs/cpp/decimal_8h_source.html b/docs/cpp/decimal_8h_source.html
index b54ed3a..388b1fb 100644
--- a/docs/cpp/decimal_8h_source.html
+++ b/docs/cpp/decimal_8h_source.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
@@ -112,149 +113,148 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <cmath></span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include <cstdlib></span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <iterator></span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <regex></span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <string></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include "<a class="code" href="status_8h.html">arrow/status.h</a>"</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include "<a class="code" href="bit-util_8h.html">arrow/util/bit-util.h</a>"</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include "<a class="code" href="logging_8h.html">arrow/util/logging.h</a>"</span></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="preprocessor">#include <boost/multiprecision/cpp_int.hpp></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">namespace </span>arrow {</div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">namespace </span><a class="code" href="namespacearrow.html#a3eb9b50744f460ea67e54f578777b067">decimal</a> {</div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">using</span> boost::multiprecision::int128_t;</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
-<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="namespacearrow_1_1decimal.html#ac2063f92270a114baf5eac9559adb1e3"> 39</a></span> <span class="keyword">struct </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal</a>;</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab3eb48e8bc0a86aa2749a55b3de79270">StringToInteger</a>(</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keyword">const</span> std::string& whole, <span class="keyword">const</span> std::string& fractional, int8_t sign, int32_t* out);</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab3eb48e8bc0a86aa2749a55b3de79270">StringToInteger</a>(</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">const</span> std::string& whole, <span class="keyword">const</span> std::string& fractional, int8_t sign, int64_t* out);</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab3eb48e8bc0a86aa2749a55b3de79270">StringToInteger</a>(</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keyword">const</span> std::string& whole, <span class="keyword">const</span> std::string& fractional, int8_t sign, int128_t* out);</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">template</span> <<span class="keyword">typename</span> T></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="classarrow_1_1_status.html">Status</a> <a class="code" href="namespacearrow_1_1decimal.html#a1530529dd0601972ee6ef61a00b2cbd1">FromString</a>(<span class="keyword">const</span> std::string& s, <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal<T></a>* out,</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordtype">int</span>* precision = <span class="keyword">nullptr</span>, <span class="keywordtype">int</span>* scale = <span class="keyword">nullptr</span>);</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">struct </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal</a> {</div>
-<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal.html#a51785cc5497502f341166411aa0e7481"> 54</a></span>  <a class="code" href="structarrow_1_1decimal_1_1_decimal.html#a51785cc5497502f341166411aa0e7481">Decimal</a>() : value() {}</div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal.html#a52411e4506f0ea65ad0475d0a78090db"> 55</a></span>  <span class="keyword">explicit</span> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html#a52411e4506f0ea65ad0475d0a78090db">Decimal</a>(<span class="keyword">const</span> std::string& s) : value() { <a class="code" href="namespacearrow_1_1decimal.html#a1530529dd0601972ee6ef61a00b2cbd1">FromString</a>(s, <span class="keyword">this</span>); }</div>
-<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal.html#a49cd02d4909b819a6c39b02291fedc90"> 56</a></span>  <span class="keyword">explicit</span> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html#a49cd02d4909b819a6c39b02291fedc90">Decimal</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* s) : <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal</a>(std::string(s)) {}</div>
-<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal.html#a02f067168e14f0a50eaf9388d7fbb72a"> 57</a></span>  <span class="keyword">explicit</span> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html#a02f067168e14f0a50eaf9388d7fbb72a">Decimal</a>(<span class="keyword">const</span> T& value) : value(value) {}</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal.html#a237f7e82c58e0a7567fa5dd55bcb1865"> 59</a></span>  <span class="keyword">using</span> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html#a237f7e82c58e0a7567fa5dd55bcb1865">value_type</a> = T;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal.html#a93ecf0e98e5f41e400d528348892a4b2"> 60</a></span>  <a class="code" href="structarrow_1_1decimal_1_1_decimal.html#a237f7e82c58e0a7567fa5dd55bcb1865">value_type</a> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html#a93ecf0e98e5f41e400d528348892a4b2">value</a>;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> };</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="namespacearrow_1_1decimal.html#a50355962eac4d6cdba26b35e4fd04e42"> 63</a></span> <span class="keyword">using</span> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal32</a> = <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal<int32_t></a>;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="namespacearrow_1_1decimal.html#a2209fbfc9988ce9e9638ac177955bd59"> 64</a></span> <span class="keyword">using</span> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal64</a> = <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal<int64_t></a>;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="namespacearrow_1_1decimal.html#a4c1617fe86996a9666a1e559a7ee2cda"> 65</a></span> <span class="keyword">using</span> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal128</a> = <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal<int128_t></a>;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
-<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision.html"> 68</a></span> <span class="keyword">struct </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="structarrow_1_1decimal_1_1_decimal_precision.html">DecimalPrecision</a> {};</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">template</span> <></div>
-<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int32__t_01_4.html"> 71</a></span> <span class="keyword">struct </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="structarrow_1_1decimal_1_1_decimal_precision.html">DecimalPrecision</a><int32_t> {</div>
-<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int32__t_01_4.html#acece9756bcb8e91fc2e6244aaa584514"> 72</a></span>  constexpr <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> minimum = 1;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int32__t_01_4.html#a8b111cf38217428c1e8dafb617d05426"> 73</a></span>  constexpr <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> maximum = 9;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> };</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">template</span> <></div>
-<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int64__t_01_4.html"> 77</a></span> <span class="keyword">struct </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="structarrow_1_1decimal_1_1_decimal_precision.html">DecimalPrecision</a><int64_t> {</div>
-<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int64__t_01_4.html#aaefa400580396b00407bb01fd323a0f5"> 78</a></span>  constexpr <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> minimum = 10;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int64__t_01_4.html#a27265984ed47eaf5b87787d73058cec8"> 79</a></span>  constexpr <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> maximum = 18;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> };</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">template</span> <></div>
-<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int128__t_01_4.html"> 83</a></span> <span class="keyword">struct </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="structarrow_1_1decimal_1_1_decimal_precision.html">DecimalPrecision</a><int128_t> {</div>
-<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int128__t_01_4.html#af91806be3a862fc60ea1cc96ee0f84ce"> 84</a></span>  constexpr <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> minimum = 19;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int128__t_01_4.html#af6847bc9f79651eaf038a035426eca0a"> 85</a></span>  constexpr <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> maximum = 38;</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> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
-<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="namespacearrow_1_1decimal.html#a2f684bd91d804f93e2947c528362fd96"> 89</a></span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> std::string <a class="code" href="namespacearrow_1_1decimal.html#a2f684bd91d804f93e2947c528362fd96">ToString</a>(</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keyword">const</span> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal<T></a>& decimal_value, <span class="keywordtype">int</span> precision, <span class="keywordtype">int</span> scale) {</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  T value = decimal_value.<a class="code" href="structarrow_1_1decimal_1_1_decimal.html#a93ecf0e98e5f41e400d528348892a4b2">value</a>;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="comment">// Decimal values are sent to clients as strings so in the interest of</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="comment">// speed the string will be created without the using stringstream with the</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="comment">// whole/fractional_part().</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordtype">size_t</span> last_char_idx = precision + (scale > 0) <span class="comment">// Add a space for decimal place</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  + (scale == precision) <span class="comment">// Add a space for leading 0</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  + (value < 0); <span class="comment">// Add a space for negative sign</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  std::string str = std::string(last_char_idx, <span class="charliteral">'0'</span>);</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="comment">// Start filling in the values in reverse order by taking the last digit</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="comment">// of the value. Use a positive value and worry about the sign later. At this</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="comment">// point the last_char_idx points to the string terminator.</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  T remaining_value = value;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordtype">size_t</span> first_digit_idx = 0;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">if</span> (value < 0) {</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  remaining_value = -value;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  first_digit_idx = 1;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  }</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">if</span> (scale > 0) {</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordtype">int</span> remaining_scale = scale;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">do</span> {</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  str[--last_char_idx] = <span class="keyword">static_cast<</span><span class="keywordtype">char</span><span class="keyword">></span>(</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  (remaining_value % 10) + static_cast<T>(<span class="charliteral">'0'</span>)); <span class="comment">// Ascii offset</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  remaining_value /= 10;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  } <span class="keywordflow">while</span> (--remaining_scale > 0);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  str[--last_char_idx] = <span class="charliteral">'.'</span>;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="logging_8h.html#ab4f56aa24c4c9cddc47a6abd2d747f9a">DCHECK_GT</a>(last_char_idx, first_digit_idx) << <span class="stringliteral">"Not enough space remaining"</span>;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  }</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">do</span> {</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  str[--last_char_idx] =</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keyword">static_cast<</span><span class="keywordtype">char</span><span class="keyword">></span>((remaining_value % 10) + static_cast<T>(<span class="charliteral">'0'</span>)); <span class="comment">// Ascii offset</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  remaining_value /= 10;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">if</span> (remaining_value == 0) {</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="comment">// Trim any extra leading 0's.</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">if</span> (last_char_idx > first_digit_idx) str.erase(0, last_char_idx - first_digit_idx);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  }</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="comment">// For safety, enforce string length independent of remaining_value.</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  } <span class="keywordflow">while</span> (last_char_idx > first_digit_idx);</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">if</span> (value < 0) str[0] = <span class="charliteral">'-'</span>;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">return</span> str;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> }</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab90cb85a2a66fb4762150ea88f6fcf39">FromBytes</a>(<span class="keyword">const</span> uint8_t* bytes, <a class="code" href="namespacearrow_1_1decimal.html#a50355962eac4d6cdba26b35e4fd04e42">Decimal32</a>* value);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab90cb85a2a66fb4762150ea88f6fcf39">FromBytes</a>(<span class="keyword">const</span> uint8_t* bytes, <a class="code" href="namespacearrow_1_1decimal.html#a2209fbfc9988ce9e9638ac177955bd59">Decimal64</a>* value);</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab90cb85a2a66fb4762150ea88f6fcf39">FromBytes</a>(<span class="keyword">const</span> uint8_t* bytes, <span class="keywordtype">bool</span> is_negative, <a class="code" href="namespacearrow_1_1decimal.html#a4c1617fe86996a9666a1e559a7ee2cda">Decimal128</a>* <a class="code" href="namespacearrow.html#a3eb9b50744f460ea67e54f578777b067">decimal</a>);</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab88d3a6f4c3197f8c737a58df9111244">ToBytes</a>(<span class="keyword">const</span> <a class="code" href="namespacearrow_1_1decimal.html#a50355962eac4d6cdba26b35e4fd04e42">Decimal32</a>& value, uint8_t** bytes);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab88d3a6f4c3197f8c737a58df9111244">ToBytes</a>(<span class="keyword">const</span> <a class="code" href="namespacearrow_1_1decimal.html#a2209fbfc9988ce9e9638ac177955bd59">Decimal64</a>& value, uint8_t** bytes);</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab88d3a6f4c3197f8c737a58df9111244">ToBytes</a>(<span class="keyword">const</span> <a class="code" href="namespacearrow_1_1decimal.html#a4c1617fe86996a9666a1e559a7ee2cda">Decimal128</a>& <a class="code" href="namespacearrow.html#a3eb9b50744f460ea67e54f578777b067">decimal</a>, uint8_t** bytes, <span class="keywordtype">bool</span>* is_negative);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> } <span class="comment">// namespace decimal</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> } <span class="comment">// namespace arrow</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="preprocessor">#endif // ARROW_DECIMAL_H</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <string></span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include "<a class="code" href="status_8h.html">arrow/status.h</a>"</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include "<a class="code" href="bit-util_8h.html">arrow/util/bit-util.h</a>"</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include "<a class="code" href="logging_8h.html">arrow/util/logging.h</a>"</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <boost/multiprecision/cpp_int.hpp></span></div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">namespace </span>arrow {</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">namespace </span><a class="code" href="namespacearrow.html#a3eb9b50744f460ea67e54f578777b067">decimal</a> {</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">using</span> boost::multiprecision::int128_t;</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="namespacearrow_1_1decimal.html#ac2063f92270a114baf5eac9559adb1e3"> 38</a></span> <span class="keyword">struct </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal</a>;</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab3eb48e8bc0a86aa2749a55b3de79270">StringToInteger</a>(</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keyword">const</span> std::string& whole, <span class="keyword">const</span> std::string& fractional, int8_t sign, int32_t* out);</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab3eb48e8bc0a86aa2749a55b3de79270">StringToInteger</a>(</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keyword">const</span> std::string& whole, <span class="keyword">const</span> std::string& fractional, int8_t sign, int64_t* out);</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab3eb48e8bc0a86aa2749a55b3de79270">StringToInteger</a>(</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">const</span> std::string& whole, <span class="keyword">const</span> std::string& fractional, int8_t sign, int128_t* out);</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="classarrow_1_1_status.html">Status</a> <a class="code" href="namespacearrow_1_1decimal.html#a1530529dd0601972ee6ef61a00b2cbd1">FromString</a>(<span class="keyword">const</span> std::string& s, <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal<T></a>* out,</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordtype">int</span>* precision = <span class="keyword">nullptr</span>, <span class="keywordtype">int</span>* scale = <span class="keyword">nullptr</span>);</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">struct </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal</a> {</div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal.html#a51785cc5497502f341166411aa0e7481"> 53</a></span>  <a class="code" href="structarrow_1_1decimal_1_1_decimal.html#a51785cc5497502f341166411aa0e7481">Decimal</a>() : value() {}</div>
+<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal.html#a52411e4506f0ea65ad0475d0a78090db"> 54</a></span>  <span class="keyword">explicit</span> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html#a52411e4506f0ea65ad0475d0a78090db">Decimal</a>(<span class="keyword">const</span> std::string& s) : value() { <a class="code" href="namespacearrow_1_1decimal.html#a1530529dd0601972ee6ef61a00b2cbd1">FromString</a>(s, <span class="keyword">this</span>); }</div>
+<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal.html#a49cd02d4909b819a6c39b02291fedc90"> 55</a></span>  <span class="keyword">explicit</span> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html#a49cd02d4909b819a6c39b02291fedc90">Decimal</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* s) : <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal</a>(std::string(s)) {}</div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal.html#a02f067168e14f0a50eaf9388d7fbb72a"> 56</a></span>  <span class="keyword">explicit</span> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html#a02f067168e14f0a50eaf9388d7fbb72a">Decimal</a>(<span class="keyword">const</span> T& value) : value(value) {}</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
+<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal.html#a237f7e82c58e0a7567fa5dd55bcb1865"> 58</a></span>  <span class="keyword">using</span> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html#a237f7e82c58e0a7567fa5dd55bcb1865">value_type</a> = T;</div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal.html#a93ecf0e98e5f41e400d528348892a4b2"> 59</a></span>  <a class="code" href="structarrow_1_1decimal_1_1_decimal.html#a237f7e82c58e0a7567fa5dd55bcb1865">value_type</a> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html#a93ecf0e98e5f41e400d528348892a4b2">value</a>;</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> };</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="namespacearrow_1_1decimal.html#a50355962eac4d6cdba26b35e4fd04e42"> 62</a></span> <span class="keyword">using</span> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal32</a> = <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal<int32_t></a>;</div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="namespacearrow_1_1decimal.html#a2209fbfc9988ce9e9638ac177955bd59"> 63</a></span> <span class="keyword">using</span> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal64</a> = <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal<int64_t></a>;</div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="namespacearrow_1_1decimal.html#a4c1617fe86996a9666a1e559a7ee2cda"> 64</a></span> <span class="keyword">using</span> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal128</a> = <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal<int128_t></a>;</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision.html"> 67</a></span> <span class="keyword">struct </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="structarrow_1_1decimal_1_1_decimal_precision.html">DecimalPrecision</a> {};</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">template</span> <></div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int32__t_01_4.html"> 70</a></span> <span class="keyword">struct </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="structarrow_1_1decimal_1_1_decimal_precision.html">DecimalPrecision</a><int32_t> {</div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int32__t_01_4.html#acece9756bcb8e91fc2e6244aaa584514"> 71</a></span>  constexpr <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> minimum = 1;</div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int32__t_01_4.html#a8b111cf38217428c1e8dafb617d05426"> 72</a></span>  constexpr <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> maximum = 9;</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> };</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">template</span> <></div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int64__t_01_4.html"> 76</a></span> <span class="keyword">struct </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="structarrow_1_1decimal_1_1_decimal_precision.html">DecimalPrecision</a><int64_t> {</div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int64__t_01_4.html#aaefa400580396b00407bb01fd323a0f5"> 77</a></span>  constexpr <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> minimum = 10;</div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int64__t_01_4.html#a27265984ed47eaf5b87787d73058cec8"> 78</a></span>  constexpr <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> maximum = 18;</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> };</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">template</span> <></div>
+<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int128__t_01_4.html"> 82</a></span> <span class="keyword">struct </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="structarrow_1_1decimal_1_1_decimal_precision.html">DecimalPrecision</a><int128_t> {</div>
+<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int128__t_01_4.html#af91806be3a862fc60ea1cc96ee0f84ce"> 83</a></span>  constexpr <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> minimum = 19;</div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="structarrow_1_1decimal_1_1_decimal_precision_3_01int128__t_01_4.html#af6847bc9f79651eaf038a035426eca0a"> 84</a></span>  constexpr <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> maximum = 38;</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> };</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">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="namespacearrow_1_1decimal.html#a2f684bd91d804f93e2947c528362fd96"> 88</a></span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> std::string <a class="code" href="namespacearrow_1_1decimal.html#a2f684bd91d804f93e2947c528362fd96">ToString</a>(</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keyword">const</span> <a class="code" href="structarrow_1_1decimal_1_1_decimal.html">Decimal<T></a>& decimal_value, <span class="keywordtype">int</span> precision, <span class="keywordtype">int</span> scale) {</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  T value = decimal_value.<a class="code" href="structarrow_1_1decimal_1_1_decimal.html#a93ecf0e98e5f41e400d528348892a4b2">value</a>;</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="comment">// Decimal values are sent to clients as strings so in the interest of</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="comment">// speed the string will be created without the using stringstream with the</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="comment">// whole/fractional_part().</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordtype">size_t</span> last_char_idx = precision + (scale > 0) <span class="comment">// Add a space for decimal place</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  + (scale == precision) <span class="comment">// Add a space for leading 0</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  + (value < 0); <span class="comment">// Add a space for negative sign</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  std::string str = std::string(last_char_idx, <span class="charliteral">'0'</span>);</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="comment">// Start filling in the values in reverse order by taking the last digit</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="comment">// of the value. Use a positive value and worry about the sign later. At this</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="comment">// point the last_char_idx points to the string terminator.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  T remaining_value = value;</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordtype">size_t</span> first_digit_idx = 0;</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">if</span> (value < 0) {</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  remaining_value = -value;</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  first_digit_idx = 1;</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  }</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">if</span> (scale > 0) {</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordtype">int</span> remaining_scale = scale;</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">do</span> {</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  str[--last_char_idx] = <span class="keyword">static_cast<</span><span class="keywordtype">char</span><span class="keyword">></span>(</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  (remaining_value % 10) + static_cast<T>(<span class="charliteral">'0'</span>)); <span class="comment">// Ascii offset</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  remaining_value /= 10;</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  } <span class="keywordflow">while</span> (--remaining_scale > 0);</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  str[--last_char_idx] = <span class="charliteral">'.'</span>;</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <a class="code" href="logging_8h.html#ab4f56aa24c4c9cddc47a6abd2d747f9a">DCHECK_GT</a>(last_char_idx, first_digit_idx) << <span class="stringliteral">"Not enough space remaining"</span>;</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  }</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">do</span> {</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  str[--last_char_idx] =</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keyword">static_cast<</span><span class="keywordtype">char</span><span class="keyword">></span>((remaining_value % 10) + static_cast<T>(<span class="charliteral">'0'</span>)); <span class="comment">// Ascii offset</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  remaining_value /= 10;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">if</span> (remaining_value == 0) {</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="comment">// Trim any extra leading 0's.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">if</span> (last_char_idx > first_digit_idx) str.erase(0, last_char_idx - first_digit_idx);</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  }</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="comment">// For safety, enforce string length independent of remaining_value.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  } <span class="keywordflow">while</span> (last_char_idx > first_digit_idx);</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">if</span> (value < 0) str[0] = <span class="charliteral">'-'</span>;</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">return</span> str;</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab90cb85a2a66fb4762150ea88f6fcf39">FromBytes</a>(<span class="keyword">const</span> uint8_t* bytes, <a class="code" href="namespacearrow_1_1decimal.html#a50355962eac4d6cdba26b35e4fd04e42">Decimal32</a>* value);</div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab90cb85a2a66fb4762150ea88f6fcf39">FromBytes</a>(<span class="keyword">const</span> uint8_t* bytes, <a class="code" href="namespacearrow_1_1decimal.html#a2209fbfc9988ce9e9638ac177955bd59">Decimal64</a>* value);</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab90cb85a2a66fb4762150ea88f6fcf39">FromBytes</a>(<span class="keyword">const</span> uint8_t* bytes, <span class="keywordtype">bool</span> is_negative, <a class="code" href="namespacearrow_1_1decimal.html#a4c1617fe86996a9666a1e559a7ee2cda">Decimal128</a>* <a class="code" href="namespacearrow.html#a3eb9b50744f460ea67e54f578777b067">decimal</a>);</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab88d3a6f4c3197f8c737a58df9111244">ToBytes</a>(<span class="keyword">const</span> <a class="code" href="namespacearrow_1_1decimal.html#a50355962eac4d6cdba26b35e4fd04e42">Decimal32</a>& value, uint8_t** bytes);</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab88d3a6f4c3197f8c737a58df9111244">ToBytes</a>(<span class="keyword">const</span> <a class="code" href="namespacearrow_1_1decimal.html#a2209fbfc9988ce9e9638ac177955bd59">Decimal64</a>& value, uint8_t** bytes);</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1decimal.html#ab88d3a6f4c3197f8c737a58df9111244">ToBytes</a>(<span class="keyword">const</span> <a class="code" href="namespacearrow_1_1decimal.html#a4c1617fe86996a9666a1e559a7ee2cda">Decimal128</a>& <a class="code" href="namespacearrow.html#a3eb9b50744f460ea67e54f578777b067">decimal</a>, uint8_t** bytes, <span class="keywordtype">bool</span>* is_negative);</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> } <span class="comment">// namespace decimal</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> } <span class="comment">// namespace arrow</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="preprocessor">#endif // ARROW_DECIMAL_H</span></div>
<div class="ttc" id="namespacearrow_1_1decimal_html_ab90cb85a2a66fb4762150ea88f6fcf39"><div class="ttname"><a href="namespacearrow_1_1decimal.html#ab90cb85a2a66fb4762150ea88f6fcf39">arrow::decimal::FromBytes</a></div><div class="ttdeci">void FromBytes(const uint8_t *bytes, Decimal32 *decimal)</div><div class="ttdoc">Conversion from raw bytes to a Decimal value. </div><div class="ttdef"><b>Definition:</b> decimal.cc:135</div></div>
<div class="ttc" id="namespacearrow_1_1decimal_html_ab88d3a6f4c3197f8c737a58df9111244"><div class="ttname"><a href="namespacearrow_1_1decimal.html#ab88d3a6f4c3197f8c737a58df9111244">arrow::decimal::ToBytes</a></div><div class="ttdeci">void ToBytes(const Decimal32 &value, uint8_t **bytes)</div><div class="ttdoc">Conversion from a Decimal value to raw bytes. </div><div class="ttdef"><b>Definition:</b> decimal.cc:163</div></div>
<div class="ttc" id="logging_8h_html_ab4f56aa24c4c9cddc47a6abd2d747f9a"><div class="ttname"><a href="logging_8h.html#ab4f56aa24c4c9cddc47a6abd2d747f9a">DCHECK_GT</a></div><div class="ttdeci">#define DCHECK_GT(val1, val2)</div><div class="ttdef"><b>Definition:</b> logging.h:80</div></div>
-<div class="ttc" id="structarrow_1_1decimal_1_1_decimal_html_a237f7e82c58e0a7567fa5dd55bcb1865"><div class="ttname"><a href="structarrow_1_1decimal_1_1_decimal.html#a237f7e82c58e0a7567fa5dd55bcb1865">arrow::decimal::Decimal::value_type</a></div><div class="ttdeci">T value_type</div><div class="ttdef"><b>Definition:</b> decimal.h:59</div></div>
+<div class="ttc" id="structarrow_1_1decimal_1_1_decimal_html_a237f7e82c58e0a7567fa5dd55bcb1865"><div class="ttname"><a href="structarrow_1_1decimal_1_1_decimal.html#a237f7e82c58e0a7567fa5dd55bcb1865">arrow::decimal::Decimal::value_type</a></div><div class="ttdeci">T value_type</div><div class="ttdef"><b>Definition:</b> decimal.h:58</div></div>
<div class="ttc" id="logging_8h_html"><div class="ttname"><a href="logging_8h.html">logging.h</a></div></div>
<div class="ttc" id="classarrow_1_1_status_html"><div class="ttname"><a href="classarrow_1_1_status.html">arrow::Status</a></div><div class="ttdef"><b>Definition:</b> status.h:88</div></div>
-<div class="ttc" id="namespacearrow_1_1decimal_html_a2209fbfc9988ce9e9638ac177955bd59"><div class="ttname"><a href="namespacearrow_1_1decimal.html#a2209fbfc9988ce9e9638ac177955bd59">arrow::decimal::Decimal64</a></div><div class="ttdeci">Decimal< int64_t > Decimal64</div><div class="ttdef"><b>Definition:</b> decimal.h:64</div></div>
-<div class="ttc" id="structarrow_1_1decimal_1_1_decimal_html_a49cd02d4909b819a6c39b02291fedc90"><div class="ttname"><a href="structarrow_1_1decimal_1_1_decimal.html#a49cd02d4909b819a6c39b02291fedc90">arrow::decimal::Decimal::Decimal</a></div><div class="ttdeci">Decimal(const char *s)</div><div class="ttdef"><b>Definition:</b> decimal.h:56</div></div>
+<div class="ttc" id="namespacearrow_1_1decimal_html_a2209fbfc9988ce9e9638ac177955bd59"><div class="ttname"><a href="namespacearrow_1_1decimal.html#a2209fbfc9988ce9e9638ac177955bd59">arrow::decimal::Decimal64</a></div><div class="ttdeci">Decimal< int64_t > Decimal64</div><div class="ttdef"><b>Definition:</b> decimal.h:63</div></div>
+<div class="ttc" id="structarrow_1_1decimal_1_1_decimal_html_a49cd02d4909b819a6c39b02291fedc90"><div class="ttname"><a href="structarrow_1_1decimal_1_1_decimal.html#a49cd02d4909b819a6c39b02291fedc90">arrow::decimal::Decimal::Decimal</a></div><div class="ttdeci">Decimal(const char *s)</div><div class="ttdef"><b>Definition:</b> decimal.h:55</div></div>
<div class="ttc" id="bit-util_8h_html"><div class="ttname"><a href="bit-util_8h.html">bit-util.h</a></div></div>
<div class="ttc" id="structarrow_1_1decimal_1_1_decimal_html"><div class="ttname"><a href="structarrow_1_1decimal_1_1_decimal.html">arrow::decimal::Decimal</a></div><div class="ttdef"><b>Definition:</b> builder.h:43</div></div>
-<div class="ttc" id="structarrow_1_1decimal_1_1_decimal_html_a93ecf0e98e5f41e400d528348892a4b2"><div class="ttname"><a href="structarrow_1_1decimal_1_1_decimal.html#a93ecf0e98e5f41e400d528348892a4b2">arrow::decimal::Decimal::value</a></div><div class="ttdeci">value_type value</div><div class="ttdef"><b>Definition:</b> decimal.h:60</div></div>
+<div class="ttc" id="structarrow_1_1decimal_1_1_decimal_html_a93ecf0e98e5f41e400d528348892a4b2"><div class="ttname"><a href="structarrow_1_1decimal_1_1_decimal.html#a93ecf0e98e5f41e400d528348892a4b2">arrow::decimal::Decimal::value</a></div><div class="ttdeci">value_type value</div><div class="ttdef"><b>Definition:</b> decimal.h:59</div></div>
<div class="ttc" id="namespacearrow_1_1decimal_html_ab3eb48e8bc0a86aa2749a55b3de79270"><div class="ttname"><a href="namespacearrow_1_1decimal.html#ab3eb48e8bc0a86aa2749a55b3de79270">arrow::decimal::StringToInteger</a></div><div class="ttdeci">void StringToInteger(const std::string &whole, const std::string &fractional, int8_t sign, int32_t *out)</div><div class="ttdef"><b>Definition:</b> decimal.cc:101</div></div>
<div class="ttc" id="status_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
-<div class="ttc" id="structarrow_1_1decimal_1_1_decimal_html_a51785cc5497502f341166411aa0e7481"><div class="ttname"><a href="structarrow_1_1decimal_1_1_decimal.html#a51785cc5497502f341166411aa0e7481">arrow::decimal::Decimal::Decimal</a></div><div class="ttdeci">Decimal()</div><div class="ttdef"><b>Definition:</b> decimal.h:54</div></div>
-<div class="ttc" id="structarrow_1_1decimal_1_1_decimal_html_a52411e4506f0ea65ad0475d0a78090db"><div class="ttname"><a href="structarrow_1_1decimal_1_1_decimal.html#a52411e4506f0ea65ad0475d0a78090db">arrow::decimal::Decimal::Decimal</a></div><div class="ttdeci">Decimal(const std::string &s)</div><div class="ttdef"><b>Definition:</b> decimal.h:55</div></div>
-<div class="ttc" id="structarrow_1_1decimal_1_1_decimal_precision_html"><div class="ttname"><a href="structarrow_1_1decimal_1_1_decimal_precision.html">arrow::decimal::DecimalPrecision</a></div><div class="ttdef"><b>Definition:</b> decimal.h:68</div></div>
-<div class="ttc" id="structarrow_1_1decimal_1_1_decimal_html_a02f067168e14f0a50eaf9388d7fbb72a"><div class="ttname"><a href="structarrow_1_1decimal_1_1_decimal.html#a02f067168e14f0a50eaf9388d7fbb72a">arrow::decimal::Decimal::Decimal</a></div><div class="ttdeci">Decimal(const T &value)</div><div class="ttdef"><b>Definition:</b> decimal.h:57</div></div>
-<div class="ttc" id="namespacearrow_html_a3eb9b50744f460ea67e54f578777b067"><div class="ttname"><a href="namespacearrow.html#a3eb9b50744f460ea67e54f578777b067">arrow::decimal</a></div><div class="ttdeci">std::shared_ptr< DataType > decimal(int precision, int scale)</div><div class="ttdef"><b>Definition:</b> type.cc:384</div></div>
-<div class="ttc" id="namespacearrow_1_1decimal_html_a50355962eac4d6cdba26b35e4fd04e42"><div class="ttname"><a href="namespacearrow_1_1decimal.html#a50355962eac4d6cdba26b35e4fd04e42">arrow::decimal::Decimal32</a></div><div class="ttdeci">Decimal< int32_t > Decimal32</div><div class="ttdef"><b>Definition:</b> decimal.h:63</div></div>
+<div class="ttc" id="structarrow_1_1decimal_1_1_decimal_html_a51785cc5497502f341166411aa0e7481"><div class="ttname"><a href="structarrow_1_1decimal_1_1_decimal.html#a51785cc5497502f341166411aa0e7481">arrow::decimal::Decimal::Decimal</a></div><div class="ttdeci">Decimal()</div><div class="ttdef"><b>Definition:</b> decimal.h:53</div></div>
+<div class="ttc" id="structarrow_1_1decimal_1_1_decimal_html_a52411e4506f0ea65ad0475d0a78090db"><div class="ttname"><a href="structarrow_1_1decimal_1_1_decimal.html#a52411e4506f0ea65ad0475d0a78090db">arrow::decimal::Decimal::Decimal</a></div><div class="ttdeci">Decimal(const std::string &s)</div><div class="ttdef"><b>Definition:</b> decimal.h:54</div></div>
+<div class="ttc" id="structarrow_1_1decimal_1_1_decimal_precision_html"><div class="ttname"><a href="structarrow_1_1decimal_1_1_decimal_precision.html">arrow::decimal::DecimalPrecision</a></div><div class="ttdef"><b>Definition:</b> decimal.h:67</div></div>
+<div class="ttc" id="structarrow_1_1decimal_1_1_decimal_html_a02f067168e14f0a50eaf9388d7fbb72a"><div class="ttname"><a href="structarrow_1_1decimal_1_1_decimal.html#a02f067168e14f0a50eaf9388d7fbb72a">arrow::decimal::Decimal::Decimal</a></div><div class="ttdeci">Decimal(const T &value)</div><div class="ttdef"><b>Definition:</b> decimal.h:56</div></div>
+<div class="ttc" id="namespacearrow_html_a3eb9b50744f460ea67e54f578777b067"><div class="ttname"><a href="namespacearrow.html#a3eb9b50744f460ea67e54f578777b067">arrow::decimal</a></div><div class="ttdeci">std::shared_ptr< DataType > decimal(int precision, int scale)</div><div class="ttdef"><b>Definition:</b> type.cc:428</div></div>
+<div class="ttc" id="namespacearrow_1_1decimal_html_a50355962eac4d6cdba26b35e4fd04e42"><div class="ttname"><a href="namespacearrow_1_1decimal.html#a50355962eac4d6cdba26b35e4fd04e42">arrow::decimal::Decimal32</a></div><div class="ttdeci">Decimal< int32_t > Decimal32</div><div class="ttdef"><b>Definition:</b> decimal.h:62</div></div>
<div class="ttc" id="namespacearrow_1_1decimal_html_a1530529dd0601972ee6ef61a00b2cbd1"><div class="ttname"><a href="namespacearrow_1_1decimal.html#a1530529dd0601972ee6ef61a00b2cbd1">arrow::decimal::FromString</a></div><div class="ttdeci">ARROW_EXPORT Status FromString(const std::string &s, Decimal< T > *out, int *precision, int *scale)</div><div class="ttdef"><b>Definition:</b> decimal.cc:24</div></div>
-<div class="ttc" id="namespacearrow_1_1decimal_html_a2f684bd91d804f93e2947c528362fd96"><div class="ttname"><a href="namespacearrow_1_1decimal.html#a2f684bd91d804f93e2947c528362fd96">arrow::decimal::ToString</a></div><div class="ttdeci">ARROW_EXPORT std::string ToString(const Decimal< T > &decimal_value, int precision, int scale)</div><div class="ttdef"><b>Definition:</b> decimal.h:89</div></div>
-<div class="ttc" id="namespacearrow_1_1decimal_html_a4c1617fe86996a9666a1e559a7ee2cda"><div class="ttname"><a href="namespacearrow_1_1decimal.html#a4c1617fe86996a9666a1e559a7ee2cda">arrow::decimal::Decimal128</a></div><div class="ttdeci">Decimal< int128_t > Decimal128</div><div class="ttdef"><b>Definition:</b> decimal.h:65</div></div>
+<div class="ttc" id="namespacearrow_1_1decimal_html_a2f684bd91d804f93e2947c528362fd96"><div class="ttname"><a href="namespacearrow_1_1decimal.html#a2f684bd91d804f93e2947c528362fd96">arrow::decimal::ToString</a></div><div class="ttdeci">ARROW_EXPORT std::string ToString(const Decimal< T > &decimal_value, int precision, int scale)</div><div class="ttdef"><b>Definition:</b> decimal.h:88</div></div>
+<div class="ttc" id="namespacearrow_1_1decimal_html_a4c1617fe86996a9666a1e559a7ee2cda"><div class="ttname"><a href="namespacearrow_1_1decimal.html#a4c1617fe86996a9666a1e559a7ee2cda">arrow::decimal::Decimal128</a></div><div class="ttdeci">Decimal< int128_t > Decimal128</div><div class="ttdef"><b>Definition:</b> decimal.h:64</div></div>
<div class="ttc" id="visibility_8h_html_a7060b7b5f11fc11ce77a4d30b37619ef"><div class="ttname"><a href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a></div><div class="ttdeci">#define ARROW_EXPORT</div><div class="ttdef"><b>Definition:</b> visibility.h:31</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/dir_0539d7a3504e6076a2e8cf8a03ff8f5c.html
----------------------------------------------------------------------
diff --git a/docs/cpp/dir_0539d7a3504e6076a2e8cf8a03ff8f5c.html b/docs/cpp/dir_0539d7a3504e6076a2e8cf8a03ff8f5c.html
index 63d1575..a390eb8 100644
--- a/docs/cpp/dir_0539d7a3504e6076a2e8cf8a03ff8f5c.html
+++ b/docs/cpp/dir_0539d7a3504e6076a2e8cf8a03ff8f5c.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/dir_0ec26d2e7faeeeac58a30922e3b0f2e5.html
----------------------------------------------------------------------
diff --git a/docs/cpp/dir_0ec26d2e7faeeeac58a30922e3b0f2e5.html b/docs/cpp/dir_0ec26d2e7faeeeac58a30922e3b0f2e5.html
index a54f8a0..bfb82eb 100644
--- a/docs/cpp/dir_0ec26d2e7faeeeac58a30922e3b0f2e5.html
+++ b/docs/cpp/dir_0ec26d2e7faeeeac58a30922e3b0f2e5.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/dir_32a666346412270f27c291aae8f6e8b2.html
----------------------------------------------------------------------
diff --git a/docs/cpp/dir_32a666346412270f27c291aae8f6e8b2.html b/docs/cpp/dir_32a666346412270f27c291aae8f6e8b2.html
index 6a8f5d6..c8837a4 100644
--- a/docs/cpp/dir_32a666346412270f27c291aae8f6e8b2.html
+++ b/docs/cpp/dir_32a666346412270f27c291aae8f6e8b2.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
@@ -98,10 +99,16 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:io-util_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="io-util_8h.html">io-util.h</a> <a href="io-util_8h_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:key__value__metadata_8cc"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="key__value__metadata_8cc.html">key_value_metadata.cc</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:key__value__metadata_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="key__value__metadata_8h.html">key_value_metadata.h</a> <a href="key__value__metadata_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:logging_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html">logging.h</a> <a href="logging_8h_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:macros_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="macros_8h.html">macros.h</a> <a href="macros_8h_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:util_2memory_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="util_2memory_8h.html">memory.h</a> <a href="util_2memory_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:random_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="random_8h.html">random.h</a> <a href="random_8h_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:stl_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="stl_8h.html">stl.h</a> <a href="stl_8h_source.html">[code]</a></td></tr>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/dir_4f683177589ce7b8fe2ef6d807198da3.html
----------------------------------------------------------------------
diff --git a/docs/cpp/dir_4f683177589ce7b8fe2ef6d807198da3.html b/docs/cpp/dir_4f683177589ce7b8fe2ef6d807198da3.html
index acc5df3..690e1c9 100644
--- a/docs/cpp/dir_4f683177589ce7b8fe2ef6d807198da3.html
+++ b/docs/cpp/dir_4f683177589ce7b8fe2ef6d807198da3.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/dir_68267d1309a1af8e8297ef4c3efbcdba.html
----------------------------------------------------------------------
diff --git a/docs/cpp/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/docs/cpp/dir_68267d1309a1af8e8297ef4c3efbcdba.html
index e951d4a..313ce83 100644
--- a/docs/cpp/dir_68267d1309a1af8e8297ef4c3efbcdba.html
+++ b/docs/cpp/dir_68267d1309a1af8e8297ef4c3efbcdba.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/dir_e3cd57a4f30ba74550f913507c7f1d51.html
----------------------------------------------------------------------
diff --git a/docs/cpp/dir_e3cd57a4f30ba74550f913507c7f1d51.html b/docs/cpp/dir_e3cd57a4f30ba74550f913507c7f1d51.html
index d0df209..1bc7cac 100644
--- a/docs/cpp/dir_e3cd57a4f30ba74550f913507c7f1d51.html
+++ b/docs/cpp/dir_e3cd57a4f30ba74550f913507c7f1d51.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/dir_f268bcc159eae94e675c85a5c9130f48.html
----------------------------------------------------------------------
diff --git a/docs/cpp/dir_f268bcc159eae94e675c85a5c9130f48.html b/docs/cpp/dir_f268bcc159eae94e675c85a5c9130f48.html
index d8b0d50..1e79b9b 100644
--- a/docs/cpp/dir_f268bcc159eae94e675c85a5c9130f48.html
+++ b/docs/cpp/dir_f268bcc159eae94e675c85a5c9130f48.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
@@ -104,7 +105,7 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:memory_8cc"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8cc.html">memory.cc</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:memory_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8h.html">memory.h</a> <a href="memory_8h_source.html">[code]</a></td></tr>
+<tr class="memitem:io_2memory_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="io_2memory_8h.html">memory.h</a> <a href="io_2memory_8h_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:mman_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="mman_8h.html">mman.h</a> <a href="mman_8h_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/dir_fe25ba37dfe21fed8dcc297696dcf71e.html
----------------------------------------------------------------------
diff --git a/docs/cpp/dir_fe25ba37dfe21fed8dcc297696dcf71e.html b/docs/cpp/dir_fe25ba37dfe21fed8dcc297696dcf71e.html
index 93cc273..d2946d5 100644
--- a/docs/cpp/dir_fe25ba37dfe21fed8dcc297696dcf71e.html
+++ b/docs/cpp/dir_fe25ba37dfe21fed8dcc297696dcf71e.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/feather-internal_8h.html
----------------------------------------------------------------------
diff --git a/docs/cpp/feather-internal_8h.html b/docs/cpp/feather-internal_8h.html
index 5b845e1..ee47908 100644
--- a/docs/cpp/feather-internal_8h.html
+++ b/docs/cpp/feather-internal_8h.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/feather-internal_8h_source.html
----------------------------------------------------------------------
diff --git a/docs/cpp/feather-internal_8h_source.html b/docs/cpp/feather-internal_8h_source.html
index 6ce2833..9508c5a 100644
--- a/docs/cpp/feather-internal_8h_source.html
+++ b/docs/cpp/feather-internal_8h_source.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
@@ -330,14 +331,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="classarrow_1_1ipc_1_1feather_1_1_table_builder_html"><div class="ttname"><a href="classarrow_1_1ipc_1_1feather_1_1_table_builder.html">arrow::ipc::feather::TableBuilder</a></div><div class="ttdef"><b>Definition:</b> feather-internal.h:94</div></div>
<div class="ttc" id="structarrow_1_1ipc_1_1feather_1_1_array_metadata_html"><div class="ttname"><a href="structarrow_1_1ipc_1_1feather_1_1_array_metadata.html">arrow::ipc::feather::ArrayMetadata</a></div><div class="ttdef"><b>Definition:</b> feather-internal.h:48</div></div>
<div class="ttc" id="classarrow_1_1_status_html"><div class="ttname"><a href="classarrow_1_1_status.html">arrow::Status</a></div><div class="ttdef"><b>Definition:</b> status.h:88</div></div>
-<div class="ttc" id="structarrow_1_1_time_unit_html_a561ef51c3755bd873f8f86f5bc4ec1ff"><div class="ttname"><a href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ff">arrow::TimeUnit::type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> type.h:542</div></div>
+<div class="ttc" id="structarrow_1_1_time_unit_html_a561ef51c3755bd873f8f86f5bc4ec1ff"><div class="ttname"><a href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ff">arrow::TimeUnit::type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> type.h:554</div></div>
<div class="ttc" id="namespacearrow_1_1ipc_1_1feather_html_ae925e8930c1f14b693a618b01200c05a"><div class="ttname"><a href="namespacearrow_1_1ipc_1_1feather.html#ae925e8930c1f14b693a618b01200c05a">arrow::ipc::feather::FBB</a></div><div class="ttdeci">flatbuffers::FlatBufferBuilder FBB</div><div class="ttdef"><b>Definition:</b> feather-internal.h:41</div></div>
<div class="ttc" id="classarrow_1_1ipc_1_1feather_1_1_table_metadata_html"><div class="ttname"><a href="classarrow_1_1ipc_1_1feather_1_1_table_metadata.html">arrow::ipc::feather::TableMetadata</a></div><div class="ttdef"><b>Definition:</b> feather-internal.h:119</div></div>
<div class="ttc" id="classarrow_1_1ipc_1_1feather_1_1_table_metadata_html_adc09b69c09e6f08c3c8b60ba70306075"><div class="ttname"><a href="classarrow_1_1ipc_1_1feather_1_1_table_metadata.html#adc09b69c09e6f08c3c8b60ba70306075">arrow::ipc::feather::TableMetadata::num_columns</a></div><div class="ttdeci">int64_t num_columns() const </div><div class="ttdef"><b>Definition:</b> feather-internal.h:144</div></div>
<div class="ttc" id="structarrow_1_1ipc_1_1feather_1_1_timestamp_metadata_html_a890ed856d56872c8f1c25936e7597adf"><div class="ttname"><a href="structarrow_1_1ipc_1_1feather_1_1_timestamp_metadata.html#a890ed856d56872c8f1c25936e7597adf">arrow::ipc::feather::TimestampMetadata::unit</a></div><div class="ttdeci">TimeUnit::type unit</div><div class="ttdef"><b>Definition:</b> feather-internal.h:78</div></div>
<div class="ttc" id="classarrow_1_1ipc_1_1feather_1_1_column_builder_html"><div class="ttname"><a href="classarrow_1_1ipc_1_1feather_1_1_column_builder.html">arrow::ipc::feather::ColumnBuilder</a></div><div class="ttdef"><b>Definition:</b> feather-internal.h:189</div></div>
<div class="ttc" id="structarrow_1_1ipc_1_1feather_1_1_timestamp_metadata_html"><div class="ttname"><a href="structarrow_1_1ipc_1_1feather_1_1_timestamp_metadata.html">arrow::ipc::feather::TimestampMetadata</a></div><div class="ttdef"><b>Definition:</b> feather-internal.h:77</div></div>
-<div class="ttc" id="classarrow_1_1_status_html_a5c0b0031db6eeec3dcc70485d24cfe03"><div class="ttname"><a href="classarrow_1_1_status.html#a5c0b0031db6eeec3dcc70485d24cfe03">arrow::Status::OK</a></div><div class="ttdeci">static Status OK()</div><div class="ttdef"><b>Definition:</b> status.h:99</div></div>
+<div class="ttc" id="classarrow_1_1_status_html_a5c0b0031db6eeec3dcc70485d24cfe03"><div class="ttname"><a href="classarrow_1_1_status.html#a5c0b0031db6eeec3dcc70485d24cfe03">arrow::Status::OK</a></div><div class="ttdeci">static Status OK()</div><div class="ttdef"><b>Definition:</b> status.h:102</div></div>
<div class="ttc" id="namespacearrow_1_1ipc_1_1feather_html_a9849172f0f92293c0e2db46c81742067"><div class="ttname"><a href="namespacearrow_1_1ipc_1_1feather.html#a9849172f0f92293c0e2db46c81742067">arrow::ipc::feather::ColumnVector</a></div><div class="ttdeci">std::vector< flatbuffers::Offset< fbs::Column > > ColumnVector</div><div class="ttdef"><b>Definition:</b> feather-internal.h:40</div></div>
<div class="ttc" id="structarrow_1_1ipc_1_1feather_1_1_category_metadata_html"><div class="ttname"><a href="structarrow_1_1ipc_1_1feather_1_1_category_metadata.html">arrow::ipc::feather::CategoryMetadata</a></div><div class="ttdef"><b>Definition:</b> feather-internal.h:72</div></div>
<div class="ttc" id="structarrow_1_1ipc_1_1feather_1_1_array_metadata_html_a45592d5cbbc67fa339c2a15bd277dec4"><div class="ttname"><a href="structarrow_1_1ipc_1_1feather_1_1_array_metadata.html#a45592d5cbbc67fa339c2a15bd277dec4">arrow::ipc::feather::ArrayMetadata::ArrayMetadata</a></div><div class="ttdeci">ArrayMetadata(fbs::Type type, int64_t offset, int64_t length, int64_t null_count, int64_t total_bytes)</div><div class="ttdef"><b>Definition:</b> feather-internal.h:51</div></div>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/feather_8cc.html
----------------------------------------------------------------------
diff --git a/docs/cpp/feather_8cc.html b/docs/cpp/feather_8cc.html
index a8ca7eb..f46844c 100644
--- a/docs/cpp/feather_8cc.html
+++ b/docs/cpp/feather_8cc.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/feather_8h.html
----------------------------------------------------------------------
diff --git a/docs/cpp/feather_8h.html b/docs/cpp/feather_8h.html
index 57ef22f..11bab3f 100644
--- a/docs/cpp/feather_8h.html
+++ b/docs/cpp/feather_8h.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/feather_8h_source.html
----------------------------------------------------------------------
diff --git a/docs/cpp/feather_8h_source.html b/docs/cpp/feather_8h_source.html
index c6f94e0..be09230 100644
--- a/docs/cpp/feather_8h_source.html
+++ b/docs/cpp/feather_8h_source.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/file-to-stream_8cc.html
----------------------------------------------------------------------
diff --git a/docs/cpp/file-to-stream_8cc.html b/docs/cpp/file-to-stream_8cc.html
index 2030799..7af11a4 100644
--- a/docs/cpp/file-to-stream_8cc.html
+++ b/docs/cpp/file-to-stream_8cc.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/file_8cc.html
----------------------------------------------------------------------
diff --git a/docs/cpp/file_8cc.html b/docs/cpp/file_8cc.html
index d443dde..58ad33f 100644
--- a/docs/cpp/file_8cc.html
+++ b/docs/cpp/file_8cc.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/file_8h.html
----------------------------------------------------------------------
diff --git a/docs/cpp/file_8h.html b/docs/cpp/file_8h.html
index b7412e2..a567494 100644
--- a/docs/cpp/file_8h.html
+++ b/docs/cpp/file_8h.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/file_8h_source.html
----------------------------------------------------------------------
diff --git a/docs/cpp/file_8h_source.html b/docs/cpp/file_8h_source.html
index 763d45d..99ed438 100644
--- a/docs/cpp/file_8h_source.html
+++ b/docs/cpp/file_8h_source.html
@@ -38,6 +38,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>