libcudf  24.04.00
lists/contains.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021-2023, 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 
23 namespace cudf {
24 namespace lists {
49 std::unique_ptr<column> contains(
50  cudf::lists_column_view const& lists,
51  cudf::scalar const& search_key,
52  rmm::cuda_stream_view stream = cudf::get_default_stream(),
53  rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());
54 
73 std::unique_ptr<column> contains(
74  cudf::lists_column_view const& lists,
75  cudf::column_view const& search_keys,
76  rmm::cuda_stream_view stream = cudf::get_default_stream(),
77  rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());
78 
96 std::unique_ptr<column> contains_nulls(
97  cudf::lists_column_view const& lists,
98  rmm::cuda_stream_view stream = cudf::get_default_stream(),
99  rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());
100 
105 enum class duplicate_find_option : int32_t {
106  FIND_FIRST = 0,
107  FIND_LAST
108 };
109 
138 std::unique_ptr<column> index_of(
139  cudf::lists_column_view const& lists,
140  cudf::scalar const& search_key,
142  rmm::cuda_stream_view stream = cudf::get_default_stream(),
143  rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());
144 
175 std::unique_ptr<column> index_of(
176  cudf::lists_column_view const& lists,
177  cudf::column_view const& search_keys,
179  rmm::cuda_stream_view stream = cudf::get_default_stream(),
180  rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());
181  // end of group
183 } // namespace lists
184 } // 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:48
Class definition for cudf::column.
rmm::cuda_stream_view const get_default_stream()
Get the current default stream.
std::unique_ptr< column > contains_nulls(cudf::lists_column_view const &lists, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *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 > contains(cudf::lists_column_view const &lists, cudf::scalar const &search_key, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *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 > 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::mr::device_memory_resource *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