lists/contains.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 #pragma once
17 
18 #include <cudf/column/column.hpp>
20 
21 #include <rmm/mr/device/per_device_resource.hpp>
22 #include <rmm/resource_ref.hpp>
23 
24 namespace cudf {
25 namespace lists {
50 std::unique_ptr<column> contains(
51  cudf::lists_column_view const& lists,
52  cudf::scalar const& search_key,
53  rmm::cuda_stream_view stream = cudf::get_default_stream(),
54  rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
55 
74 std::unique_ptr<column> contains(
75  cudf::lists_column_view const& lists,
76  cudf::column_view const& search_keys,
77  rmm::cuda_stream_view stream = cudf::get_default_stream(),
78  rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
79 
97 std::unique_ptr<column> contains_nulls(
98  cudf::lists_column_view const& lists,
99  rmm::cuda_stream_view stream = cudf::get_default_stream(),
100  rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
101 
106 enum class duplicate_find_option : int32_t {
107  FIND_FIRST = 0,
108  FIND_LAST
109 };
110 
139 std::unique_ptr<column> index_of(
140  cudf::lists_column_view const& lists,
141  cudf::scalar const& search_key,
143  rmm::cuda_stream_view stream = cudf::get_default_stream(),
144  rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
145 
176 std::unique_ptr<column> index_of(
177  cudf::lists_column_view const& lists,
178  cudf::column_view const& search_keys,
180  rmm::cuda_stream_view stream = cudf::get_default_stream(),
181  rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
182  // end of group
184 } // namespace lists
185 } // namespace cudf
A non-owning, immutable view of device data as a column of elements, some of which may be null as ind...
Given a column-view of lists type, an instance of this class provides a wrapper on this compound colu...
An owning class to represent a singular value.
Definition: scalar.hpp:49
Class definition for cudf::column.
rmm::cuda_stream_view const get_default_stream()
Get the current default stream.
std::unique_ptr< column > contains(cudf::lists_column_view const &lists, cudf::scalar const &search_key, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=rmm::mr::get_current_device_resource())
Create a column of bool values indicating whether the specified scalar is an element of each row of a...
std::unique_ptr< column > contains_nulls(cudf::lists_column_view const &lists, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=rmm::mr::get_current_device_resource())
Create a column of bool values indicating whether each row in the lists column contains at least one ...
duplicate_find_option
Option to choose whether index_of() returns the first or last match of a search key in a list row.
std::unique_ptr< column > index_of(cudf::lists_column_view const &lists, cudf::scalar const &search_key, duplicate_find_option find_option=duplicate_find_option::FIND_FIRST, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=rmm::mr::get_current_device_resource())
Create a column of values indicating the position of a search key within each list row in the lists c...
@ FIND_FIRST
Finds first instance of a search key in a list row.
@ FIND_LAST
Finds last instance of a search key in a list row.
Class definition for cudf::lists_column_view.
cuDF interfaces
Definition: aggregation.hpp:34