explode.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021-2024, NVIDIA CORPORATION.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #pragma once
18 
19 #include <cudf/column/column.hpp>
21 #include <cudf/types.hpp>
22 
23 #include <rmm/mr/device/per_device_resource.hpp>
24 #include <rmm/resource_ref.hpp>
25 
26 #include <memory>
27 
28 namespace cudf {
73 std::unique_ptr<table> explode(
74  table_view const& input_table,
75  size_type explode_column_idx,
76  rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
77 
117 std::unique_ptr<table> explode_position(
118  table_view const& input_table,
119  size_type explode_column_idx,
120  rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
121 
159 std::unique_ptr<table> explode_outer(
160  table_view const& input_table,
161  size_type explode_column_idx,
162  rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
163 
203 std::unique_ptr<table> explode_outer_position(
204  table_view const& input_table,
205  size_type explode_column_idx,
206  rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
207  // end of group
209 
210 } // namespace cudf
A set of cudf::column_view's of the same size.
Definition: table_view.hpp:187
Class definition for cudf::column.
std::unique_ptr< table > explode_position(table_view const &input_table, size_type explode_column_idx, rmm::device_async_resource_ref mr=rmm::mr::get_current_device_resource())
Explodes a list column's elements and includes a position column.
std::unique_ptr< table > explode_outer_position(table_view const &input_table, size_type explode_column_idx, rmm::device_async_resource_ref mr=rmm::mr::get_current_device_resource())
Explodes a list column's elements retaining any null entries or empty lists and includes a position c...
std::unique_ptr< table > explode_outer(table_view const &input_table, size_type explode_column_idx, rmm::device_async_resource_ref mr=rmm::mr::get_current_device_resource())
Explodes a list column's elements retaining any null entries or empty lists inside.
std::unique_ptr< table > explode(table_view const &input_table, size_type explode_column_idx, rmm::device_async_resource_ref mr=rmm::mr::get_current_device_resource())
Explodes a list column's elements.
int32_t size_type
Row index type for columns and tables.
Definition: types.hpp:93
cuDF interfaces
Definition: aggregation.hpp:34
Class definitions for (mutable)_table_view
Type declarations for libcudf.