arrow-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From w...@apache.org
Subject [09/51] [partial] arrow-site git commit: Add Ray serialization blog post, update API docs
Date Mon, 16 Oct 2017 14:19:47 GMT
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/7a2e5ece/docs/cpp/type__traits_8h_source.html
----------------------------------------------------------------------
diff --git a/docs/cpp/type__traits_8h_source.html b/docs/cpp/type__traits_8h_source.html
index 664b7f4..39d11f3 100644
--- a/docs/cpp/type__traits_8h_source.html
+++ b/docs/cpp/type__traits_8h_source.html
@@ -5,7 +5,7 @@
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <meta name="generator" content="Doxygen 1.8.13"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>Apache Arrow (C++): /home/wesm/code/arrow/cpp/src/arrow/type_traits.h Source File</title>
+<title>Apache Arrow (C++): /apache-arrow/arrow/cpp/src/arrow/type_traits.h Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <script type="text/javascript" src="dynsections.js"></script>
@@ -67,7 +67,7 @@ $(function() {
 <div class="title">type_traits.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="type__traits_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span 
 class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// software distribu
 ted under the License is distributed on an</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// KIND, either express or implied.  See the License for the</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// under the License.</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef ARROW_TYPE_TRAITS_H</span></div><div class="line"><a name="l00019"></a><span class="lin
 eno">   19</span>&#160;<span class="preprocessor">#define ARROW_TYPE_TRAITS_H</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;type_traits&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="type__fwd_8h.html">arrow/type_fwd.h</a>&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="bit-util_8h.html">arrow/util/bit-util.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">names
 pace </span><a class="code" href="namespacearrow.html">arrow</a> {</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits.html">   29</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a> {};</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_null_type_01_4.html">   32</a></span>&#160;<span class="keyword">struct </span><a class="
 code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_null_type.html">NullType</a>&gt; {</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_null_type_01_4.html#aaec340f6ecbf2d2f2d50a93c19054ec2">   33</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_null_array.html">ArrayType</a> = <a class="code" href="classarrow_1_1_null_array.html">NullArray</a>;</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_null_type_01_4.html#aa2f594e924a4fdc0ac7694423cb67d35">   34</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_null_builder.html">BuilderType</a> = <a class="code" href="classarrow_1_1_null_builder.html">NullBuilder</a>;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="structarrow_1_1_type
 _traits_3_01_null_type_01_4.html#a0dfce1a53db196e1b4d2f99491bcac01">   35</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">false</span>;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;};</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int8_type_01_4.html">   39</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_u_int8_type.html">UInt8Type</a>&gt; {</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_
 3_01_u_int8_type_01_4.html#ac1fe5876ceba7770ae2f220557c67835">   40</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_u_int8_type_01_4.html#ac1fe5876ceba7770ae2f220557c67835">ArrayType</a> = UInt8Array;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int8_type_01_4.html#ae9d9a698ed9c27d7a0ced3f865452fd9">   41</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_builder.html">BuilderType</a> = <a class="code" href="namespacearrow.html#adab028f188008a82d790cd69ac351a3b">UInt8Builder</a>;</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int8_type_01_4.html#ab8fd5d9ce6753537ffa29fc658b48ec2">   42</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_u_int8_type_01_4.html#ab8fd5d9ce67535
 37ffa29fc658b48ec2">TensorType</a> = UInt8Tensor;</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int8_type_01_4.html#a13ced8093f8c4b59a39030dc4b7ee008">   43</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code" href="structarrow_1_1_type_traits_3_01_u_int8_type_01_4.html#a13ced8093f8c4b59a39030dc4b7ee008">bytes_required</a>(int64_t elements) { <span class="keywordflow">return</span> elements; }</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int8_type_01_4.html#aec003e96108d4c60f54ccc4ff709c723">   44</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">true</span>;</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_i
 nt8_type_01_4.html#ab4d6492370e76e4f5be2bcd1cf57e1d1">   45</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> std::shared_ptr&lt;DataType&gt; <a class="code" href="structarrow_1_1_type_traits_3_01_u_int8_type_01_4.html#ab4d6492370e76e4f5be2bcd1cf57e1d1">type_singleton</a>() { <span class="keywordflow">return</span> <a class="code" href="namespacearrow.html#a4891a423be213550cc24e8ebe830673f">uint8</a>(); }</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;};</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int8_type_01_4.html">   49</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits
 .html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_int8_type.html">Int8Type</a>&gt; {</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int8_type_01_4.html#aff440e7c8c29a19c79789632e8c15a81">   50</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_int8_type_01_4.html#aff440e7c8c29a19c79789632e8c15a81">ArrayType</a> = Int8Array;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int8_type_01_4.html#afbc3e1c0950b7980ce41cfafeff93483">   51</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_builder.html">BuilderType</a> = <a class="code" href="namespacearrow.html#a9675d2aecdd6ad622ee1358c358ba278">Int8Builder</a>;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int8
 _type_01_4.html#ae1a8e9be857a9e965584414ab0eb0096">   52</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_int8_type_01_4.html#ae1a8e9be857a9e965584414ab0eb0096">TensorType</a> = Int8Tensor;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int8_type_01_4.html#a25277021b2e464421736b654926d8da7">   53</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code" href="structarrow_1_1_type_traits_3_01_int8_type_01_4.html#a25277021b2e464421736b654926d8da7">bytes_required</a>(int64_t elements) { <span class="keywordflow">return</span> elements; }</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int8_type_01_4.html#ae0c69fa05bb415ee5b6b4446a9c78bc1">   54</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtyp
 e">bool</span> is_parameter_free = <span class="keyword">true</span>;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int8_type_01_4.html#a475960215915baa837f70537fdd99c08">   55</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> std::shared_ptr&lt;DataType&gt; <a class="code" href="structarrow_1_1_type_traits_3_01_int8_type_01_4.html#a475960215915baa837f70537fdd99c08">type_singleton</a>() { <span class="keywordflow">return</span> <a class="code" href="namespacearrow.html#a9c09bf26bc03f0fb0c84a0277215dd67">int8</a>(); }</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;};</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00059"></a><span class="lin
 eno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int16_type_01_4.html">   59</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_u_int16_type.html">UInt16Type</a>&gt; {</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int16_type_01_4.html#abaafb921faa6eb567225560d6b129e34">   60</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_u_int16_type_01_4.html#abaafb921faa6eb567225560d6b129e34">ArrayType</a> = UInt16Array;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int16_type_01_4.html#a9df7c22269b2f50ba2843443cbf9ed31">   61</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_builder.html">BuilderType</a> = <a class="c
 ode" href="namespacearrow.html#a6f7720234c751cfa79a0d6d4e2014485">UInt16Builder</a>;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int16_type_01_4.html#a9862d476bfe7d097efebc89c514a65c5">   62</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_u_int16_type_01_4.html#a9862d476bfe7d097efebc89c514a65c5">TensorType</a> = UInt16Tensor;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int16_type_01_4.html#a26b57e2a3e6ab3a840984bf379985e77">   64</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code" href="structarrow_1_1_type_traits_3_01_u_int16_type_01_4.html#a26b57e2a3e6ab3a840984bf379985e77">bytes_required</a>(int64_t elements) {</div><div cla
 ss="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keywordflow">return</span> elements * <span class="keyword">sizeof</span>(uint16_t);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  }</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int16_type_01_4.html#a49fa0b1dbdcd7de7202defc23cec766b">   67</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">true</span>;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int16_type_01_4.html#a40cbcdd5ae033ca0d2cc2f57e38b0866">   68</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> std::shared_ptr&lt;DataType&gt; <a class="code" href="structarrow_1_1_type_traits_3_01_u_int16_type_01_4.html#a40cbcdd5ae03
 3ca0d2cc2f57e38b0866">type_singleton</a>() { <span class="keywordflow">return</span> <a class="code" href="namespacearrow.html#a9f1e44bc2ab9b465b6e7b601eb48f0a0">uint16</a>(); }</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;};</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int16_type_01_4.html">   72</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_int16_type.html">Int16Type</a>&gt; {</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int16_type_01_4.html#a2e07850d505c9a0d685542c79704f
 08a">   73</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_int16_type_01_4.html#a2e07850d505c9a0d685542c79704f08a">ArrayType</a> = Int16Array;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int16_type_01_4.html#af3246446196675795ecc370b42446c79">   74</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_builder.html">BuilderType</a> = <a class="code" href="namespacearrow.html#ab5ad5330bb34a045c6e87ecee875057e">Int16Builder</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int16_type_01_4.html#aedfcd33e1b5c426482e0d97ae0c9120a">   75</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_int16_type_01_4.html#aedfcd33e1b5c426482e0d97ae0c9120a">TensorType</a> = Int16Tensor;</div><div c
 lass="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int16_type_01_4.html#a69fd9a0b5f30cde1385c3957a4e50eed">   77</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code" href="structarrow_1_1_type_traits_3_01_int16_type_01_4.html#a69fd9a0b5f30cde1385c3957a4e50eed">bytes_required</a>(int64_t elements) {</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <span class="keywordflow">return</span> elements * <span class="keyword">sizeof</span>(int16_t);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  }</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int16_type_01_4.html#a26885a14eea782da9e518e9483cd52de">   80</a></span>&#160;  constexpr <span class="
 keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">true</span>;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int16_type_01_4.html#a5eac1ee4a2b22ea6425918389f73c870">   81</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> std::shared_ptr&lt;DataType&gt; <a class="code" href="structarrow_1_1_type_traits_3_01_int16_type_01_4.html#a5eac1ee4a2b22ea6425918389f73c870">type_singleton</a>() { <span class="keywordflow">return</span> <a class="code" href="namespacearrow.html#a034c5c703e15039fe76af412d349734d">int16</a>(); }</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;};</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div c
 lass="line"><a name="l00085"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int32_type_01_4.html">   85</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_u_int32_type.html">UInt32Type</a>&gt; {</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int32_type_01_4.html#af4f69df2af7fe97fe226234e44a297ac">   86</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_u_int32_type_01_4.html#af4f69df2af7fe97fe226234e44a297ac">ArrayType</a> = UInt32Array;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int32_type_01_4.html#aba98d802d8a6973d2366a0ef7a3b11bc">   87</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_nu
 meric_builder.html">BuilderType</a> = <a class="code" href="namespacearrow.html#a54e6101656a21b97a88179c8d1c453b9">UInt32Builder</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int32_type_01_4.html#ac8a4834dce568511563b50d4b9fb5cb3">   88</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_u_int32_type_01_4.html#ac8a4834dce568511563b50d4b9fb5cb3">TensorType</a> = UInt32Tensor;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int32_type_01_4.html#a507fe695dc1bdadb193843670cf8fae4">   90</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code" href="structarrow_1_1_type_traits_3_01_u_int32_type_01_4.html#a507fe695dc1bdadb193843670cf8fae4">byt
 es_required</a>(int64_t elements) {</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keywordflow">return</span> elements * <span class="keyword">sizeof</span>(uint32_t);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  }</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int32_type_01_4.html#aa2a627edfa09a69bda6818a1a104b6e5">   93</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">true</span>;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int32_type_01_4.html#a4ddabc804e50df35aa2e877145f2480d">   94</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> std::shared_ptr&lt;DataType&gt; <a class="code" href="structarrow_1_1_type
 _traits_3_01_u_int32_type_01_4.html#a4ddabc804e50df35aa2e877145f2480d">type_singleton</a>() { <span class="keywordflow">return</span> <a class="code" href="namespacearrow.html#ae80e510cfb2931ac18c73cba0be6d894">uint32</a>(); }</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;};</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int32_type_01_4.html">   98</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_int32_type.html">Int32Type</a>&gt; {</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_in
 t32_type_01_4.html#a52c4c1333dee3cd35dd83d063b341590">   99</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_int32_type_01_4.html#a52c4c1333dee3cd35dd83d063b341590">ArrayType</a> = Int32Array;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int32_type_01_4.html#afe5f85713d38533164e75280c296d296">  100</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_builder.html">BuilderType</a> = <a class="code" href="namespacearrow.html#a031c893d8d592c7a099bb9bea3a25f86">Int32Builder</a>;</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int32_type_01_4.html#adb4a9dca91afb06fe8259ceb2671ad4c">  101</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_int32_type_01_4.html#adb4a9dca91afb06fe8259ceb26
 71ad4c">TensorType</a> = Int32Tensor;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int32_type_01_4.html#a1a40d523628e16173130acbcb582eef4">  103</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code" href="structarrow_1_1_type_traits_3_01_int32_type_01_4.html#a1a40d523628e16173130acbcb582eef4">bytes_required</a>(int64_t elements) {</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keywordflow">return</span> elements * <span class="keyword">sizeof</span>(int32_t);</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  }</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int32_type_01_4.html#afa2351db42ee02f3385ee9256555822e
 ">  106</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">true</span>;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int32_type_01_4.html#ae71f6f3e7cb31e2e524e6c0c15c093db">  107</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> std::shared_ptr&lt;DataType&gt; <a class="code" href="structarrow_1_1_type_traits_3_01_int32_type_01_4.html#ae71f6f3e7cb31e2e524e6c0c15c093db">type_singleton</a>() { <span class="keywordflow">return</span> <a class="code" href="namespacearrow.html#a86f6bfe394347f77befa2143297ad541">int32</a>(); }</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;};</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span cla
 ss="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int64_type_01_4.html">  111</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_u_int64_type.html">UInt64Type</a>&gt; {</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int64_type_01_4.html#a5df0a3215f71ad803d141c536ce7d362">  112</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_u_int64_type_01_4.html#a5df0a3215f71ad803d141c536ce7d362">ArrayType</a> = UInt64Array;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int64_type_01_4.html#ab011d21be9e6ce0e1bd6b1551171c1d4">  113</a></span>&#160;  <span class="keyword">usi
 ng</span> <a class="code" href="classarrow_1_1_numeric_builder.html">BuilderType</a> = <a class="code" href="namespacearrow.html#a1777cb0f7c98036ad6f078fa0f1a6829">UInt64Builder</a>;</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int64_type_01_4.html#aac0d43bad97fba3caafd1a2dc26b9767">  114</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_u_int64_type_01_4.html#aac0d43bad97fba3caafd1a2dc26b9767">TensorType</a> = UInt64Tensor;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int64_type_01_4.html#ace497e09f7a7458591919aaf24862c95">  116</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code" href="structarrow_1_1_type_traits_3_01_u_int64_type
 _01_4.html#ace497e09f7a7458591919aaf24862c95">bytes_required</a>(int64_t elements) {</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keywordflow">return</span> elements * <span class="keyword">sizeof</span>(uint64_t);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  }</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int64_type_01_4.html#ae1ceaf7faff4da26c4556d176a3a3db3">  119</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">true</span>;</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_u_int64_type_01_4.html#a4787c7bb9ecaf16ab00fbda8589e1491">  120</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> std::shared_ptr&lt;DataTy
 pe&gt; <a class="code" href="structarrow_1_1_type_traits_3_01_u_int64_type_01_4.html#a4787c7bb9ecaf16ab00fbda8589e1491">type_singleton</a>() { <span class="keywordflow">return</span> <a class="code" href="namespacearrow.html#ae548d03275f4afaa97a269774ce6930c">uint64</a>(); }</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;};</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int64_type_01_4.html">  124</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_int64_type.html">Int64Type</a>&gt; {</div><div class="line"><a name="l00125"></a><span class="lineno"><a class
 ="line" href="structarrow_1_1_type_traits_3_01_int64_type_01_4.html#a2c0305fd167bec49b1fa2ae850e0f3df">  125</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_int64_type_01_4.html#a2c0305fd167bec49b1fa2ae850e0f3df">ArrayType</a> = Int64Array;</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int64_type_01_4.html#a02084ff9c1cb91c642c325ef7d63f16e">  126</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_builder.html">BuilderType</a> = <a class="code" href="namespacearrow.html#a08fa80026c56e0f1ff24b43c4dc33e61">Int64Builder</a>;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int64_type_01_4.html#af36b01e1921228bf93d0fc1b8a534704">  127</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01
 _int64_type_01_4.html#af36b01e1921228bf93d0fc1b8a534704">TensorType</a> = Int64Tensor;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int64_type_01_4.html#a73508f6183b83543ab3314632914d204">  129</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code" href="structarrow_1_1_type_traits_3_01_int64_type_01_4.html#a73508f6183b83543ab3314632914d204">bytes_required</a>(int64_t elements) {</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="keywordflow">return</span> elements * <span class="keyword">sizeof</span>(int64_t);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  }</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int64
 _type_01_4.html#a371f1344fd6250f8a28e511f545c701e">  132</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">true</span>;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_int64_type_01_4.html#ab31844be95b364dd2f634f7daa0ded51">  133</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> std::shared_ptr&lt;DataType&gt; <a class="code" href="structarrow_1_1_type_traits_3_01_int64_type_01_4.html#ab31844be95b364dd2f634f7daa0ded51">type_singleton</a>() { <span class="keywordflow">return</span> <a class="code" href="namespacearrow.html#a733b16be653069b8d926529662e34e79">int64</a>(); }</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;};</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a
 ><span class="lineno">  136</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_date64_type_01_4.html">  137</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_date64_type.html">Date64Type</a>&gt; {</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_date64_type_01_4.html#a6e0a681ba33b38672262f0d78af5cbc3">  138</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_array.html">ArrayType</a> = <a class="code" href="namespacearrow.html#aa9a45b66d455778ec8168f937379f22e">Date64Array</a>;</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_date64_type_01_4.html#a41d3832c01c62
 e420d52f176f8f9c04e">  139</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_builder.html">BuilderType</a> = <a class="code" href="namespacearrow.html#a0f6f5ba414e7dce870af9fc1fa6f96aa">Date64Builder</a>;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_date64_type_01_4.html#a4676900e8107bfd90bced7a9490ae8e8">  141</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code" href="structarrow_1_1_type_traits_3_01_date64_type_01_4.html#a4676900e8107bfd90bced7a9490ae8e8">bytes_required</a>(int64_t elements) {</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <span class="keywordflow">return</span> elements * <span class="keyword">sizeof</span>(int64_t);</div><div class="line"><a name="l00143"></a>
 <span class="lineno">  143</span>&#160;  }</div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_date64_type_01_4.html#a8802b5ec4d7a34d7b118d552ee082b04">  144</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">true</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_date64_type_01_4.html#a66c5ac49feb210668598caa422443b75">  145</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> std::shared_ptr&lt;DataType&gt; <a class="code" href="structarrow_1_1_type_traits_3_01_date64_type_01_4.html#a66c5ac49feb210668598caa422443b75">type_singleton</a>() { <span class="keywordflow">return</span> <a class="code" href="namespacearrow.html#a540dd093466c265aa411a65f29e950b2">date64</a>(); }</div><div class="line"><a name="l00146"><
 /a><span class="lineno">  146</span>&#160;};</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_date32_type_01_4.html">  149</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_date32_type.html">Date32Type</a>&gt; {</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_date32_type_01_4.html#af9c681fb66ea215c01e31ba1c5710c0b">  150</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_array.html">ArrayType</a> = <a class="code" href="namespacearrow.html#a3ea89658181e81c18b237da93d8294f7">D
 ate32Array</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_date32_type_01_4.html#a4c46fdf8a0eb51fce6c54346f94556a2">  151</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_builder.html">BuilderType</a> = <a class="code" href="namespacearrow.html#adcb521d3f703682dd58904c6b3a0d184">Date32Builder</a>;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_date32_type_01_4.html#a0fa5cc54e1f5830dda387ab0bbb76b12">  153</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code" href="structarrow_1_1_type_traits_3_01_date32_type_01_4.html#a0fa5cc54e1f5830dda387ab0bbb76b12">bytes_required</a>(int64_t elements) {</div><div class="line"><a name="l00154"></a><span class=
 "lineno">  154</span>&#160;    <span class="keywordflow">return</span> elements * <span class="keyword">sizeof</span>(int32_t);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  }</div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_date32_type_01_4.html#a3143c0f80a8a8d0793a1d4b232814d28">  156</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">true</span>;</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_date32_type_01_4.html#a7c354c902de63706d0077bc48de930db">  157</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> std::shared_ptr&lt;DataType&gt; <a class="code" href="structarrow_1_1_type_traits_3_01_date32_type_01_4.html#a7c354c902de63706d0077bc48de930db">type_singleton</a>() { <s
 pan class="keywordflow">return</span> <a class="code" href="namespacearrow.html#ac15fddc26c629cd5a2cb67f432739e8e">date32</a>(); }</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;};</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_timestamp_type_01_4.html">  161</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_timestamp_type.html">TimestampType</a>&gt; {</div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_timestamp_type_01_4.html#af076c07a959948b741cd9d0079592240">  162</a></span>&#160;  <s
 pan class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_array.html">ArrayType</a> = <a class="code" href="namespacearrow.html#a8da84bd82ad0d204965fe95d134a6c08">TimestampArray</a>;</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_timestamp_type_01_4.html#a3d1153546aa696fc0dca6ef94d4917c3">  163</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_builder.html">BuilderType</a> = <a class="code" href="namespacearrow.html#a06c8b697ab3c8b10f4653b088351c4a0">TimestampBuilder</a>;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_timestamp_type_01_4.html#aebc10cae4abe4f7e8cb2f5748760e08b">  165</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="c
 ode" href="structarrow_1_1_type_traits_3_01_timestamp_type_01_4.html#aebc10cae4abe4f7e8cb2f5748760e08b">bytes_required</a>(int64_t elements) {</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="keywordflow">return</span> elements * <span class="keyword">sizeof</span>(int64_t);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;  }</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_timestamp_type_01_4.html#a220c0e9076d0f949ab73941d0691f113">  168</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">false</span>;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;};</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno">  17
 1</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_time32_type_01_4.html">  172</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_time32_type.html">Time32Type</a>&gt; {</div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_time32_type_01_4.html#a6b4341c4f9e968f067f818672b9d9a3b">  173</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_array.html">ArrayType</a> = <a class="code" href="namespacearrow.html#a97345da72ba3bedb03d2b93e8c039b19">Time32Array</a>;</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_time32_type_01_4.html#a6b71f37a50cad166fbe0dbfdcc2a79a3">  174
 </a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_builder.html">BuilderType</a> = <a class="code" href="namespacearrow.html#ad48a5da822678dcfb566dd1df839f4c2">Time32Builder</a>;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_time32_type_01_4.html#a01343341b3d5e670ab139d2fc9572e8e">  176</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code" href="structarrow_1_1_type_traits_3_01_time32_type_01_4.html#a01343341b3d5e670ab139d2fc9572e8e">bytes_required</a>(int64_t elements) {</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <span class="keywordflow">return</span> elements * <span class="keyword">sizeof</span>(int32_t);</div><div class="line"><a name="l00178"></a><span class="lineno">  178
 </span>&#160;  }</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_time32_type_01_4.html#a49cc39654c080d49dafe5bcf0167b443">  179</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">false</span>;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;};</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_time64_type_01_4.html">  183</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_time64_type.html">Time64Typ
 e</a>&gt; {</div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_time64_type_01_4.html#abf93866341aa396c3febe027b3762a9e">  184</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_array.html">ArrayType</a> = <a class="code" href="namespacearrow.html#a093e1d42b3a49745a128a04736b56fad">Time64Array</a>;</div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_time64_type_01_4.html#a036f27d99c31d6adcde192c8fa414b7b">  185</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_builder.html">BuilderType</a> = <a class="code" href="namespacearrow.html#ac10bcef81b16eedc8fe72f9471833d79">Time64Builder</a>;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="st
 ructarrow_1_1_type_traits_3_01_time64_type_01_4.html#a08d96430f6e1eb53e60f6f76d61be68a">  187</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code" href="structarrow_1_1_type_traits_3_01_time64_type_01_4.html#a08d96430f6e1eb53e60f6f76d61be68a">bytes_required</a>(int64_t elements) {</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    <span class="keywordflow">return</span> elements * <span class="keyword">sizeof</span>(int64_t);</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  }</div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_time64_type_01_4.html#ab9bdbcc6db92e72d39a0a5d62951b1f6">  190</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">false</span>;</div><div class="line"><a name="l00191"></
 a><span class="lineno">  191</span>&#160;};</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_half_float_type_01_4.html">  194</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_half_float_type.html">HalfFloatType</a>&gt; {</div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_half_float_type_01_4.html#a6aa82b3713399525c28da1650f2d2194">  195</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_half_float_type_01_4.html#a6aa82b3713399525c28da1650f2d2194">ArrayType</a> = HalfF
 loatArray;</div><div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_half_float_type_01_4.html#a82b026ddfccf4dcc1faae2fb7541440f">  196</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_builder.html">BuilderType</a> = <a class="code" href="namespacearrow.html#ae87957f6c01fb918bb573f04c5188ca4">HalfFloatBuilder</a>;</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_half_float_type_01_4.html#a21bd985838f128f009128440172c03d3">  197</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_half_float_type_01_4.html#a21bd985838f128f009128440172c03d3">TensorType</a> = HalfFloatTensor;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="structarr
 ow_1_1_type_traits_3_01_half_float_type_01_4.html#ae83cf7e6e92ce7be3c586fe4fa2b87a9">  199</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code" href="structarrow_1_1_type_traits_3_01_half_float_type_01_4.html#ae83cf7e6e92ce7be3c586fe4fa2b87a9">bytes_required</a>(int64_t elements) {</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    <span class="keywordflow">return</span> elements * <span class="keyword">sizeof</span>(uint16_t);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  }</div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_half_float_type_01_4.html#a01bff205036d77cdaa41565e27196f17">  202</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">true</span>;</div><div class="line"><a name="l0020
 3"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_half_float_type_01_4.html#a663212f2a600f37d6b2c9effe33128eb">  203</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> std::shared_ptr&lt;DataType&gt; <a class="code" href="structarrow_1_1_type_traits_3_01_half_float_type_01_4.html#a663212f2a600f37d6b2c9effe33128eb">type_singleton</a>() { <span class="keywordflow">return</span> <a class="code" href="namespacearrow.html#a4fac9b6739876df09be8b82d70b26734">float16</a>(); }</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;};</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_float_type_01_4.html">  207</a><
 /span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_float_type.html">FloatType</a>&gt; {</div><div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_float_type_01_4.html#ace3a6515f42ef54b9ac812dae161688f">  208</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_float_type_01_4.html#ace3a6515f42ef54b9ac812dae161688f">ArrayType</a> = FloatArray;</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_float_type_01_4.html#a0b242043cd11818f64814b23bf70c0dd">  209</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_builder.html">BuilderType</a> = <a class="code" href="namespacearrow.html#afc7f8a9698e4a5b6e8c3884c2cf3aedb">FloatBuilder</a>;</div><div class="lin
 e"><a name="l00210"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_float_type_01_4.html#a902a0b19201d1b7f9a9190414b3e9868">  210</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_float_type_01_4.html#a902a0b19201d1b7f9a9190414b3e9868">TensorType</a> = FloatTensor;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_float_type_01_4.html#a30f2cdcdd4628547390d4082d3ea6df8">  212</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code" href="structarrow_1_1_type_traits_3_01_float_type_01_4.html#a30f2cdcdd4628547390d4082d3ea6df8">bytes_required</a>(int64_t elements) {</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    <span class="keywordflow">return</span> 
 <span class="keyword">static_cast&lt;</span>int64_t<span class="keyword">&gt;</span>(elements * <span class="keyword">sizeof</span>(float));</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  }</div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_float_type_01_4.html#a5bff394909ed78cad9bf8c9fa5cca3a2">  215</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">true</span>;</div><div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_float_type_01_4.html#afe4c35e5a16b88e2532124bf0d366d1a">  216</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> std::shared_ptr&lt;DataType&gt; <a class="code" href="structarrow_1_1_type_traits_3_01_float_type_01_4.html#afe4c35e5a16b88e2532124bf0d366d1a">type_singleton<
 /a>() { <span class="keywordflow">return</span> <a class="code" href="namespacearrow.html#a48fca9d26feda61c8255ec3c44a2078c">float32</a>(); }</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;};</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_double_type_01_4.html">  220</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_double_type.html">DoubleType</a>&gt; {</div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_double_type_01_4.html#a44043c73fbe22ddc6d91377d60c40dfe">  221</a></span>&#160;  <sp
 an class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_double_type_01_4.html#a44043c73fbe22ddc6d91377d60c40dfe">ArrayType</a> = DoubleArray;</div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_double_type_01_4.html#a428a9fb1170c534ee760c9d8de2dd140">  222</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_numeric_builder.html">BuilderType</a> = <a class="code" href="namespacearrow.html#ab98cad76b29efffe92c6c88af8947873">DoubleBuilder</a>;</div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_double_type_01_4.html#a2d54791b7a1cc62c681e03735b724114">  223</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="structarrow_1_1_type_traits_3_01_double_type_01_4.html#a2d54791b7a1cc62c681e03735b724114">TensorType</a> = DoubleTensor;</div><div class="line"><a name="l002
 24"></a><span class="lineno">  224</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_double_type_01_4.html#aba758964f7efca2aadbbac02547eb1c2">  225</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code" href="structarrow_1_1_type_traits_3_01_double_type_01_4.html#aba758964f7efca2aadbbac02547eb1c2">bytes_required</a>(int64_t elements) {</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>int64_t<span class="keyword">&gt;</span>(elements * <span class="keyword">sizeof</span>(double));</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  }</div><div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_double_type_01_4.html#aa5c4644362dcf9c0c8
 87c0141439ed37">  228</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">true</span>;</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_double_type_01_4.html#aa0e3b04bb7af7b4d1993dfa21e44a83a">  229</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> std::shared_ptr&lt;DataType&gt; <a class="code" href="structarrow_1_1_type_traits_3_01_double_type_01_4.html#aa0e3b04bb7af7b4d1993dfa21e44a83a">type_singleton</a>() { <span class="keywordflow">return</span> <a class="code" href="namespacearrow.html#ab6f514320a9b037ab161fa97db73b970">float64</a>(); }</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;};</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</sp
 an>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_decimal_type_01_4.html">  233</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_decimal_type.html">DecimalType</a>&gt; {</div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_decimal_type_01_4.html#adb7098a7907275d71e7839ce1f403646">  234</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_decimal_array.html">ArrayType</a> = <a class="code" href="classarrow_1_1_decimal_array.html">DecimalArray</a>;</div><div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_decimal_type_01_4.html#abe12b774a61550a66ba9a804521ce115">  235</a></span>&#160;  
 <span class="keyword">using</span> <a class="code" href="classarrow_1_1_decimal_builder.html">BuilderType</a> = <a class="code" href="classarrow_1_1_decimal_builder.html">DecimalBuilder</a>;</div><div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_decimal_type_01_4.html#af9a12e92b5a67912321e9b1039b3dcc2">  236</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">false</span>;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;};</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_boolean_type_01_4.html">  240</a></span>&#16
 0;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_boolean_type.html">BooleanType</a>&gt; {</div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_boolean_type_01_4.html#a1b3072687c60e6de2d0e988eeba7f162">  241</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_boolean_array.html">ArrayType</a> = <a class="code" href="classarrow_1_1_boolean_array.html">BooleanArray</a>;</div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_boolean_type_01_4.html#a12afd9e09e99f217324b71bdf3784a60">  242</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_boolean_builder.html">BuilderType</a> = <a class="code" href="classarrow_1_1_boolean_builder.html">BooleanBuilder</a>;</div><div class="line"><a nam
 e="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_boolean_type_01_4.html#a91282d3d769b3d80cf7617515c982dcd">  244</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code" href="structarrow_1_1_type_traits_3_01_boolean_type_01_4.html#a91282d3d769b3d80cf7617515c982dcd">bytes_required</a>(int64_t elements) {</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    <span class="keywordflow">return</span> BitUtil::BytesForBits(elements);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;  }</div><div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_boolean_type_01_4.html#a17774c6bedc225eb51ecaa91c1ffb3b9">  247</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="
 keywordtype">bool</span> is_parameter_free = <span class="keyword">true</span>;</div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_boolean_type_01_4.html#a7c3e7919595a91f907cfec47601edf21">  248</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> std::shared_ptr&lt;DataType&gt; <a class="code" href="structarrow_1_1_type_traits_3_01_boolean_type_01_4.html#a7c3e7919595a91f907cfec47601edf21">type_singleton</a>() { <span class="keywordflow">return</span> <a class="code" href="namespacearrow.html#a1e585e8f1c25a9751ac9381a274df057">boolean</a>(); }</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;};</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00252"><
 /a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_string_type_01_4.html">  252</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_string_type.html">StringType</a>&gt; {</div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_string_type_01_4.html#af47730a78c0ff078ccbf0bc48dd3fd21">  253</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_string_array.html">ArrayType</a> = <a class="code" href="classarrow_1_1_string_array.html">StringArray</a>;</div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_string_type_01_4.html#af59feae426da02991fa66b7f3a9afa10">  254</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_string_builder.html">BuilderType<
 /a> = <a class="code" href="classarrow_1_1_string_builder.html">StringBuilder</a>;</div><div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_string_type_01_4.html#aa6ca9bdb541994ee37d7aba62bdc8fb6">  255</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">true</span>;</div><div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_string_type_01_4.html#acf544e734357d7d7be20ad1ec5a3fd77">  256</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> std::shared_ptr&lt;DataType&gt; <a class="code" href="structarrow_1_1_type_traits_3_01_string_type_01_4.html#acf544e734357d7d7be20ad1ec5a3fd77">type_singleton</a>() { <span class="keywordflow">return</span> <a class="code" href="namespacearrow.html#a63178820a26f6ecb894ad35963ca981a">utf8</a>(); }</di
 v><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;};</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_binary_type_01_4.html">  260</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_binary_type.html">BinaryType</a>&gt; {</div><div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_binary_type_01_4.html#a0ecf64fc719b4a35862218c64c7ad1ca">  261</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_binary_array.html">ArrayType</a> = <a class="code" href="classarrow_1_1_bina
 ry_array.html">BinaryArray</a>;</div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_binary_type_01_4.html#ad662529a02103e27fef5f577c04e3453">  262</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_binary_builder.html">BuilderType</a> = <a class="code" href="classarrow_1_1_binary_builder.html">BinaryBuilder</a>;</div><div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_binary_type_01_4.html#a83e440fc035a172c641d2b82866ecea8">  263</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">true</span>;</div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_binary_type_01_4.html#a166e353c8013015e75e0ce93b38a7df9">  264</a></span>&#160;  <span class="keyword">static</span>
  <span class="keyword">inline</span> std::shared_ptr&lt;DataType&gt; <a class="code" href="structarrow_1_1_type_traits_3_01_binary_type_01_4.html#a166e353c8013015e75e0ce93b38a7df9">type_singleton</a>() { <span class="keywordflow">return</span> <a class="code" href="namespacearrow.html#a66c3979f26a439e78d048bbac84a9232">binary</a>(); }</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;};</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_fixed_size_binary_type_01_4.html">  268</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_fixed_size_binary_type.html">FixedSiz
 eBinaryType</a>&gt; {</div><div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_fixed_size_binary_type_01_4.html#a147e171074bae7fd5c0dec39ab9fe562">  269</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_fixed_size_binary_array.html">ArrayType</a> = <a class="code" href="classarrow_1_1_fixed_size_binary_array.html">FixedSizeBinaryArray</a>;</div><div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_fixed_size_binary_type_01_4.html#ac453a60e8df23fd6ea8f7646b21a145f">  270</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_fixed_size_binary_builder.html">BuilderType</a> = <a class="code" href="classarrow_1_1_fixed_size_binary_builder.html">FixedSizeBinaryBuilder</a>;</div><div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_f
 ixed_size_binary_type_01_4.html#abcb5be0e1ae607ad5d6663a12731ae53">  271</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">false</span>;</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;};</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_list_type_01_4.html">  275</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_list_type.html">ListType</a>&gt; {</div><div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_l
 ist_type_01_4.html#aab17a5bd4ab94822e00ec5fd702671d8">  276</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_list_array.html">ArrayType</a> = <a class="code" href="classarrow_1_1_list_array.html">ListArray</a>;</div><div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_list_type_01_4.html#a9b2dbeef7548488dc453d76d03e863dd">  277</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_list_builder.html">BuilderType</a> = <a class="code" href="classarrow_1_1_list_builder.html">ListBuilder</a>;</div><div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_list_type_01_4.html#a12b61eb4fd1da8d0f5506a72e994b66a">  278</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">false</span>;</div><div class="line"><a
  name="l00279"></a><span class="lineno">  279</span>&#160;};</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_struct_type_01_4.html">  282</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_struct_type.html">StructType</a>&gt; {</div><div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_struct_type_01_4.html#a73c7785f9ef7dd0076b8798fe887c979">  283</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_struct_array.html">ArrayType</a> = <a class="code" href="classarrow_1_1_struct_array.html">StructA
 rray</a>;</div><div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_struct_type_01_4.html#a34288bf62995f3353b7a2d608ea57e11">  284</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_struct_builder.html">BuilderType</a> = <a class="code" href="classarrow_1_1_struct_builder.html">StructBuilder</a>;</div><div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_struct_type_01_4.html#a0d791e27ed1eedeeda45020c45e258a1">  285</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">false</span>;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;};</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<spa
 n class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_union_type_01_4.html">  289</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_union_type.html">UnionType</a>&gt; {</div><div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_union_type_01_4.html#af4ce351d027304784552142f0dc64cdd">  290</a></span>&#160;  <span class="keyword">using</span> <a class="code" href="classarrow_1_1_union_array.html">ArrayType</a> = <a class="code" href="classarrow_1_1_union_array.html">UnionArray</a>;</div><div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_union_type_01_4.html#a5d81723cd6a71551294fa1b6bfa725dd">  291</a></span>&#160;  constexpr <span class="keywor
 d">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">false</span>;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;};</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_dictionary_type_01_4.html">  295</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_type_traits.html">TypeTraits</a>&lt;<a class="code" href="classarrow_1_1_dictionary_type.html">DictionaryType</a>&gt; {</div><div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_dictionary_type_01_4.html#a25dd97f8e8f6603eec243d3f9d0b5690">  296</a></span>&#160;  <span class="keywo
 rd">using</span> <a class="code" href="classarrow_1_1_dictionary_array.html">ArrayType</a> = <a class="code" href="classarrow_1_1_dictionary_array.html">DictionaryArray</a>;</div><div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="structarrow_1_1_type_traits_3_01_dictionary_type_01_4.html#a3d47dede7abfa3d2b527fc9ec5157aae">  297</a></span>&#160;  constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> is_parameter_free = <span class="keyword">false</span>;</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;};</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="keyword">namespace </span>detail {</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span clas
 s="comment">// Not all type classes have a c_type</span></div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="keyword">struct </span>as_void {</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;  <span class="keyword">using</span> type = void;</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;};</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="comment">// The partial specialization will match if T has the ATTR_NAME member</span></div><div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="type__traits_8h.html#a18c73d2084fcf7b5ed8e30c9ee6b8537">  309</a></sp
 an>&#160;<span class="preprocessor">#define GET_ATTR(ATTR_NAME, DEFAULT)                                             \</span></div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="preprocessor">  template &lt;typename T, typename Enable = void&gt;                                  \</span></div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="preprocessor">  struct GetAttr_##ATTR_NAME {                                                   \</span></div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">    using type = DEFAULT;                                                        \</span></div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="preprocessor">  };                                                                             \</span></div><div class="line"><a name="l00314"></a><span class="lineno">
   314</span>&#160;<span class="preprocessor">                                                                                 \</span></div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="preprocessor">  template &lt;typename T&gt;                                                          \</span></div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="preprocessor">  struct GetAttr_##ATTR_NAME&lt;T, typename as_void&lt;typename T::ATTR_NAME&gt;::type&gt; { \</span></div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="preprocessor">    using type = typename T::ATTR_NAME;                                          \</span></div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="preprocessor">  };</span></div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div><div class="line"><a name="l00320
 "></a><span class="lineno">  320</span>&#160;<a class="code" href="type__traits_8h.html#a18c73d2084fcf7b5ed8e30c9ee6b8537">GET_ATTR</a>(c_type, <span class="keywordtype">void</span>);</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<a class="code" href="type__traits_8h.html#a18c73d2084fcf7b5ed8e30c9ee6b8537">GET_ATTR</a>(TypeClass, <span class="keywordtype">void</span>);</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="preprocessor">#undef GET_ATTR</span></div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;}  <span class="comment">// namespace detail</span></div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;</div><div class="line"><a name="l00327"></a><span class="lineno"><a 
 class="line" href="type__traits_8h.html#a3883a60bdbf082f79b39a80fd1b33cdb">  327</a></span>&#160;<span class="preprocessor">#define PRIMITIVE_TRAITS(T)                                                         \</span></div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;<span class="preprocessor">  using TypeClass =                                                                 \</span></div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="preprocessor">      typename std::conditional&lt;std::is_base_of&lt;DataType, T&gt;::value, T,             \</span></div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="preprocessor">                                typename detail::GetAttr_TypeClass&lt;T&gt;::type&gt;::type; \</span></div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="preprocessor">  using c_type = typename detail::GetAttr_c
 _type&lt;TypeClass&gt;::type</span></div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="structarrow_1_1_is_unsigned_int.html">  334</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_is_unsigned_int.html">IsUnsignedInt</a> {</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  <a class="code" href="type__traits_8h.html#a3883a60bdbf082f79b39a80fd1b33cdb">PRIMITIVE_TRAITS</a>(T);</div><div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="structarrow_1_1_is_unsigned_int.html#a445fa4898364948e9d9185d71f9eb274">  336</a></span>&#160;  <span class="keyword">static</span> constexpr <span class="keywordtype">bo
 ol</span> value =</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;      std::is_integral&lt;c_type&gt;::value &amp;&amp; std::is_unsigned&lt;c_type&gt;::value;</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;};</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="structarrow_1_1_is_signed_int.html">  341</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_is_signed_int.html">IsSignedInt</a> {</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;  <a class="code" href="type__traits_8h.html#a3883a60bdbf082f79b39a80fd1b33cdb">PRIMITIVE_TRAITS</a>(T);</div><div class="l
 ine"><a name="l00343"></a><span class="lineno"><a class="line" href="structarrow_1_1_is_signed_int.html#abc4a825ae09fe403a9374ab16ad2f8f3">  343</a></span>&#160;  <span class="keyword">static</span> constexpr <span class="keywordtype">bool</span> value =</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;      std::is_integral&lt;c_type&gt;::value &amp;&amp; std::is_signed&lt;c_type&gt;::value;</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;};</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="structarrow_1_1_is_integer.html">  348</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_is_integer.h
 tml">IsInteger</a> {</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;  <a class="code" href="type__traits_8h.html#a3883a60bdbf082f79b39a80fd1b33cdb">PRIMITIVE_TRAITS</a>(T);</div><div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="structarrow_1_1_is_integer.html#a05e3402d1e3a655b2bdf95e107fb3323">  350</a></span>&#160;  <span class="keyword">static</span> constexpr <span class="keywordtype">bool</span> value = std::is_integral&lt;c_type&gt;::value;</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;};</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="structarrow_1_1_is_floating_point.html">  354</a></sp
 an>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_is_floating_point.html">IsFloatingPoint</a> {</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;  <a class="code" href="type__traits_8h.html#a3883a60bdbf082f79b39a80fd1b33cdb">PRIMITIVE_TRAITS</a>(T);</div><div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="structarrow_1_1_is_floating_point.html#affd2c10a021930476de1878394d0e9aa">  356</a></span>&#160;  <span class="keyword">static</span> constexpr <span class="keywordtype">bool</span> value = std::is_floating_point&lt;c_type&gt;::value;</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;};</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="li
 ne"><a name="l00360"></a><span class="lineno"><a class="line" href="structarrow_1_1_is_numeric.html">  360</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarrow_1_1_is_numeric.html">IsNumeric</a> {</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;  <a class="code" href="type__traits_8h.html#a3883a60bdbf082f79b39a80fd1b33cdb">PRIMITIVE_TRAITS</a>(T);</div><div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="structarrow_1_1_is_numeric.html#aa31d6aea56a7c972d8c233b36da35abd">  362</a></span>&#160;  <span class="keyword">static</span> constexpr <span class="keywordtype">bool</span> value = std::is_arithmetic&lt;c_type&gt;::value;</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;};</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="ke
 yword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> is_integer(<a class="code" href="structarrow_1_1_type.html#a00a041cb19a3be373da8eec7d4bf1f44">Type::type</a> type_id) {</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;  <span class="keywordflow">switch</span> (type_id) {</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="structarrow_1_1_type.html#a00a041cb19a3be373da8eec7d4bf1f44ab8f52afb784526f800c91de101673b42">Type::UINT8</a>:</div><div class="line"><a name="l00368"></a><span class="lineno">  368</sp

<TRUNCATED>

Mime
View raw message