arrow-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From w...@apache.org
Subject [21/29] arrow-site git commit: Update C++ API docs
Date Tue, 09 May 2017 03:33:35 GMT
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/common_8cc.html
----------------------------------------------------------------------
diff --git a/docs/cpp/common_8cc.html b/docs/cpp/common_8cc.html
index 826a05c..b2f1af8 100644
--- a/docs/cpp/common_8cc.html
+++ b/docs/cpp/common_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&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;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>
@@ -113,6 +114,8 @@ Functions</h2></td></tr>
 <tr class="separator:a4d84062fdc654ae2d1a902904a169949"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a55bd557c2b1b7f64312012f4965d20f6"><td class="memItemLeft" align="right" valign="top">MemoryPool *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearrow_1_1py.html#a55bd557c2b1b7f64312012f4965d20f6">arrow::py::get_memory_pool</a> ()</td></tr>
 <tr class="separator:a55bd557c2b1b7f64312012f4965d20f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb1ee03f31832ebfc27889816c7fc88e"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearrow_1_1py.html#abb1ee03f31832ebfc27889816c7fc88e">arrow::py::CheckPyError</a> (StatusCode code)</td></tr>
+<tr class="separator:abb1ee03f31832ebfc27889816c7fc88e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
 <!-- start footer part -->

http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/common_8h.html
----------------------------------------------------------------------
diff --git a/docs/cpp/common_8h.html b/docs/cpp/common_8h.html
index dfb7e64..0be3c4e 100644
--- a/docs/cpp/common_8h.html
+++ b/docs/cpp/common_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&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;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>
@@ -125,17 +126,37 @@ Namespaces</h2></td></tr>
 Macros</h2></td></tr>
 <tr class="memitem:a3736d68f2c04b7b41de8a06fb198b577"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a3736d68f2c04b7b41de8a06fb198b577">PYARROW_IS_PY2</a>&#160;&#160;&#160;PY_MAJOR_VERSION &lt;= 2</td></tr>
 <tr class="separator:a3736d68f2c04b7b41de8a06fb198b577"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad99052ac0ced9d8a858bd49d5bfd2ebd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#ad99052ac0ced9d8a858bd49d5bfd2ebd">RETURN_IF_PYERROR</a>()</td></tr>
+<tr class="memitem:ad99052ac0ced9d8a858bd49d5bfd2ebd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#ad99052ac0ced9d8a858bd49d5bfd2ebd">RETURN_IF_PYERROR</a>()&#160;&#160;&#160;<a class="el" href="status_8h.html#a0a03bcf7fdbd9a96c67afa05fc0a545d">RETURN_NOT_OK</a>(CheckPyError());</td></tr>
 <tr class="separator:ad99052ac0ced9d8a858bd49d5bfd2ebd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acae7d13f31abc214abe5d1e7c901b72f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#acae7d13f31abc214abe5d1e7c901b72f">PY_RETURN_IF_ERROR</a>(CODE)&#160;&#160;&#160;<a class="el" href="status_8h.html#a0a03bcf7fdbd9a96c67afa05fc0a545d">RETURN_NOT_OK</a>(CheckPyError(CODE));</td></tr>
+<tr class="separator:acae7d13f31abc214abe5d1e7c901b72f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
+<tr class="memitem:abb1ee03f31832ebfc27889816c7fc88e"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearrow_1_1py.html#abb1ee03f31832ebfc27889816c7fc88e">arrow::py::CheckPyError</a> (StatusCode code)</td></tr>
+<tr class="separator:abb1ee03f31832ebfc27889816c7fc88e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a4d84062fdc654ae2d1a902904a169949"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearrow_1_1py.html#a4d84062fdc654ae2d1a902904a169949">arrow::py::set_default_memory_pool</a> (MemoryPool *pool)</td></tr>
 <tr class="separator:a4d84062fdc654ae2d1a902904a169949"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a55bd557c2b1b7f64312012f4965d20f6"><td class="memItemLeft" align="right" valign="top">MemoryPool *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearrow_1_1py.html#a55bd557c2b1b7f64312012f4965d20f6">arrow::py::get_memory_pool</a> ()</td></tr>
 <tr class="separator:a55bd557c2b1b7f64312012f4965d20f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="acae7d13f31abc214abe5d1e7c901b72f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define PY_RETURN_IF_ERROR</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">CODE</td><td>)</td>
+          <td>&#160;&#160;&#160;<a class="el" href="status_8h.html#a0a03bcf7fdbd9a96c67afa05fc0a545d">RETURN_NOT_OK</a>(CheckPyError(CODE));</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
 <a class="anchor" id="a3736d68f2c04b7b41de8a06fb198b577"></a>
 <div class="memitem">
 <div class="memproto">
@@ -156,22 +177,11 @@ Functions</h2></td></tr>
           <td class="memname">#define RETURN_IF_PYERROR</td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
-          <td></td>
+          <td>&#160;&#160;&#160;<a class="el" href="status_8h.html#a0a03bcf7fdbd9a96c67afa05fc0a545d">RETURN_NOT_OK</a>(CheckPyError());</td>
         </tr>
       </table>
 </div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">if</span> (PyErr_Occurred()) {                           \</div>
