http://git-wip-us.apache.org/repos/asf/arrow-site/blob/4c7c2f1b/docs/cpp/namespaceplasma.html ---------------------------------------------------------------------- diff --git a/docs/cpp/namespaceplasma.html b/docs/cpp/namespaceplasma.html index d53a56b..6919aa3 100644 --- a/docs/cpp/namespaceplasma.html +++ b/docs/cpp/namespaceplasma.html @@ -89,9 +89,6 @@ Classes</h2></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structplasma_1_1_notification_queue.html">NotificationQueue</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structplasma_1_1object__handle.html">object_handle</a></td></tr> -<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Handle to access memory mapped file and map it into client address space. <a href="structplasma_1_1object__handle.html#details">More...</a><br /></td></tr> -<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structplasma_1_1_object_buffer.html">ObjectBuffer</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Object buffer data structure. <a href="structplasma_1_1_object_buffer.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> @@ -178,14 +175,14 @@ Functions</h2></td></tr> <tr class="separator:a79dfe2b339ca750052a95fd7fcde8da6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a80d88b1ca6fbdda17705f6e8fa53140e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a80d88b1ca6fbdda17705f6e8fa53140e">PlasmaReceive</a> (int sock, int64_t message_type, std::vector< uint8_t > *buffer)</td></tr> <tr class="separator:a80d88b1ca6fbdda17705f6e8fa53140e"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a1f0145812a3ea078744f7900353db801"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a1f0145812a3ea078744f7900353db801">SendCreateRequest</a> (int sock, <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> object_id, int64_t data_size, int64_t metadata_size)</td></tr> -<tr class="separator:a1f0145812a3ea078744f7900353db801"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a297d2f2b5a4739e38ccea2f1f8771748"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a297d2f2b5a4739e38ccea2f1f8771748">ReadCreateRequest</a> (uint8_t *data, size_t size, <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> *object_id, int64_t *data_size, int64_t *metadata_size)</td></tr> -<tr class="separator:a297d2f2b5a4739e38ccea2f1f8771748"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a9578f3ac006fb7a28428ec1e925fe46c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a9578f3ac006fb7a28428ec1e925fe46c">SendCreateReply</a> (int sock, <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> object_id, <a class="el" href="structplasma_1_1_plasma_object.html">PlasmaObject</a> *object, int error)</td></tr> -<tr class="separator:a9578f3ac006fb7a28428ec1e925fe46c"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a4b17176b00fe379abf8b7b945fc7a78b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a4b17176b00fe379abf8b7b945fc7a78b">ReadCreateReply</a> (uint8_t *data, size_t size, <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> *object_id, <a class="el" href="structplasma_1_1_plasma_object.html">PlasmaObject</a> *object)</td></tr> -<tr class="separator:a4b17176b00fe379abf8b7b945fc7a78b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:acacc822b2a6c7f04edea4de83494af89"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#acacc822b2a6c7f04edea4de83494af89">SendCreateRequest</a> (int sock, <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> object_id, int64_t data_size, int64_t metadata_size, int device_num)</td></tr> +<tr class="separator:acacc822b2a6c7f04edea4de83494af89"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a9869001a5660229ab33088d73457488c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a9869001a5660229ab33088d73457488c">ReadCreateRequest</a> (uint8_t *data, size_t size, <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> *object_id, int64_t *data_size, int64_t *metadata_size, int *device_num)</td></tr> +<tr class="separator:a9869001a5660229ab33088d73457488c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aaadbd53987fe7507e01e2198dc25122b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#aaadbd53987fe7507e01e2198dc25122b">SendCreateReply</a> (int sock, <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> object_id, <a class="el" href="structplasma_1_1_plasma_object.html">PlasmaObject</a> *object, int error, int64_t mmap_size)</td></tr> +<tr class="separator:aaadbd53987fe7507e01e2198dc25122b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5008d90488abd96cba230763efb73ea6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a5008d90488abd96cba230763efb73ea6">ReadCreateReply</a> (uint8_t *data, size_t size, <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> *object_id, <a class="el" href="structplasma_1_1_plasma_object.html">PlasmaObject</a> *object, int *store_fd, int64_t *mmap_size)</td></tr> +<tr class="separator:a5008d90488abd96cba230763efb73ea6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab10e4d376f6900e316ef8dd9fa2d96fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#ab10e4d376f6900e316ef8dd9fa2d96fb">SendAbortRequest</a> (int sock, <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> object_id)</td></tr> <tr class="separator:ab10e4d376f6900e316ef8dd9fa2d96fb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acccbcba265db57269a81d3f0b66c5988"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#acccbcba265db57269a81d3f0b66c5988">ReadAbortRequest</a> (uint8_t *data, size_t size, <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> *object_id)</td></tr> @@ -206,10 +203,10 @@ Functions</h2></td></tr> <tr class="separator:a32c56789c459f828d40673917720f40b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a724ab20b1bd7384c074229819b6a1b7f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a724ab20b1bd7384c074229819b6a1b7f">ReadGetRequest</a> (uint8_t *data, size_t size, std::vector< <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> > &object_ids, int64_t *timeout_ms)</td></tr> <tr class="separator:a724ab20b1bd7384c074229819b6a1b7f"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ad75ba201b4305d667bb7014f6cf2254f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#ad75ba201b4305d667bb7014f6cf2254f">SendGetReply</a> (int sock, <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> object_ids[], std::unordered_map< <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a>, <a class="el" href="structplasma_1_1_plasma_object.html">PlasmaObject</a>, <a class="el" href="structplasma_1_1_unique_i_d_hasher.html">UniqueIDHasher</a> > &plasma_objects, int64_t num_objects)</td></tr> -<tr class="separator:ad75ba201b4305d667bb7014f6cf2254f"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a96561d67b650ab24759fd6dbed469b1f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a96561d67b650ab24759fd6dbed469b1f">ReadGetReply</a> (uint8_t *data, size_t size, <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> object_ids[], <a class="el" href="structplasma_1_1_plasma_object.html">PlasmaObject</a> plasma_objects[], int64_t num_objects)</td></tr> -<tr class="separator:a96561d67b650ab24759fd6dbed469b1f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a953e26ba5b4de91cb61e90301abe87ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a953e26ba5b4de91cb61e90301abe87ca">SendGetReply</a> (int sock, <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> object_ids[], std::unordered_map< <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a>, <a class="el" href="structplasma_1_1_plasma_object.html">PlasmaObject</a>, <a class="el" href="structplasma_1_1_unique_i_d_hasher.html">UniqueIDHasher</a> > &plasma_objects, int64_t num_objects, const std::vector< int > &store_fds, const std::vector< int64_t > &mmap_sizes)</td></tr> +<tr class="separator:a953e26ba5b4de91cb61e90301abe87ca"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a4132f9aff3aa2ec0744f6140e9824d85"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a4132f9aff3aa2ec0744f6140e9824d85">ReadGetReply</a> (uint8_t *data, size_t size, <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> object_ids[], <a class="el" href="structplasma_1_1_plasma_object.html">PlasmaObject</a> plasma_objects[], int64_t num_objects, std::vector< int > &store_fds, std::vector< int64_t > &mmap_sizes)</td></tr> +<tr class="separator:a4132f9aff3aa2ec0744f6140e9824d85"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a12ae3d07523ef07775320bf609ed281f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a12ae3d07523ef07775320bf609ed281f">SendReleaseRequest</a> (int sock, <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> object_id)</td></tr> <tr class="separator:a12ae3d07523ef07775320bf609ed281f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af0bcf97f34a94168b38d739d3f882b76"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarrow_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#af0bcf97f34a94168b38d739d3f882b76">ReadReleaseRequest</a> (uint8_t *data, size_t size, <a class="el" href="namespaceplasma.html#adf1aa2f87f6f11e1993628f574e31e75">ObjectID</a> *object_id)</td></tr> @@ -883,8 +880,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a4b17176b00fe379abf8b7b945fc7a78b"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a4b17176b00fe379abf8b7b945fc7a78b">◆ </a></span>ReadCreateReply()</h2> +<a id="a5008d90488abd96cba230763efb73ea6"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a5008d90488abd96cba230763efb73ea6">◆ </a></span>ReadCreateReply()</h2> <div class="memitem"> <div class="memproto"> @@ -911,7 +908,19 @@ Variables</h2></td></tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structplasma_1_1_plasma_object.html">PlasmaObject</a> * </td> - <td class="paramname"><em>object</em> </td> + <td class="paramname"><em>object</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int * </td> + <td class="paramname"><em>store_fd</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int64_t * </td> + <td class="paramname"><em>mmap_size</em> </td> </tr> <tr> <td></td> @@ -923,8 +932,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a297d2f2b5a4739e38ccea2f1f8771748"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a297d2f2b5a4739e38ccea2f1f8771748">◆ </a></span>ReadCreateRequest()</h2> +<a id="a9869001a5660229ab33088d73457488c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a9869001a5660229ab33088d73457488c">◆ </a></span>ReadCreateRequest()</h2> <div class="memitem"> <div class="memproto"> @@ -957,7 +966,13 @@ Variables</h2></td></tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int64_t * </td> - <td class="paramname"><em>metadata_size</em> </td> + <td class="paramname"><em>metadata_size</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int * </td> + <td class="paramname"><em>device_num</em> </td> </tr> <tr> <td></td> @@ -1231,8 +1246,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a96561d67b650ab24759fd6dbed469b1f"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a96561d67b650ab24759fd6dbed469b1f">◆ </a></span>ReadGetReply()</h2> +<a id="a4132f9aff3aa2ec0744f6140e9824d85"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a4132f9aff3aa2ec0744f6140e9824d85">◆ </a></span>ReadGetReply()</h2> <div class="memitem"> <div class="memproto"> @@ -1265,7 +1280,19 @@ Variables</h2></td></tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int64_t </td> - <td class="paramname"><em>num_objects</em> </td> + <td class="paramname"><em>num_objects</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">std::vector< int > & </td> + <td class="paramname"><em>store_fds</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">std::vector< int64_t > & </td> + <td class="paramname"><em>mmap_sizes</em> </td> </tr> <tr> <td></td> @@ -1857,8 +1884,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a9578f3ac006fb7a28428ec1e925fe46c"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a9578f3ac006fb7a28428ec1e925fe46c">◆ </a></span>SendCreateReply()</h2> +<a id="aaadbd53987fe7507e01e2198dc25122b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aaadbd53987fe7507e01e2198dc25122b">◆ </a></span>SendCreateReply()</h2> <div class="memitem"> <div class="memproto"> @@ -1885,7 +1912,13 @@ Variables</h2></td></tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> - <td class="paramname"><em>error</em> </td> + <td class="paramname"><em>error</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int64_t </td> + <td class="paramname"><em>mmap_size</em> </td> </tr> <tr> <td></td> @@ -1897,8 +1930,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a1f0145812a3ea078744f7900353db801"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a1f0145812a3ea078744f7900353db801">◆ </a></span>SendCreateRequest()</h2> +<a id="acacc822b2a6c7f04edea4de83494af89"></a> +<h2 class="memtitle"><span class="permalink"><a href="#acacc822b2a6c7f04edea4de83494af89">◆ </a></span>SendCreateRequest()</h2> <div class="memitem"> <div class="memproto"> @@ -1925,7 +1958,13 @@ Variables</h2></td></tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int64_t </td> - <td class="paramname"><em>metadata_size</em> </td> + <td class="paramname"><em>metadata_size</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>device_num</em> </td> </tr> <tr> <td></td> @@ -2169,8 +2208,8 @@ Variables</h2></td></tr> </div> </div> -<a id="ad75ba201b4305d667bb7014f6cf2254f"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ad75ba201b4305d667bb7014f6cf2254f">◆ </a></span>SendGetReply()</h2> +<a id="a953e26ba5b4de91cb61e90301abe87ca"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a953e26ba5b4de91cb61e90301abe87ca">◆ </a></span>SendGetReply()</h2> <div class="memitem"> <div class="memproto"> @@ -2197,7 +2236,19 @@ Variables</h2></td></tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int64_t </td> - <td class="paramname"><em>num_objects</em> </td> + <td class="paramname"><em>num_objects</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const std::vector< int > & </td> + <td class="paramname"><em>store_fds</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const std::vector< int64_t > & </td> + <td class="paramname"><em>mmap_sizes</em> </td> </tr> <tr> <td></td>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/4c7c2f1b/docs/cpp/namespaces.html ---------------------------------------------------------------------- diff --git a/docs/cpp/namespaces.html b/docs/cpp/namespaces.html index 9d19bd9..87ab315 100644 --- a/docs/cpp/namespaces.html +++ b/docs/cpp/namespaces.html @@ -76,8 +76,10 @@ $(function() { <tr id="row_0_3_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacearrow_1_1io.html" target="_self">io</a></td><td class="desc"></td></tr> <tr id="row_0_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_4_" class="arrow" onclick="toggleFolder('0_4_')">▼</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacearrow_1_1ipc.html" target="_self">ipc</a></td><td class="desc"></td></tr> <tr id="row_0_4_0_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacearrow_1_1ipc_1_1feather.html" target="_self">feather</a></td><td class="desc"></td></tr> -<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacearrow_1_1py.html" target="_self">py</a></td><td class="desc"></td></tr> -<tr id="row_0_6_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacearrow_1_1util.html" target="_self">util</a></td><td class="desc"></td></tr> +<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacearrow_1_1meta.html" target="_self">meta</a></td><td class="desc"></td></tr> +<tr id="row_0_6_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacearrow_1_1py.html" target="_self">py</a></td><td class="desc"></td></tr> +<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacearrow_1_1stl.html" target="_self">stl</a></td><td class="desc"></td></tr> +<tr id="row_0_8_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacearrow_1_1util.html" target="_self">util</a></td><td class="desc"></td></tr> <tr id="row_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceplasma.html" target="_self">plasma</a></td><td class="desc"></td></tr> </table> </div><!-- directory --> http://git-wip-us.apache.org/repos/asf/arrow-site/blob/4c7c2f1b/docs/cpp/numpy-internal_8h.html ---------------------------------------------------------------------- diff --git a/docs/cpp/numpy-internal_8h.html b/docs/cpp/numpy-internal_8h.html index 394ad47..ce98629 100644 --- a/docs/cpp/numpy-internal_8h.html +++ b/docs/cpp/numpy-internal_8h.html @@ -69,7 +69,8 @@ $(function() { <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#namespaces">Namespaces</a> | -<a href="#define-members">Macros</a> </div> +<a href="#define-members">Macros</a> | +<a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">numpy-internal.h File Reference</div> </div> </div><!--header--> @@ -99,6 +100,14 @@ Namespaces</h2></td></tr> Macros</h2></td></tr> <tr class="memitem:a0ab91150fb3672184f6d3977bcad8220"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(TYPE, NAME)</td></tr> <tr class="separator:a0ab91150fb3672184f6d3977bcad8220"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a6d9f06383c97b89a49f0f0d715c17c06"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(TYPE)</td></tr> +<tr class="separator:a6d9f06383c97b89a49f0f0d715c17c06"><td class="memSeparator" colspan="2"> </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:a52c0b9dd7f438cb97fb897f1e6bf04b1"><td class="memTemplParams" colspan="2">template<typename VISITOR > </td></tr> +<tr class="memitem:a52c0b9dd7f438cb97fb897f1e6bf04b1"><td class="memTemplItemLeft" align="right" valign="top">Status </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearrow_1_1py.html#a52c0b9dd7f438cb97fb897f1e6bf04b1">arrow::py::VisitNumpyArrayInline</a> (PyArrayObject *arr, VISITOR *visitor)</td></tr> +<tr class="separator:a52c0b9dd7f438cb97fb897f1e6bf04b1"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Macro Definition Documentation</h2> <a id="a0ab91150fb3672184f6d3977bcad8220"></a> @@ -129,6 +138,24 @@ Macros</h2></td></tr> <b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">case</span> NPY_##TYPE: \</div><div class="line"> return NAME;</div></div><!-- fragment --> </div> </div> +<a id="a6d9f06383c97b89a49f0f0d715c17c06"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a6d9f06383c97b89a49f0f0d715c17c06">◆ </a></span>TYPE_VISIT_INLINE</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define TYPE_VISIT_INLINE</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">TYPE</td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> +<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">case</span> NPY_##TYPE: \</div><div class="line"> return visitor->template Visit<NPY_##TYPE>(arr);</div></div><!-- fragment --> +</div> +</div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> http://git-wip-us.apache.org/repos/asf/arrow-site/blob/4c7c2f1b/docs/cpp/numpy-internal_8h_source.html ---------------------------------------------------------------------- diff --git a/docs/cpp/numpy-internal_8h_source.html b/docs/cpp/numpy-internal_8h_source.html index ab7a5db..4d31e74 100644 --- a/docs/cpp/numpy-internal_8h_source.html +++ b/docs/cpp/numpy-internal_8h_source.html @@ -70,7 +70,7 @@ $(function() { <div class="title">numpy-internal.h</div> </div> </div><!--header--> <div class="contents"> -<a href="numpy-internal_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> <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> <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> <span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <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> <span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><spa n class="lineno"> 6</span> <span class="comment">// "License"); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <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> <span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <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> <span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <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> <span class="comment">// software distri buted under the License is distributed on an</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <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> <span class="comment">// specific language governing permissions and limitations</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// under the License.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// Internal utilities for dealing with NumPy</span></div><div class="line"><a name="l00019"></a><s pan class="lineno"> 19</span> </div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#ifndef ARROW_PYTHON_NUMPY_INTERNAL_H</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#define ARROW_PYTHON_NUMPY_INTERNAL_H</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "<a class="code" href="numpy__interop_8h.html">arrow/python/numpy_interop.h</a>"</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "<a class="code" href="platform_8h.html">arrow/python/platform.h</a>"</span></div><div class="line"><a name="l00026"></a><span class="l ineno"> 26</span> </div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <cstdint></span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <string></span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">namespace </span><a class="code" href="namespacearrow.html">arrow</a> {</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">namespace </span>py {</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div><div class="line"><a name="l00035"></a><sp an class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html"> 35</a></span> <span class="keyword">class </span><a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html">Ndarray1DIndexer</a> {</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <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_ndarray1_d_indexer.html#a1292bfad93b4aa33d53af65828842a0e"> 37</a></span>  <span class="keyword">typedef</span> int64_t <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a1292bfad93b4aa33d53af65828842a0e">size_type</a>;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a17a7c880dd72b47f5ba74d9ba255ff89"> 39</a></span>  <a class="code " href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a17a7c880dd72b47f5ba74d9ba255ff89">Ndarray1DIndexer</a>() : arr_(nullptr), data_(nullptr) {}</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#ad35c314063aa4e67a8df2b0a3714b57d"> 41</a></span>  <span class="keyword">explicit</span> <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#ad35c314063aa4e67a8df2b0a3714b57d">Ndarray1DIndexer</a>(PyArrayObject* arr) : <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html">Ndarray1DIndexer</a>() { <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#aabdf59a87c8a78ecec53aab4ec603315">Init</a>(arr); }</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classarrow _1_1py_1_1_ndarray1_d_indexer.html#aabdf59a87c8a78ecec53aab4ec603315"> 43</a></span>  <span class="keywordtype">void</span> <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#aabdf59a87c8a78ecec53aab4ec603315">Init</a>(PyArrayObject* arr) {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  arr_ = arr;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="logging_8h.html#ae89df3243bbb8341130c7b3f44145ea0">DCHECK_EQ</a>(1, PyArray_NDIM(arr)) << <span class="stringliteral">"Only works with 1-dimensional arrays"</span>;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  Py_INCREF(arr);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  data_ = <span class="keyword">reinterpret_cast<</span>T*<span class="keyword">></span>(PyArray_DATA(arr));</div><div class="line"><a name="l00048"> </a><span class="lineno"> 48</span>  stride_ = PyArray_STRIDES(arr)[0] / <span class="keyword">sizeof</span>(T);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  }</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a4c24bc66a76b98150fcceea2063ba641"> 51</a></span>  <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a4c24bc66a76b98150fcceea2063ba641">~Ndarray1DIndexer</a>() { Py_XDECREF(arr_); }</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a65a7dd1e9e10efabad98d436019f1a04"> 53</a></span>  int64_t <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a65a7dd1e9e10e fabad98d436019f1a04">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> PyArray_SIZE(arr_); }</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a07dca18024c2f204e46da889fcca76fb"> 55</a></span>  T* <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a07dca18024c2f204e46da889fcca76fb">data</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data_; }</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a7163a1a2a2e4ce2ac7eeda40c08f4cfb"> 57</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a7163a1a2 a2e4ce2ac7eeda40c08f4cfb">is_strided</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> stride_ == 1; }</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a8ba63684282273881e5b4b3cb844e183"> 59</a></span>  T& <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a8ba63684282273881e5b4b3cb844e183">operator[]</a>(<a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a1292bfad93b4aa33d53af65828842a0e">size_type</a> index) { <span class="keywordflow">return</span> data_[index * stride_]; }</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a9835daa2afea41b64ca76393aa98b93e"> 60</a></span>  T& <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a9835d aa2afea41b64ca76393aa98b93e">operator[]</a>(<a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a1292bfad93b4aa33d53af65828842a0e">size_type</a> index)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data_[index * stride_]; }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  PyArrayObject* arr_;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  T* data_;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  int64_t stride_;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> };</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div><div class="line"><a name="l00068"></a><spa n class="lineno"> 68</span> <span class="keyword">static</span> <span class="keyword">inline</span> std::string GetNumPyTypeName(<span class="keywordtype">int</span> npy_type) {</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#define TYPE_CASE(TYPE, NAME) \</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"> case NPY_##TYPE: \</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor"> return NAME;</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">switch</span> (npy_type) {</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977b cad8220">TYPE_CASE</a>(BOOL, <span class="stringliteral">"bool"</span>)</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(INT8, "<a class="code" href="namespacearrow.html#a9c09bf26bc03f0fb0c84a0277215dd67">int8</a>")</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(INT16, "<a class="code" href="namespacearrow.html#a034c5c703e15039fe76af412d349734d">int16</a>")</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(INT32, "<a class="code" href="namespacearrow.html#a86f6bfe394347f77befa2143297ad541">int32</a>")</div><div class="line"><a name="l00078"></a><span cla ss="lineno"> 78</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(INT64, "<a class="code" href="namespacearrow.html#a733b16be653069b8d926529662e34e79">int64</a>")</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor">#if (NPY_INT64 != NPY_LONGLONG)</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(LONGLONG, <span class="stringliteral">"longlong"</span>)</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(UINT8, <span class="stringliteral">"uint8"</span>) </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(UINT16, "<a class="code" href="namespacearrow.html#a9f1e44bc2ab9b465b6e7b601eb48f0a0">uint16</a>")</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(UINT32, "<a class="code" href="namespacearrow.html#ae80e510cfb2931ac18c73cba0be6d894">uint32</a>")</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(UINT64, "<a class="code" href="namespacearrow.html#ae548d03275f4afaa97a269774ce6930c">uint64</a>")</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor">#if (NPY_UINT64 != NPY_ULONGLONG)</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(ULONGLONG, <span class="stringliteral">"ulonglong"</span>)</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(FLOAT16, <span class="stringliteral">"float16"</span>)</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(FLOAT32, "<a class="code" href="namespacearrow.html#a48fca9d26feda61c8255ec3c44a2078c">float32</a>")</div><div class="line"><a name="l00091"></a><span class="lin eno"> 91</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(FLOAT64, "<a class="code" href="namespacearrow.html#ab6f514320a9b037ab161fa97db73b970">float64</a>")</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(DATETIME, "datetime64")</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(OBJECT, "<span class="keywordtype">object</span>")</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(VOID, "<span class="keywordtype">void</span>")</div><div class="line"><a name="l00095"></a><span class="lineno"> 95 </span>  default:</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  break;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor">#undef TYPE_CASE</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">return</span> <span class="stringliteral">"unrecognized type in GetNumPyTypeName"</span>;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> }</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> } <span class="comment">// namespace py</span></div><div class="line"><a name="l00104"></a><span class="li neno"> 104</span> } <span class="comment">// namespace arrow</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor">#endif // ARROW_PYTHON_NUMPY_INTERNAL_H</span></div><div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html_a07dca18024c2f204e46da889fcca76fb"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a07dca18024c2f204e46da889fcca76fb">arrow::py::Ndarray1DIndexer::data</a></div><div class="ttdeci">T * data() const</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:55</div></div> +<a href="numpy-internal_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> <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> <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> <span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <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> <span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><spa n class="lineno"> 6</span> <span class="comment">// "License"); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <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> <span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <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> <span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <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> <span class="comment">// software distri buted under the License is distributed on an</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <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> <span class="comment">// specific language governing permissions and limitations</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// under the License.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// Internal utilities for dealing with NumPy</span></div><div class="line"><a name="l00019"></a><s pan class="lineno"> 19</span> </div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#ifndef ARROW_PYTHON_NUMPY_INTERNAL_H</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#define ARROW_PYTHON_NUMPY_INTERNAL_H</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "<a class="code" href="numpy__interop_8h.html">arrow/python/numpy_interop.h</a>"</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "<a class="code" href="platform_8h.html">arrow/python/platform.h</a>"</span></div><div class="line"><a name="l00026"></a><span class="l ineno"> 26</span> </div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <cstdint></span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <string></span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">namespace </span><a class="code" href="namespacearrow.html">arrow</a> {</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">namespace </span>py {</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div><div class="line"><a name="l00035"></a><sp an class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html"> 35</a></span> <span class="keyword">class </span><a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html">Ndarray1DIndexer</a> {</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <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_ndarray1_d_indexer.html#a1292bfad93b4aa33d53af65828842a0e"> 37</a></span>  <span class="keyword">typedef</span> int64_t <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a1292bfad93b4aa33d53af65828842a0e">size_type</a>;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a17a7c880dd72b47f5ba74d9ba255ff89"> 39</a></span>  <a class="code " href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a17a7c880dd72b47f5ba74d9ba255ff89">Ndarray1DIndexer</a>() : arr_(nullptr), data_(nullptr) {}</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#ad35c314063aa4e67a8df2b0a3714b57d"> 41</a></span>  <span class="keyword">explicit</span> <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#ad35c314063aa4e67a8df2b0a3714b57d">Ndarray1DIndexer</a>(PyArrayObject* arr) : <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html">Ndarray1DIndexer</a>() { <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#aabdf59a87c8a78ecec53aab4ec603315">Init</a>(arr); }</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classarrow _1_1py_1_1_ndarray1_d_indexer.html#aabdf59a87c8a78ecec53aab4ec603315"> 43</a></span>  <span class="keywordtype">void</span> <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#aabdf59a87c8a78ecec53aab4ec603315">Init</a>(PyArrayObject* arr) {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  arr_ = arr;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="logging_8h.html#ae89df3243bbb8341130c7b3f44145ea0">DCHECK_EQ</a>(1, PyArray_NDIM(arr)) << <span class="stringliteral">"Only works with 1-dimensional arrays"</span>;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  Py_INCREF(arr);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  data_ = <span class="keyword">reinterpret_cast<</span>T*<span class="keyword">></span>(PyArray_DATA(arr));</div><div class="line"><a name="l00048"> </a><span class="lineno"> 48</span>  stride_ = PyArray_STRIDES(arr)[0] / <span class="keyword">sizeof</span>(T);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  }</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a4c24bc66a76b98150fcceea2063ba641"> 51</a></span>  <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a4c24bc66a76b98150fcceea2063ba641">~Ndarray1DIndexer</a>() { Py_XDECREF(arr_); }</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a65a7dd1e9e10efabad98d436019f1a04"> 53</a></span>  int64_t <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a65a7dd1e9e10e fabad98d436019f1a04">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> PyArray_SIZE(arr_); }</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a07dca18024c2f204e46da889fcca76fb"> 55</a></span>  T* <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a07dca18024c2f204e46da889fcca76fb">data</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data_; }</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a55c3de74319953a6c3649526c38ebfc7"> 57</a></span>  T* <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a55c3de74319953a6c3649526c38ebfc7">begin</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a07dca18024c2f204e46da889fcca76fb">data</a>(); }</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a56d28a2d587932ff078b079c77a7f8ff"> 58</a></span>  T* <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a56d28a2d587932ff078b079c77a7f8ff">end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a55c3de74319953a6c3649526c38ebfc7">begin</a>() + <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a65a7dd1e9e10efabad98d436019f1a04">size</a>() * stride_; }</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="class arrow_1_1py_1_1_ndarray1_d_indexer.html#a7163a1a2a2e4ce2ac7eeda40c08f4cfb"> 60</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a7163a1a2a2e4ce2ac7eeda40c08f4cfb">is_strided</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> stride_ == 1; }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a8ba63684282273881e5b4b3cb844e183"> 62</a></span>  T& <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a8ba63684282273881e5b4b3cb844e183">operator[]</a>(<a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a1292bfad93b4aa33d53af65828842a0e">size_type</a> index) { <span class="keywordflow">return</span> data_[index * stride_]; }</div><div class="line"><a name="l00063"></a><span class="l ineno"><a class="line" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a9835daa2afea41b64ca76393aa98b93e"> 63</a></span>  T& <a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a9835daa2afea41b64ca76393aa98b93e">operator[]</a>(<a class="code" href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a1292bfad93b4aa33d53af65828842a0e">size_type</a> index)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data_[index * stride_]; }</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  PyArrayObject* arr_;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  T* data_;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  int64_t stride_;</div> <div class="line"><a name="l00069"></a><span class="lineno"> 69</span> };</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">// Handling of Numpy Types by their static numbers</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">// (the NPY_TYPES enum and related defines)</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">static</span> <span class="keyword">inline</span> std::string GetNumPyTypeName(<span class="keywordtype">int</span> npy_type) {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#define TYPE_CASE(TYPE, NAME) \</span></div><div class="line"><a name="l00076"></a><sp an class="lineno"> 76</span> <span class="preprocessor"> case NPY_##TYPE: \</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"> return NAME;</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">switch</span> (npy_type) {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(BOOL, <span class="stringliteral">"bool"</span>)</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(INT8, "<a class="code" href="namespacearrow.html#a9c09bf26bc03f0fb0c84a0277215dd67">int8</a>")</div><div cla ss="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(INT16, "<a class="code" href="namespacearrow.html#a034c5c703e15039fe76af412d349734d">int16</a>")</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(INT32, "<a class="code" href="namespacearrow.html#a86f6bfe394347f77befa2143297ad541">int32</a>")</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(INT64, "<a class="code" href="namespacearrow.html#a733b16be653069b8d926529662e34e79">int64</a>")</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor">#if !NPY_INT32_IS_INT</span></div><d iv class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(INT, <span class="stringliteral">"intc"</span>)</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor">#if !NPY_INT64_IS_LONG_LONG</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(LONGLONG, <span class="stringliteral">"longlong"</span>)</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="numpy-internal_ 8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(UINT8, <span class="stringliteral">"uint8"</span>)</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(UINT16, "<a class="code" href="namespacearrow.html#a9f1e44bc2ab9b465b6e7b601eb48f0a0">uint16</a>")</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(UINT32, "<a class="code" href="namespacearrow.html#ae80e510cfb2931ac18c73cba0be6d894">uint32</a>")</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(UINT64, "<a class="code" href="namespacearrow.html#ae548d03275f4afaa97a269774ce6930c">uint64</a>")</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor">#if !NPY_INT32_IS_INT</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(UINT, <span class="stringliteral">"uintc"</span>)</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor">#if !NPY_INT64_IS_LONG_LONG</span></div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(ULONGLONG, <span class="stringliteral">"ulonglong"</span>)</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocesso r">#endif</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(FLOAT16, <span class="stringliteral">"float16"</span>)</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(FLOAT32, "<a class="code" href="namespacearrow.html#a48fca9d26feda61c8255ec3c44a2078c">float32</a>")</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(FLOAT64, "<a class="code" href="namespacearrow.html#ab6f514320a9b037ab161fa97db73b970">float64</a>")</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184 f6d3977bcad8220">TYPE_CASE</a>(DATETIME, "datetime64")</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(OBJECT, "<span class="keywordtype">object</span>")</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a>(VOID, "<span class="keywordtype">void</span>")</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  default:</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  break;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor">#undef TYPE_CASE</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  std::stringstream ss;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  ss << <span class="stringliteral">"unrecognized type ("</span> << npy_type << <span class="stringliteral">") in GetNumPyTypeName"</span>;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06"> 117</a></span> <span class="preprocessor">#define TYPE_VISIT_INLINE(TYPE) \</span></div><div class="line"><a name="l00118"></a>< span class="lineno"> 118</span> <span class="preprocessor"> case NPY_##TYPE: \</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor"> return visitor->template Visit<NPY_##TYPE>(arr);</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keyword">template</span> <<span class="keyword">typename</span> VISITOR></div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="namespacearrow_1_1py.html#a52c0b9dd7f438cb97fb897f1e6bf04b1"> 122</a></span> <span class="keyword">inline</span> <a class="code" href="classarrow_1_1_status.html">Status</a> <a class="code" href="namespacearrow_1_1py.html#a52c0b9dd7f438cb97fb897f1e6bf04b1">VisitNumpyArrayInline</a>(PyArrayObject* arr, VISITOR* visitor) {</div><div class="line"><a name="l0012 3"></a><span class="lineno"> 123</span>  <span class="keywordflow">switch</span> (PyArray_TYPE(arr)) {</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <a class="code" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(BOOL);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(INT8);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(UINT8);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <a class="code" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(INT16);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code " href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(UINT16);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <a class="code" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(INT32);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <a class="code" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(UINT32);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(INT64);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(UINT64);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="preprocessor"> #if !NPY_INT32_IS_INT</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="code" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(INT);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <a class="code" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(UINT);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="preprocessor">#if !NPY_INT64_IS_LONG_LONG</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(LONGLONG);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href= "numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(ULONGLONG);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="code" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(FLOAT16);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <a class="code" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(FLOAT32);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <a class="code" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(FLOAT64);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLIN E</a>(DATETIME);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <a class="code" href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a>(OBJECT);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  std::stringstream ss;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  ss << <span class="stringliteral">"NumPy type not implemented: "</span> << GetNumPyTypeName(PyArray_TYPE(arr));</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">return</span> <a class="code" href="classarrow_1_1_status.html#ab33edfeaca5f374e024ab0b72019a25a">Status::NotImplemented</a>(ss.str());</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div><div class="line"><a name="l0015 1"></a><span class="lineno"> 151</span> </div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor">#undef TYPE_VISIT_INLINE</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> } <span class="comment">// namespace py</span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> } <span class="comment">// namespace arrow</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor">#endif // ARROW_PYTHON_NUMPY_INTERNAL_H</span></div><div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html_a07dca18024c2f204e46da889fcca76fb"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a07dca18024c2f204e46da889fcca76fb">ar row::py::Ndarray1DIndexer::data</a></div><div class="ttdeci">T * data() const</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:55</div></div> <div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html_a4c24bc66a76b98150fcceea2063ba641"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a4c24bc66a76b98150fcceea2063ba641">arrow::py::Ndarray1DIndexer::~Ndarray1DIndexer</a></div><div class="ttdeci">~Ndarray1DIndexer()</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:51</div></div> <div class="ttc" id="namespacearrow_html_a034c5c703e15039fe76af412d349734d"><div class="ttname"><a href="namespacearrow.html#a034c5c703e15039fe76af412d349734d">arrow::int16</a></div><div class="ttdeci">std::shared_ptr< DataType > int16()</div></div> <div class="ttc" id="namespacearrow_html_a9f1e44bc2ab9b465b6e7b601eb48f0a0"><div class="ttname"><a href="namespacearrow.html#a9f1e44bc2ab9b465b6e7b601eb48f0a0">arrow::uint16</a></div><div class="ttdeci">std::shared_ptr< DataType > uint16()</div></div> @@ -78,21 +78,27 @@ $(function() { <div class="ttc" id="platform_8h_html"><div class="ttname"><a href="platform_8h.html">platform.h</a></div></div> <div class="ttc" id="namespacearrow_html_ae80e510cfb2931ac18c73cba0be6d894"><div class="ttname"><a href="namespacearrow.html#ae80e510cfb2931ac18c73cba0be6d894">arrow::uint32</a></div><div class="ttdeci">std::shared_ptr< DataType > uint32()</div></div> <div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html_aabdf59a87c8a78ecec53aab4ec603315"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#aabdf59a87c8a78ecec53aab4ec603315">arrow::py::Ndarray1DIndexer::Init</a></div><div class="ttdeci">void Init(PyArrayObject *arr)</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:43</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:106</div></div> <div class="ttc" id="namespacearrow_html_ae548d03275f4afaa97a269774ce6930c"><div class="ttname"><a href="namespacearrow.html#ae548d03275f4afaa97a269774ce6930c">arrow::uint64</a></div><div class="ttdeci">std::shared_ptr< DataType > uint64()</div></div> +<div class="ttc" id="numpy-internal_8h_html_a6d9f06383c97b89a49f0f0d715c17c06"><div class="ttname"><a href="numpy-internal_8h.html#a6d9f06383c97b89a49f0f0d715c17c06">TYPE_VISIT_INLINE</a></div><div class="ttdeci">#define TYPE_VISIT_INLINE(TYPE)</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:117</div></div> <div class="ttc" id="namespacearrow_html_a9c09bf26bc03f0fb0c84a0277215dd67"><div class="ttname"><a href="namespacearrow.html#a9c09bf26bc03f0fb0c84a0277215dd67">arrow::int8</a></div><div class="ttdeci">std::shared_ptr< DataType > int8()</div></div> <div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html_a65a7dd1e9e10efabad98d436019f1a04"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a65a7dd1e9e10efabad98d436019f1a04">arrow::py::Ndarray1DIndexer::size</a></div><div class="ttdeci">int64_t size() const</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:53</div></div> <div class="ttc" id="namespacearrow_html_a48fca9d26feda61c8255ec3c44a2078c"><div class="ttname"><a href="namespacearrow.html#a48fca9d26feda61c8255ec3c44a2078c">arrow::float32</a></div><div class="ttdeci">std::shared_ptr< DataType > float32()</div></div> -<div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html_a8ba63684282273881e5b4b3cb844e183"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a8ba63684282273881e5b4b3cb844e183">arrow::py::Ndarray1DIndexer::operator[]</a></div><div class="ttdeci">T & operator[](size_type index)</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:59</div></div> +<div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html_a8ba63684282273881e5b4b3cb844e183"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a8ba63684282273881e5b4b3cb844e183">arrow::py::Ndarray1DIndexer::operator[]</a></div><div class="ttdeci">T & operator[](size_type index)</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:62</div></div> <div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html_a17a7c880dd72b47f5ba74d9ba255ff89"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a17a7c880dd72b47f5ba74d9ba255ff89">arrow::py::Ndarray1DIndexer::Ndarray1DIndexer</a></div><div class="ttdeci">Ndarray1DIndexer()</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:39</div></div> +<div class="ttc" id="namespacearrow_1_1py_html_a52c0b9dd7f438cb97fb897f1e6bf04b1"><div class="ttname"><a href="namespacearrow_1_1py.html#a52c0b9dd7f438cb97fb897f1e6bf04b1">arrow::py::VisitNumpyArrayInline</a></div><div class="ttdeci">Status VisitNumpyArrayInline(PyArrayObject *arr, VISITOR *visitor)</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:122</div></div> <div class="ttc" id="namespacearrow_html_a733b16be653069b8d926529662e34e79"><div class="ttname"><a href="namespacearrow.html#a733b16be653069b8d926529662e34e79">arrow::int64</a></div><div class="ttdeci">std::shared_ptr< DataType > int64()</div></div> -<div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html_a7163a1a2a2e4ce2ac7eeda40c08f4cfb"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a7163a1a2a2e4ce2ac7eeda40c08f4cfb">arrow::py::Ndarray1DIndexer::is_strided</a></div><div class="ttdeci">bool is_strided() const</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:57</div></div> +<div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html_a7163a1a2a2e4ce2ac7eeda40c08f4cfb"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a7163a1a2a2e4ce2ac7eeda40c08f4cfb">arrow::py::Ndarray1DIndexer::is_strided</a></div><div class="ttdeci">bool is_strided() const</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:60</div></div> <div class="ttc" id="numpy-internal_8h_html_a0ab91150fb3672184f6d3977bcad8220"><div class="ttname"><a href="numpy-internal_8h.html#a0ab91150fb3672184f6d3977bcad8220">TYPE_CASE</a></div><div class="ttdeci">#define TYPE_CASE(TYPE, NAME)</div></div> <div class="ttc" id="namespacearrow_html"><div class="ttname"><a href="namespacearrow.html">arrow</a></div><div class="ttdoc">Top-level namespace for Apache Arrow C++ API. </div><div class="ttdef"><b>Definition:</b> adapter.h:32</div></div> -<div class="ttc" id="logging_8h_html_ae89df3243bbb8341130c7b3f44145ea0"><div class="ttname"><a href="logging_8h.html#ae89df3243bbb8341130c7b3f44145ea0">DCHECK_EQ</a></div><div class="ttdeci">#define DCHECK_EQ(val1, val2)</div><div class="ttdef"><b>Definition:</b> logging.h:79</div></div> +<div class="ttc" id="logging_8h_html_ae89df3243bbb8341130c7b3f44145ea0"><div class="ttname"><a href="logging_8h.html#ae89df3243bbb8341130c7b3f44145ea0">DCHECK_EQ</a></div><div class="ttdeci">#define DCHECK_EQ(val1, val2)</div><div class="ttdef"><b>Definition:</b> logging.h:83</div></div> <div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html_ad35c314063aa4e67a8df2b0a3714b57d"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#ad35c314063aa4e67a8df2b0a3714b57d">arrow::py::Ndarray1DIndexer::Ndarray1DIndexer</a></div><div class="ttdeci">Ndarray1DIndexer(PyArrayObject *arr)</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:41</div></div> +<div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html_a56d28a2d587932ff078b079c77a7f8ff"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a56d28a2d587932ff078b079c77a7f8ff">arrow::py::Ndarray1DIndexer::end</a></div><div class="ttdeci">T * end() const</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:58</div></div> <div class="ttc" id="namespacearrow_html_ab6f514320a9b037ab161fa97db73b970"><div class="ttname"><a href="namespacearrow.html#ab6f514320a9b037ab161fa97db73b970">arrow::float64</a></div><div class="ttdeci">std::shared_ptr< DataType > float64()</div></div> <div class="ttc" id="numpy__interop_8h_html"><div class="ttname"><a href="numpy__interop_8h.html">numpy_interop.h</a></div></div> -<div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html_a9835daa2afea41b64ca76393aa98b93e"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a9835daa2afea41b64ca76393aa98b93e">arrow::py::Ndarray1DIndexer::operator[]</a></div><div class="ttdeci">T & operator[](size_type index) const</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:60</div></div> +<div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html_a55c3de74319953a6c3649526c38ebfc7"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a55c3de74319953a6c3649526c38ebfc7">arrow::py::Ndarray1DIndexer::begin</a></div><div class="ttdeci">T * begin() const</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:57</div></div> +<div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html_a9835daa2afea41b64ca76393aa98b93e"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a9835daa2afea41b64ca76393aa98b93e">arrow::py::Ndarray1DIndexer::operator[]</a></div><div class="ttdeci">T & operator[](size_type index) const</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:63</div></div> +<div class="ttc" id="classarrow_1_1_status_html_ab33edfeaca5f374e024ab0b72019a25a"><div class="ttname"><a href="classarrow_1_1_status.html#ab33edfeaca5f374e024ab0b72019a25a">arrow::Status::NotImplemented</a></div><div class="ttdeci">static Status NotImplemented(const std::string &msg)</div><div class="ttdef"><b>Definition:</b> status.h:138</div></div> <div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html_a1292bfad93b4aa33d53af65828842a0e"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html#a1292bfad93b4aa33d53af65828842a0e">arrow::py::Ndarray1DIndexer::size_type</a></div><div class="ttdeci">int64_t size_type</div><div class="ttdef"><b>Definition:</b> numpy-internal.h:37</div></div> <div class="ttc" id="classarrow_1_1py_1_1_ndarray1_d_indexer_html"><div class="ttname"><a href="classarrow_1_1py_1_1_ndarray1_d_indexer.html">arrow::py::Ndarray1DIndexer</a></div><div class="ttdoc">Indexing convenience for interacting with strided 1-dim ndarray objects. </div><div class="ttdef"><b>Definition:</b> numpy-internal.h:35</div></div> </div><!-- fragment --></div><!-- contents -->
