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 
22 
23 namespace cudf {
24 namespace lists {
48 std::unique_ptr<column> contains(
49  cudf::lists_column_view const& lists,
50  cudf::scalar const& search_key,
51  rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());
52 
70 std::unique_ptr<column> contains(
71  cudf::lists_column_view const& lists,
72  cudf::column_view const& search_keys,
73  rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());
74 
91 std::unique_ptr<column> contains_nulls(
92  cudf::lists_column_view const& lists,
93  rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());
94 
99 enum class duplicate_find_option : int32_t {
100  FIND_FIRST = 0,
101  FIND_LAST
102 };
103 
131 std::unique_ptr<column> index_of(
132  cudf::lists_column_view const& lists,
133  cudf::scalar const& search_key,
134  duplicate_find_option find_option = duplicate_find_option::FIND_FIRST,
135  rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());
136 
166 std::unique_ptr<column> index_of(
167  cudf::lists_column_view const& lists,
168  cudf::column_view const& search_keys,
169  duplicate_find_option find_option = duplicate_find_option::FIND_FIRST,
170  rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());
171  // end of group
173 } // namespace lists
174 } // namespace cudf
per_device_resource.hpp
cudf::lists::contains_nulls
std::unique_ptr< column > contains_nulls(cudf::lists_column_view const &lists, 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 ...
cudf::lists::duplicate_find_option::FIND_FIRST
@ FIND_FIRST
Finds first instance of a search key in a list row.
column.hpp
Class definition for cudf::column.
cudf::column_view
A non-owning, immutable view of device data as a column of elements, some of which may be null as ind...
Definition: column_view.hpp:313
cudf::lists::index_of
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::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...
cudf::scalar
An owning class to represent a singular value.
Definition: scalar.hpp:48
cudf
cuDF interfaces
Definition: aggregation.hpp:34
cudf::lists_column_view
Given a column-view of lists type, an instance of this class provides a wrapper on this compound colu...
Definition: lists_column_view.hpp:39
cudf::lists::contains
std::unique_ptr< column > contains(cudf::lists_column_view const &lists, cudf::scalar const &search_key, 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...
cudf::lists::duplicate_find_option
duplicate_find_option
Option to choose whether index_of() returns the first or last match of a search key in a list row.
Definition: lists/contains.hpp:99
rmm::mr::device_memory_resource
lists_column_view.hpp
Class definition for cudf::lists_column_view.