-<div class="line">    PyObject *exc_type, *exc_value, *traceback;     \</div>
-<div class="line">    PyErr_Fetch(&amp;exc_type, &amp;exc_value, &amp;traceback); \</div>
-<div class="line">    PyObjectStringify stringified(exc_value);       \</div>
-<div class="line">    std::string message(stringified.bytes);         \</div>
-<div class="line">    Py_DECREF(exc_type);                            \</div>
-<div class="line">    Py_XDECREF(exc_value);                          \</div>
-<div class="line">    Py_XDECREF(traceback);                          \</div>
-<div class="line">    PyErr_Clear();                                  \</div>
-<div class="line">    return Status::UnknownError(message);           \</div>
-<div class="line">  }</div>
-</div><!-- fragment -->
+
 </div>
 </div>
 </div><!-- contents -->

http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/common_8h_source.html
----------------------------------------------------------------------
diff --git a/docs/cpp/common_8h_source.html b/docs/cpp/common_8h_source.html
index 7a78d60..6b177be 100644
--- a/docs/cpp/common_8h_source.html
+++ b/docs/cpp/common_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&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;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>
@@ -125,111 +126,134 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
 <div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html">   35</a></span>&#160;<span class="keyword">class </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html">PyAcquireGIL</a> {</div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#a176ad0a1d753c1e1297a8c8c8e24edfc">   37</a></span>&#160;  <a class="code" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#a176ad0a1d753c1e1297a8c8c8e24edfc">PyAcquireGIL</a>() { state_ = PyGILState_Ensure(); }</div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
-<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#aa07961f7d96ca5dd17319aa4fb65facc">   39</a></span>&#160;  <a class="code" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#aa07961f7d96ca5dd17319aa4fb65facc">~PyAcquireGIL</a>() { PyGILState_Release(state_); }</div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#a176ad0a1d753c1e1297a8c8c8e24edfc">   37</a></span>&#160;  <a class="code" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#a176ad0a1d753c1e1297a8c8c8e24edfc">PyAcquireGIL</a>() : acquired_gil_(false) {</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    acquire();</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;  }</div>
 <div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  PyGILState_STATE state_;</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;  <a class="code" href="macros_8h.html#af8df3547bfde53a5acb93e2607b0034a">DISALLOW_COPY_AND_ASSIGN</a>(<a class="code" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html">PyAcquireGIL</a>);</div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;};</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div>
-<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="common_8h.html#a3736d68f2c04b7b41de8a06fb198b577">   46</a></span>&#160;<span class="preprocessor">#define PYARROW_IS_PY2 PY_MAJOR_VERSION &lt;= 2</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_owned_ref.html">   48</a></span>&#160;<span class="keyword">class </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="classarrow_1_1py_1_1_owned_ref.html">OwnedRef</a> {</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_owned_ref.html#a23c568f39cefb24111a5b126342907fb">   50</a></span>&#160;  <a class="code" href="classarrow_1_1py_1_1_owned_ref.html#a23c568f39cefb24111a5b126342907fb">OwnedRef</a>() : obj_(nullptr) {}</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
-<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_owned_ref.html#a4fa414445a0d45fc6876e22a48323818">   52</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classarrow_1_1py_1_1_owned_ref.html#a4fa414445a0d45fc6876e22a48323818">OwnedRef</a>(PyObject* obj) : obj_(obj) {}</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_owned_ref.html#a8dbf530a3d56e9cc8be52ee72de0a2f8">   54</a></span>&#160;  <a class="code" href="classarrow_1_1py_1_1_owned_ref.html#a8dbf530a3d56e9cc8be52ee72de0a2f8">~OwnedRef</a>() {</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <a class="code" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html">PyAcquireGIL</a> lock;</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    Py_XDECREF(obj_);</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;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_owned_ref.html#ad99c47163961c1b346c3ea9836783eda">   59</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classarrow_1_1py_1_1_owned_ref.html#ad99c47163961c1b346c3ea9836783eda">reset</a>(PyObject* obj) {</div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    Py_XDECREF(obj_);</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    obj_ = obj;</div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  }</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="classarrow_1_1py_1_1_owned_ref.html#ab1e5169aac1fa00cd1cebafba61d7a1d">   67</a></span>&#160;  PyObject* <a class="code" href="classarrow_1_1py_1_1_owned_ref.html#ab1e5169aac1fa00cd1cebafba61d7a1d">obj</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> obj_; }</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  PyObject* obj_;</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;};</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="structarrow_1_1py_1_1_py_object_stringify.html">   73</a></span>&#160;<span class="keyword">struct </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="structarrow_1_1py_1_1_py_object_stringify.html">PyObjectStringify</a> {</div>
-<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="structarrow_1_1py_1_1_py_object_stringify.html#a710405190a719e7941d68b0ff9c24bbf">   74</a></span>&#160;  <a class="code" href="classarrow_1_1py_1_1_owned_ref.html">OwnedRef</a> <a class="code" href="structarrow_1_1py_1_1_py_object_stringify.html#a710405190a719e7941d68b0ff9c24bbf">tmp_obj</a>;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="structarrow_1_1py_1_1_py_object_stringify.html#a4affd96a0f23d719cadb443eb179f98d">   75</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structarrow_1_1py_1_1_py_object_stringify.html#a4affd96a0f23d719cadb443eb179f98d">bytes</a>;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="structarrow_1_1py_1_1_py_object_stringify.html#a93307dd10ea2e5725a0c9e6a93b5dd48">   76</a></span>&#160;  Py_ssize_t <a class="code" href="structarrow_1_1py_1_1_py_object_stringify.html#a93307dd10ea2e5725a0c9e6a93b5dd48">size</a>;</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="structarrow_1_1py_1_1_py_object_stringify.html#ae463580d34db2330fafa6d0651769948">   78</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="structarrow_1_1py_1_1_py_object_stringify.html#ae463580d34db2330fafa6d0651769948">PyObjectStringify</a>(PyObject* obj) {</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    PyObject* bytes_obj;</div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keywordflow">if</span> (PyUnicode_Check(obj)) {</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      bytes_obj = PyUnicode_AsUTF8String(obj);</div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      tmp_obj.reset(bytes_obj);</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      bytes_obj = obj;</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    }</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    bytes = PyBytes_AsString(bytes_obj);</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    size = PyBytes_GET_SIZE(bytes_obj);</div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  }</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#aa07961f7d96ca5dd17319aa4fb65facc">   41</a></span>&#160;  <a class="code" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#aa07961f7d96ca5dd17319aa4fb65facc">~PyAcquireGIL</a>() { release(); }</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#a705f95bb8ae5f01b9c6615ef3694aef4">   43</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#a705f95bb8ae5f01b9c6615ef3694aef4">acquire</a>() {</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <span class="keywordflow">if</span> (!acquired_gil_) {</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;      state_ = PyGILState_Ensure();</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;      acquired_gil_ = <span class="keyword">true</span>;</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;  }</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="comment">// idempotent</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#a9b0f2a430dac36520aeedd344d21fb3f">   51</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#a9b0f2a430dac36520aeedd344d21fb3f">release</a>() {</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keywordflow">if</span> (acquired_gil_) {</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      PyGILState_Release(state_);</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      acquired_gil_ = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    }</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">private</span>:</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="keywordtype">bool</span> acquired_gil_;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  PyGILState_STATE state_;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <a class="code" href="macros_8h.html#af8df3547bfde53a5acb93e2607b0034a">DISALLOW_COPY_AND_ASSIGN</a>(<a class="code" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html">PyAcquireGIL</a>);</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;};</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="common_8h.html#a3736d68f2c04b7b41de8a06fb198b577">   64</a></span>&#160;<span class="preprocessor">#define PYARROW_IS_PY2 PY_MAJOR_VERSION &lt;= 2</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_owned_ref.html">   66</a></span>&#160;<span class="keyword">class </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="classarrow_1_1py_1_1_owned_ref.html">OwnedRef</a> {</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_owned_ref.html#a23c568f39cefb24111a5b126342907fb">   68</a></span>&#160;  <a class="code" href="classarrow_1_1py_1_1_owned_ref.html#a23c568f39cefb24111a5b126342907fb">OwnedRef</a>() : obj_(nullptr) {}</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"><a class="line" href="classarrow_1_1py_1_1_owned_ref.html#a4fa414445a0d45fc6876e22a48323818">   70</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classarrow_1_1py_1_1_owned_ref.html#a4fa414445a0d45fc6876e22a48323818">OwnedRef</a>(PyObject* obj) : obj_(obj) {}</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_owned_ref.html#a8dbf530a3d56e9cc8be52ee72de0a2f8">   72</a></span>&#160;  <a class="code" href="classarrow_1_1py_1_1_owned_ref.html#a8dbf530a3d56e9cc8be52ee72de0a2f8">~OwnedRef</a>() {</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <a class="code" href="classarrow_1_1py_1_1_py_acquire_g_i_l.html">PyAcquireGIL</a> lock;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    Py_XDECREF(obj_);</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  }</div>
+<div class="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="classarrow_1_1py_1_1_owned_ref.html#ad99c47163961c1b346c3ea9836783eda">   77</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classarrow_1_1py_1_1_owned_ref.html#ad99c47163961c1b346c3ea9836783eda">reset</a>(PyObject* obj) {</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    Py_XDECREF(obj_);</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    obj_ = obj;</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;</div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_owned_ref.html#ab1e5169aac1fa00cd1cebafba61d7a1d">   85</a></span>&#160;  PyObject* <a class="code" href="classarrow_1_1py_1_1_owned_ref.html#ab1e5169aac1fa00cd1cebafba61d7a1d">obj</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> obj_; }</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  PyObject* obj_;</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">   90</span>&#160;</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">// TODO(wesm): We can just let errors pass through. To be explored later</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="common_8h.html#ad99052ac0ced9d8a858bd49d5bfd2ebd">   92</a></span>&#160;<span class="preprocessor">#define RETURN_IF_PYERROR()                         \</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor">  if (PyErr_Occurred()) {                           \</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor">    PyObject *exc_type, *exc_value, *traceback;     \</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor">    PyErr_Fetch(&amp;exc_type, &amp;exc_value, &amp;traceback); \</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">    PyObjectStringify stringified(exc_value);       \</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">    std::string message(stringified.bytes);         \</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="preprocessor">    Py_DECREF(exc_type);                            \</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="preprocessor">    Py_XDECREF(exc_value);                          \</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor">    Py_XDECREF(traceback);                          \</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">    PyErr_Clear();                                  \</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">    return Status::UnknownError(message);           \</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">  }</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">// Return the common PyArrow memory pool</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1py.html#a4d84062fdc654ae2d1a902904a169949">set_default_memory_pool</a>(MemoryPool* pool);</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> MemoryPool* <a class="code" href="namespacearrow_1_1py.html#a55bd557c2b1b7f64312012f4965d20f6">get_memory_pool</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"><a class="line" href="classarrow_1_1py_1_1_py_buffer.html">  109</a></span>&#160;<span class="keyword">class </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="classarrow_1_1py_1_1_py_buffer.html">PyBuffer</a> : <span class="keyword">public</span> <a class="code" href="classarrow_1_1_buffer.html">Buffer</a> {</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classarrow_1_1py_1_1_py_buffer.html">PyBuffer</a>(PyObject* obj);</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  ~<a class="code" href="classarrow_1_1py_1_1_py_buffer.html">PyBuffer</a>();</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  PyObject* obj_;</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;};</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;}  <span class="comment">// namespace py</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;}  <span class="comment">// namespace arrow</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="preprocessor">#endif  // ARROW_PYTHON_COMMON_H</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="structarrow_1_1py_1_1_py_object_stringify.html">   91</a></span>&#160;<span class="keyword">struct </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="structarrow_1_1py_1_1_py_object_stringify.html">PyObjectStringify</a> {</div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="structarrow_1_1py_1_1_py_object_stringify.html#a710405190a719e7941d68b0ff9c24bbf">   92</a></span>&#160;  <a class="code" href="classarrow_1_1py_1_1_owned_ref.html">OwnedRef</a> <a class="code" href="structarrow_1_1py_1_1_py_object_stringify.html#a710405190a719e7941d68b0ff9c24bbf">tmp_obj</a>;</div>
+<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="structarrow_1_1py_1_1_py_object_stringify.html#a4affd96a0f23d719cadb443eb179f98d">   93</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structarrow_1_1py_1_1_py_object_stringify.html#a4affd96a0f23d719cadb443eb179f98d">bytes</a>;</div>
+<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="structarrow_1_1py_1_1_py_object_stringify.html#a93307dd10ea2e5725a0c9e6a93b5dd48">   94</a></span>&#160;  Py_ssize_t <a class="code" href="structarrow_1_1py_1_1_py_object_stringify.html#a93307dd10ea2e5725a0c9e6a93b5dd48">size</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"><a class="line" href="structarrow_1_1py_1_1_py_object_stringify.html#ae463580d34db2330fafa6d0651769948">   96</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="structarrow_1_1py_1_1_py_object_stringify.html#ae463580d34db2330fafa6d0651769948">PyObjectStringify</a>(PyObject* obj) {</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    PyObject* bytes_obj;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="keywordflow">if</span> (PyUnicode_Check(obj)) {</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      bytes_obj = PyUnicode_AsUTF8String(obj);</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      tmp_obj.reset(bytes_obj);</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      bytes = PyBytes_AsString(bytes_obj);</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      size = PyBytes_GET_SIZE(bytes_obj);</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (PyBytes_Check(obj)) {</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      bytes = PyBytes_AsString(obj);</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      size = PyBytes_GET_SIZE(obj);</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      bytes = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      size = -1;</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;  }</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;};</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<a class="code" href="classarrow_1_1_status.html">Status</a> <a class="code" href="namespacearrow_1_1py.html#abb1ee03f31832ebfc27889816c7fc88e">CheckPyError</a>(<a class="code" href="namespacearrow.html#a331ad1dbd1c157c8be168cb6548d188f">StatusCode</a> code = <a class="code" href="namespacearrow.html#a331ad1dbd1c157c8be168cb6548d188fabfaef30f1c8011c5cefa38ae470fb7aa">StatusCode::UnknownError</a>);</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment">// TODO(wesm): We can just let errors pass through. To be explored later</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="common_8h.html#ad99052ac0ced9d8a858bd49d5bfd2ebd">  116</a></span>&#160;<span class="preprocessor">#define RETURN_IF_PYERROR()                     \</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor">  RETURN_NOT_OK(CheckPyError());</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="common_8h.html#acae7d13f31abc214abe5d1e7c901b72f">  119</a></span>&#160;<span class="preprocessor">#define PY_RETURN_IF_ERROR(CODE)                \</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">  RETURN_NOT_OK(CheckPyError(CODE));</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment">// Return the common PyArrow memory pool</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="namespacearrow_1_1py.html#a4d84062fdc654ae2d1a902904a169949">set_default_memory_pool</a>(MemoryPool* pool);</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> MemoryPool* <a class="code" href="namespacearrow_1_1py.html#a55bd557c2b1b7f64312012f4965d20f6">get_memory_pool</a>();</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
+<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_py_buffer.html">  126</a></span>&#160;<span class="keyword">class </span><a class="code" href="visibility_8h.html#a7060b7b5f11fc11ce77a4d30b37619ef">ARROW_EXPORT</a> <a class="code" href="classarrow_1_1py_1_1_py_buffer.html">PyBuffer</a> : <span class="keyword">public</span> <a class="code" href="classarrow_1_1_buffer.html">Buffer</a> {</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classarrow_1_1py_1_1_py_buffer.html">PyBuffer</a>(PyObject* obj);</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  ~<a class="code" href="classarrow_1_1py_1_1_py_buffer.html">PyBuffer</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; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  PyObject* obj_;</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;};</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;}  <span class="comment">// namespace py</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;}  <span class="comment">// namespace arrow</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">#endif  // ARROW_PYTHON_COMMON_H</span></div>
 <div class="ttc" id="namespacearrow_1_1py_html_a4d84062fdc654ae2d1a902904a169949"><div class="ttname"><a href="namespacearrow_1_1py.html#a4d84062fdc654ae2d1a902904a169949">arrow::py::set_default_memory_pool</a></div><div class="ttdeci">void set_default_memory_pool(MemoryPool *pool)</div><div class="ttdef"><b>Definition:</b> common.cc:33</div></div>
-<div class="ttc" id="structarrow_1_1py_1_1_py_object_stringify_html_a93307dd10ea2e5725a0c9e6a93b5dd48"><div class="ttname"><a href="structarrow_1_1py_1_1_py_object_stringify.html#a93307dd10ea2e5725a0c9e6a93b5dd48">arrow::py::PyObjectStringify::size</a></div><div class="ttdeci">Py_ssize_t size</div><div class="ttdef"><b>Definition:</b> common.h:76</div></div>
-<div class="ttc" id="structarrow_1_1py_1_1_py_object_stringify_html"><div class="ttname"><a href="structarrow_1_1py_1_1_py_object_stringify.html">arrow::py::PyObjectStringify</a></div><div class="ttdef"><b>Definition:</b> common.h:73</div></div>
-<div class="ttc" id="classarrow_1_1py_1_1_owned_ref_html_a23c568f39cefb24111a5b126342907fb"><div class="ttname"><a href="classarrow_1_1py_1_1_owned_ref.html#a23c568f39cefb24111a5b126342907fb">arrow::py::OwnedRef::OwnedRef</a></div><div class="ttdeci">OwnedRef()</div><div class="ttdef"><b>Definition:</b> common.h:50</div></div>
+<div class="ttc" id="structarrow_1_1py_1_1_py_object_stringify_html_a93307dd10ea2e5725a0c9e6a93b5dd48"><div class="ttname"><a href="structarrow_1_1py_1_1_py_object_stringify.html#a93307dd10ea2e5725a0c9e6a93b5dd48">arrow::py::PyObjectStringify::size</a></div><div class="ttdeci">Py_ssize_t size</div><div class="ttdef"><b>Definition:</b> common.h:94</div></div>
+<div class="ttc" id="structarrow_1_1py_1_1_py_object_stringify_html"><div class="ttname"><a href="structarrow_1_1py_1_1_py_object_stringify.html">arrow::py::PyObjectStringify</a></div><div class="ttdef"><b>Definition:</b> common.h:91</div></div>
+<div class="ttc" id="classarrow_1_1py_1_1_owned_ref_html_a23c568f39cefb24111a5b126342907fb"><div class="ttname"><a href="classarrow_1_1py_1_1_owned_ref.html#a23c568f39cefb24111a5b126342907fb">arrow::py::OwnedRef::OwnedRef</a></div><div class="ttdeci">OwnedRef()</div><div class="ttdef"><b>Definition:</b> common.h:68</div></div>
 <div class="ttc" id="config_8h_html"><div class="ttname"><a href="config_8h.html">config.h</a></div></div>
-<div class="ttc" id="classarrow_1_1py_1_1_owned_ref_html_a8dbf530a3d56e9cc8be52ee72de0a2f8"><div class="ttname"><a href="classarrow_1_1py_1_1_owned_ref.html#a8dbf530a3d56e9cc8be52ee72de0a2f8">arrow::py::OwnedRef::~OwnedRef</a></div><div class="ttdeci">~OwnedRef()</div><div class="ttdef"><b>Definition:</b> common.h:54</div></div>
-<div class="ttc" id="structarrow_1_1py_1_1_py_object_stringify_html_ae463580d34db2330fafa6d0651769948"><div class="ttname"><a href="structarrow_1_1py_1_1_py_object_stringify.html#ae463580d34db2330fafa6d0651769948">arrow::py::PyObjectStringify::PyObjectStringify</a></div><div class="ttdeci">PyObjectStringify(PyObject *obj)</div><div class="ttdef"><b>Definition:</b> common.h:78</div></div>
-<div class="ttc" id="classarrow_1_1py_1_1_owned_ref_html_ab1e5169aac1fa00cd1cebafba61d7a1d"><div class="ttname"><a href="classarrow_1_1py_1_1_owned_ref.html#ab1e5169aac1fa00cd1cebafba61d7a1d">arrow::py::OwnedRef::obj</a></div><div class="ttdeci">PyObject * obj() const </div><div class="ttdef"><b>Definition:</b> common.h:67</div></div>
+<div class="ttc" id="namespacearrow_html_a331ad1dbd1c157c8be168cb6548d188f"><div class="ttname"><a href="namespacearrow.html#a331ad1dbd1c157c8be168cb6548d188f">arrow::StatusCode</a></div><div class="ttdeci">StatusCode</div><div class="ttdef"><b>Definition:</b> status.h:77</div></div>
+<div class="ttc" id="classarrow_1_1py_1_1_owned_ref_html_a8dbf530a3d56e9cc8be52ee72de0a2f8"><div class="ttname"><a href="classarrow_1_1py_1_1_owned_ref.html#a8dbf530a3d56e9cc8be52ee72de0a2f8">arrow::py::OwnedRef::~OwnedRef</a></div><div class="ttdeci">~OwnedRef()</div><div class="ttdef"><b>Definition:</b> common.h:72</div></div>
+<div class="ttc" id="structarrow_1_1py_1_1_py_object_stringify_html_ae463580d34db2330fafa6d0651769948"><div class="ttname"><a href="structarrow_1_1py_1_1_py_object_stringify.html#ae463580d34db2330fafa6d0651769948">arrow::py::PyObjectStringify::PyObjectStringify</a></div><div class="ttdeci">PyObjectStringify(PyObject *obj)</div><div class="ttdef"><b>Definition:</b> common.h:96</div></div>
+<div class="ttc" id="classarrow_1_1py_1_1_owned_ref_html_ab1e5169aac1fa00cd1cebafba61d7a1d"><div class="ttname"><a href="classarrow_1_1py_1_1_owned_ref.html#ab1e5169aac1fa00cd1cebafba61d7a1d">arrow::py::OwnedRef::obj</a></div><div class="ttdeci">PyObject * obj() const </div><div class="ttdef"><b>Definition:</b> common.h:85</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="macros_8h_html"><div class="ttname"><a href="macros_8h.html">macros.h</a></div></div>
+<div class="ttc" id="classarrow_1_1py_1_1_py_acquire_g_i_l_html_a705f95bb8ae5f01b9c6615ef3694aef4"><div class="ttname"><a href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#a705f95bb8ae5f01b9c6615ef3694aef4">arrow::py::PyAcquireGIL::acquire</a></div><div class="ttdeci">void acquire()</div><div class="ttdef"><b>Definition:</b> common.h:43</div></div>
+<div class="ttc" id="classarrow_1_1py_1_1_py_acquire_g_i_l_html_a9b0f2a430dac36520aeedd344d21fb3f"><div class="ttname"><a href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#a9b0f2a430dac36520aeedd344d21fb3f">arrow::py::PyAcquireGIL::release</a></div><div class="ttdeci">void release()</div><div class="ttdef"><b>Definition:</b> common.h:51</div></div>
 <div class="ttc" id="namespacearrow_1_1py_html_a55bd557c2b1b7f64312012f4965d20f6"><div class="ttname"><a href="namespacearrow_1_1py.html#a55bd557c2b1b7f64312012f4965d20f6">arrow::py::get_memory_pool</a></div><div class="ttdeci">MemoryPool * get_memory_pool()</div><div class="ttdef"><b>Definition:</b> common.cc:38</div></div>
+<div class="ttc" id="namespacearrow_1_1py_html_abb1ee03f31832ebfc27889816c7fc88e"><div class="ttname"><a href="namespacearrow_1_1py.html#abb1ee03f31832ebfc27889816c7fc88e">arrow::py::CheckPyError</a></div><div class="ttdeci">Status CheckPyError(StatusCode code)</div><div class="ttdef"><b>Definition:</b> common.cc:67</div></div>
 <div class="ttc" id="visibility_8h_html"><div class="ttname"><a href="visibility_8h.html">visibility.h</a></div></div>
-<div class="ttc" id="classarrow_1_1py_1_1_py_buffer_html"><div class="ttname"><a href="classarrow_1_1py_1_1_py_buffer.html">arrow::py::PyBuffer</a></div><div class="ttdef"><b>Definition:</b> common.h:109</div></div>
-<div class="ttc" id="classarrow_1_1py_1_1_owned_ref_html_ad99c47163961c1b346c3ea9836783eda"><div class="ttname"><a href="classarrow_1_1py_1_1_owned_ref.html#ad99c47163961c1b346c3ea9836783eda">arrow::py::OwnedRef::reset</a></div><div class="ttdeci">void reset(PyObject *obj)</div><div class="ttdef"><b>Definition:</b> common.h:59</div></div>
-<div class="ttc" id="classarrow_1_1py_1_1_owned_ref_html_a4fa414445a0d45fc6876e22a48323818"><div class="ttname"><a href="classarrow_1_1py_1_1_owned_ref.html#a4fa414445a0d45fc6876e22a48323818">arrow::py::OwnedRef::OwnedRef</a></div><div class="ttdeci">OwnedRef(PyObject *obj)</div><div class="ttdef"><b>Definition:</b> common.h:52</div></div>
-<div class="ttc" id="structarrow_1_1py_1_1_py_object_stringify_html_a710405190a719e7941d68b0ff9c24bbf"><div class="ttname"><a href="structarrow_1_1py_1_1_py_object_stringify.html#a710405190a719e7941d68b0ff9c24bbf">arrow::py::PyObjectStringify::tmp_obj</a></div><div class="ttdeci">OwnedRef tmp_obj</div><div class="ttdef"><b>Definition:</b> common.h:74</div></div>
+<div class="ttc" id="classarrow_1_1py_1_1_py_buffer_html"><div class="ttname"><a href="classarrow_1_1py_1_1_py_buffer.html">arrow::py::PyBuffer</a></div><div class="ttdef"><b>Definition:</b> common.h:126</div></div>
+<div class="ttc" id="classarrow_1_1py_1_1_owned_ref_html_ad99c47163961c1b346c3ea9836783eda"><div class="ttname"><a href="classarrow_1_1py_1_1_owned_ref.html#ad99c47163961c1b346c3ea9836783eda">arrow::py::OwnedRef::reset</a></div><div class="ttdeci">void reset(PyObject *obj)</div><div class="ttdef"><b>Definition:</b> common.h:77</div></div>
+<div class="ttc" id="classarrow_1_1py_1_1_owned_ref_html_a4fa414445a0d45fc6876e22a48323818"><div class="ttname"><a href="classarrow_1_1py_1_1_owned_ref.html#a4fa414445a0d45fc6876e22a48323818">arrow::py::OwnedRef::OwnedRef</a></div><div class="ttdeci">OwnedRef(PyObject *obj)</div><div class="ttdef"><b>Definition:</b> common.h:70</div></div>
+<div class="ttc" id="structarrow_1_1py_1_1_py_object_stringify_html_a710405190a719e7941d68b0ff9c24bbf"><div class="ttname"><a href="structarrow_1_1py_1_1_py_object_stringify.html#a710405190a719e7941d68b0ff9c24bbf">arrow::py::PyObjectStringify::tmp_obj</a></div><div class="ttdeci">OwnedRef tmp_obj</div><div class="ttdef"><b>Definition:</b> common.h:92</div></div>
 <div class="ttc" id="classarrow_1_1py_1_1_py_acquire_g_i_l_html_a176ad0a1d753c1e1297a8c8c8e24edfc"><div class="ttname"><a href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#a176ad0a1d753c1e1297a8c8c8e24edfc">arrow::py::PyAcquireGIL::PyAcquireGIL</a></div><div class="ttdeci">PyAcquireGIL()</div><div class="ttdef"><b>Definition:</b> common.h:37</div></div>
+<div class="ttc" id="namespacearrow_html_a331ad1dbd1c157c8be168cb6548d188fabfaef30f1c8011c5cefa38ae470fb7aa"><div class="ttname"><a href="namespacearrow.html#a331ad1dbd1c157c8be168cb6548d188fabfaef30f1c8011c5cefa38ae470fb7aa">arrow::StatusCode::UnknownError</a></div></div>
 <div class="ttc" id="buffer_8h_html"><div class="ttname"><a href="buffer_8h.html">buffer.h</a></div></div>
 <div class="ttc" id="classarrow_1_1py_1_1_py_acquire_g_i_l_html"><div class="ttname"><a href="classarrow_1_1py_1_1_py_acquire_g_i_l.html">arrow::py::PyAcquireGIL</a></div><div class="ttdef"><b>Definition:</b> common.h:35</div></div>
-<div class="ttc" id="structarrow_1_1py_1_1_py_object_stringify_html_a4affd96a0f23d719cadb443eb179f98d"><div class="ttname"><a href="structarrow_1_1py_1_1_py_object_stringify.html#a4affd96a0f23d719cadb443eb179f98d">arrow::py::PyObjectStringify::bytes</a></div><div class="ttdeci">const char * bytes</div><div class="ttdef"><b>Definition:</b> common.h:75</div></div>
-<div class="ttc" id="classarrow_1_1py_1_1_py_acquire_g_i_l_html_aa07961f7d96ca5dd17319aa4fb65facc"><div class="ttname"><a href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#aa07961f7d96ca5dd17319aa4fb65facc">arrow::py::PyAcquireGIL::~PyAcquireGIL</a></div><div class="ttdeci">~PyAcquireGIL()</div><div class="ttdef"><b>Definition:</b> common.h:39</div></div>
+<div class="ttc" id="structarrow_1_1py_1_1_py_object_stringify_html_a4affd96a0f23d719cadb443eb179f98d"><div class="ttname"><a href="structarrow_1_1py_1_1_py_object_stringify.html#a4affd96a0f23d719cadb443eb179f98d">arrow::py::PyObjectStringify::bytes</a></div><div class="ttdeci">const char * bytes</div><div class="ttdef"><b>Definition:</b> common.h:93</div></div>
+<div class="ttc" id="classarrow_1_1py_1_1_py_acquire_g_i_l_html_aa07961f7d96ca5dd17319aa4fb65facc"><div class="ttname"><a href="classarrow_1_1py_1_1_py_acquire_g_i_l.html#aa07961f7d96ca5dd17319aa4fb65facc">arrow::py::PyAcquireGIL::~PyAcquireGIL</a></div><div class="ttdeci">~PyAcquireGIL()</div><div class="ttdef"><b>Definition:</b> common.h:41</div></div>
 <div class="ttc" id="classarrow_1_1_buffer_html"><div class="ttname"><a href="classarrow_1_1_buffer.html">arrow::Buffer</a></div><div class="ttdoc">Immutable API for a chunk of bytes which may or may not be owned by the class instance. </div><div class="ttdef"><b>Definition:</b> buffer.h:46</div></div>
 <div class="ttc" id="macros_8h_html_af8df3547bfde53a5acb93e2607b0034a"><div class="ttname"><a href="macros_8h.html#af8df3547bfde53a5acb93e2607b0034a">DISALLOW_COPY_AND_ASSIGN</a></div><div class="ttdeci">#define DISALLOW_COPY_AND_ASSIGN(TypeName)</div><div class="ttdef"><b>Definition:</b> macros.h:23</div></div>
-<div class="ttc" id="classarrow_1_1py_1_1_owned_ref_html"><div class="ttname"><a href="classarrow_1_1py_1_1_owned_ref.html">arrow::py::OwnedRef</a></div><div class="ttdef"><b>Definition:</b> common.h:48</div></div>
+<div class="ttc" id="classarrow_1_1py_1_1_owned_ref_html"><div class="ttname"><a href="classarrow_1_1py_1_1_owned_ref.html">arrow::py::OwnedRef</a></div><div class="ttdef"><b>Definition:</b> common.h:66</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/compare_8cc.html
----------------------------------------------------------------------
diff --git a/docs/cpp/compare_8cc.html b/docs/cpp/compare_8cc.html
index 20b973a..6744e68 100644
--- a/docs/cpp/compare_8cc.html
+++ b/docs/cpp/compare_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&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;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/compare_8h.html
----------------------------------------------------------------------
diff --git a/docs/cpp/compare_8h.html b/docs/cpp/compare_8h.html
index d8ce034..df86840 100644
--- a/docs/cpp/compare_8h.html
+++ b/docs/cpp/compare_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&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;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/compare_8h_source.html
----------------------------------------------------------------------
diff --git a/docs/cpp/compare_8h_source.html b/docs/cpp/compare_8h_source.html
index 1cf06b2..c55584e 100644
--- a/docs/cpp/compare_8h_source.html
+++ b/docs/cpp/compare_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&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;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/config_8cc.html
----------------------------------------------------------------------
diff --git a/docs/cpp/config_8cc.html b/docs/cpp/config_8cc.html
index c280a7d..8f26803 100644
--- a/docs/cpp/config_8cc.html
+++ b/docs/cpp/config_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&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;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/config_8h.html
----------------------------------------------------------------------
diff --git a/docs/cpp/config_8h.html b/docs/cpp/config_8h.html
index 15519cc..eea2c8e 100644
--- a/docs/cpp/config_8h.html
+++ b/docs/cpp/config_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&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;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/config_8h_source.html
----------------------------------------------------------------------
diff --git a/docs/cpp/config_8h_source.html b/docs/cpp/config_8h_source.html
index b40c78f..edb0e10 100644
--- a/docs/cpp/config_8h_source.html
+++ b/docs/cpp/config_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&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;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/datetime_8h.html
----------------------------------------------------------------------
diff --git a/docs/cpp/datetime_8h.html b/docs/cpp/datetime_8h.html
index 7f445e7..5f53d74 100644
--- a/docs/cpp/datetime_8h.html
+++ b/docs/cpp/datetime_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&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;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/datetime_8h_source.html
----------------------------------------------------------------------
diff --git a/docs/cpp/datetime_8h_source.html b/docs/cpp/datetime_8h_source.html
index 1f1dac6..10870a6 100644
--- a/docs/cpp/datetime_8h_source.html
+++ b/docs/cpp/datetime_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&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;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>
@@ -133,14 +134,37 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor"></span>}</div>
 <div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> int32_t PyDate_to_days(PyDateTime_Date* pydate) {</div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>int32_t<span class="keyword">&gt;</span>(PyDate_to_ms(pydate) / 86400000LL);</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;</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;}  <span class="comment">// namespace py</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;}  <span class="comment">// namespace arrow</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#endif  // PYARROW_UTIL_DATETIME_H</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> int64_t PyDateTime_to_us(PyDateTime_DateTime* pydatetime) {</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="keyword">struct </span>tm datetime = {0};</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  datetime.tm_year = PyDateTime_GET_YEAR(pydatetime) - 1900;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  datetime.tm_mon = PyDateTime_GET_MONTH(pydatetime) - 1;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  datetime.tm_mday = PyDateTime_GET_DAY(pydatetime);</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  datetime.tm_hour = PyDateTime_DATE_GET_HOUR(pydatetime);</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  datetime.tm_min = PyDateTime_DATE_GET_MINUTE(pydatetime);</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  datetime.tm_sec = PyDateTime_DATE_GET_SECOND(pydatetime);</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <span class="keywordtype">int</span> us = PyDateTime_DATE_GET_MICROSECOND(pydatetime);</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <span class="keyword">struct </span>tm epoch = {0};</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  epoch.tm_year = 70;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  epoch.tm_mday = 1;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"></span>  <span class="comment">// Microseconds since the epoch</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="keyword">const</span> int64_t current_timestamp = <span class="keyword">static_cast&lt;</span>int64_t<span class="keyword">&gt;</span>(_mkgmtime64(&amp;datetime));</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="keyword">const</span> int64_t epoch_timestamp = <span class="keyword">static_cast&lt;</span>int64_t<span class="keyword">&gt;</span>(_mkgmtime64(&amp;epoch));</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="keywordflow">return</span> (current_timestamp - epoch_timestamp) * 1000000L + us;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>int64_t<span class="keyword">&gt;</span>(</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      lrint(difftime(mktime(&amp;datetime), mktime(&amp;epoch))) * 1000000 + us);</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor"></span>}</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> int32_t PyDate_to_days(PyDateTime_Date* pydate) {</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>int32_t<span class="keyword">&gt;</span>(PyDate_to_ms(pydate) / 86400000LL);</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;</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;}  <span class="comment">// namespace py</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;}  <span class="comment">// namespace arrow</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#endif  // PYARROW_UTIL_DATETIME_H</span></div>
 <div class="ttc" id="platform_8h_html"><div class="ttname"><a href="platform_8h.html">platform.h</a></div></div>
 <div class="ttc" id="datetime_8h_html"><div class="ttname"><a href="datetime_8h.html">datetime.h</a></div></div>
 </div><!-- fragment --></div><!-- contents -->

http://git-wip-us.apache.org/repos/asf/arrow-site/blob/62afa00b/docs/cpp/decimal_8cc.html
----------------------------------------------------------------------
diff --git a/docs/cpp/decimal_8cc.html b/docs/cpp/decimal_8cc.html
index 96fc6df..02e12c3 100644
--- a/docs/cpp/decimal_8cc.html
+++ b/docs/cpp/decimal_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&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;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/decimal_8h.html
----------------------------------------------------------------------
diff --git a/docs/cpp/decimal_8h.html b/docs/cpp/decimal_8h.html
index f839200..4331076 100644
--- a/docs/cpp/decimal_8h.html
+++ b/docs/cpp/decimal_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&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;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>
@@ -98,7 +99,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="textblock"><code>#include &lt;cmath&gt;</code><br/>
 <code>#include &lt;cstdlib&gt;</code><br/>
 <code>#include &lt;iterator&gt;</code><br/>
-<code>#include &lt;regex&gt;</code><br/>
 <code>#include &lt;string&gt;</code><br/>
 <code>#include &quot;<a class="el" href="status_8h_source.html">arrow/status.h</a>&quot;</code><br/>
 <code>#include &quot;<a class="el" href="bit-util_8h_source.html">arrow/util/bit-util.h</a>&quot;</code><br/>


Mime
View raw message