set_operations.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2022-2024, NVIDIA CORPORATION.
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 
6 #pragma once
7 
8 #include <cudf/column/column.hpp>
10 #include <cudf/types.hpp>
12 
14 
15 namespace CUDF_EXPORT cudf {
16 namespace lists {
50 std::unique_ptr<column> have_overlap(
51  lists_column_view const& lhs,
52  lists_column_view const& rhs,
53  null_equality nulls_equal = null_equality::EQUAL,
54  nan_equality nans_equal = nan_equality::ALL_EQUAL,
57 
87 std::unique_ptr<column> intersect_distinct(
88  lists_column_view const& lhs,
89  lists_column_view const& rhs,
90  null_equality nulls_equal = null_equality::EQUAL,
91  nan_equality nans_equal = nan_equality::ALL_EQUAL,
94 
124 std::unique_ptr<column> union_distinct(
125  lists_column_view const& lhs,
126  lists_column_view const& rhs,
127  null_equality nulls_equal = null_equality::EQUAL,
128  nan_equality nans_equal = nan_equality::ALL_EQUAL,
131 
161 std::unique_ptr<column> difference_distinct(
162  lists_column_view const& lhs,
163  lists_column_view const& rhs,
164  null_equality nulls_equal = null_equality::EQUAL,
165  nan_equality nans_equal = nan_equality::ALL_EQUAL,
168  // end of group
170 } // namespace lists
171 } // namespace CUDF_EXPORT cudf
Given a column-view of lists type, an instance of this class provides a wrapper on this compound colu...
Class definition for cudf::column.
rmm::cuda_stream_view const get_default_stream()
Get the current default stream.
rmm::device_async_resource_ref get_current_device_resource_ref()
Get the current device memory resource reference.
detail::cccl_async_resource_ref< cuda::mr::resource_ref< cuda::mr::device_accessible > > device_async_resource_ref
std::unique_ptr< column > difference_distinct(lists_column_view const &lhs, lists_column_view const &rhs, null_equality nulls_equal=null_equality::EQUAL, nan_equality nans_equal=nan_equality::ALL_EQUAL, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
Create a lists column of distinct elements found only in the left input column.
std::unique_ptr< column > intersect_distinct(lists_column_view const &lhs, lists_column_view const &rhs, null_equality nulls_equal=null_equality::EQUAL, nan_equality nans_equal=nan_equality::ALL_EQUAL, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
Create a lists column of distinct elements common to two input lists columns.
std::unique_ptr< column > union_distinct(lists_column_view const &lhs, lists_column_view const &rhs, null_equality nulls_equal=null_equality::EQUAL, nan_equality nans_equal=nan_equality::ALL_EQUAL, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
Create a lists column of distinct elements found in either of two input lists columns.
std::unique_ptr< column > have_overlap(lists_column_view const &lhs, lists_column_view const &rhs, null_equality nulls_equal=null_equality::EQUAL, nan_equality nans_equal=nan_equality::ALL_EQUAL, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
Check if lists at each row of the given lists columns overlap.
null_equality
Enum to consider two nulls as equal or unequal.
Definition: types.hpp:140
nan_equality
Enum to consider different elements (of floating point types) holding NaN value as equal or unequal.
Definition: types.hpp:132
Class definition for cudf::lists_column_view.
cuDF interfaces
Definition: host_udf.hpp:26
Type declarations for libcudf.