Public Member Functions | List of all members
cudf::experimental::row::equality::self_comparator Class Reference

Comparator for performing equality comparisons between two rows of the same table. More...

Public Member Functions

 self_comparator (table_view const &t, rmm::cuda_stream_view stream)
 Construct an owning object for performing equality comparisons between two rows of the same table. More...
 
 self_comparator (std::shared_ptr< preprocessed_table > t)
 Construct an owning object for performing equality comparisons between two rows of the same table. More...
 
template<bool has_nested_columns, typename Nullate , typename PhysicalEqualityComparator = nan_equal_physical_equality_comparator>
auto equal_to (Nullate nullate={}, null_equality nulls_are_equal=null_equality::EQUAL, PhysicalEqualityComparator comparator={}) const noexcept
 Get the comparison operator to use on the device. More...
 

Detailed Description

Comparator for performing equality comparisons between two rows of the same table.

Definition at line 1608 of file experimental/row_operators.cuh.

Constructor & Destructor Documentation

◆ self_comparator() [1/2]

cudf::experimental::row::equality::self_comparator::self_comparator ( table_view const &  t,
rmm::cuda_stream_view  stream 
)
inline

Construct an owning object for performing equality comparisons between two rows of the same table.

Parameters
tThe table to compare
streamThe stream to construct this object on. Not the stream that will be used for comparisons using this object.

Definition at line 1618 of file experimental/row_operators.cuh.

◆ self_comparator() [2/2]

cudf::experimental::row::equality::self_comparator::self_comparator ( std::shared_ptr< preprocessed_table t)
inline

Construct an owning object for performing equality comparisons between two rows of the same table.

This constructor allows independently constructing a preprocessed_table and sharing it among multiple comparators.

Parameters
tA table preprocessed for equality comparison

Definition at line 1632 of file experimental/row_operators.cuh.

Member Function Documentation

◆ equal_to()

template<bool has_nested_columns, typename Nullate , typename PhysicalEqualityComparator = nan_equal_physical_equality_comparator>
auto cudf::experimental::row::equality::self_comparator::equal_to ( Nullate  nullate = {},
null_equality  nulls_are_equal = null_equality::EQUAL,
PhysicalEqualityComparator  comparator = {} 
) const
inlinenoexcept

Get the comparison operator to use on the device.

Returns a binary callable, F, with signature bool F(size_type, size_type).

F(i,j) returns true if and only if row i compares equal to row j.

Note
The operator overloads in sub-class element_comparator are templated via the type_dispatcher to help select an overload instance for each column in a table. So, cudf::is_nested<Element> will return true if the table has nested-type columns, but it will be a runtime error if template parameter has_nested_columns != true.
Template Parameters
has_nested_columnscompile-time optimization for primitive types. This template parameter is to be used by the developer by querying cudf::has_nested_columns(input). true compiles operator overloads for nested types, while false only compiles operator overloads for primitive types.
NullateA cudf::nullate type describing whether to check for nulls.
PhysicalEqualityComparatorA equality comparator functor that compares individual values rather than logical elements, defaults to a comparator for which NaN == NaN.
Parameters
nullateIndicates if any input column contains nulls.
nulls_are_equalIndicates if nulls are equal.
comparatorPhysical element equality comparison functor.
Returns
A binary callable object

Definition at line 1662 of file experimental/row_operators.cuh.


The documentation for this class was generated from the following file: