libcudf
24.04.00
|
Preprocessed table for use with lexicographical comparison. More...
Public Types | |
using | table_device_view_owner = std::invoke_result_t< decltype(table_device_view::create), table_view, rmm::cuda_stream_view > |
Type of table device view owner for the preprocessed table. | |
Static Public Member Functions | |
static std::shared_ptr< preprocessed_table > | create (table_view const &table, host_span< order const > column_order, host_span< null_order const > null_precedence, rmm::cuda_stream_view stream) |
Preprocess table for use with lexicographical comparison. More... | |
static std::pair< std::shared_ptr< preprocessed_table >, std::shared_ptr< preprocessed_table > > | create (table_view const &lhs, table_view const &rhs, host_span< order const > column_order, host_span< null_order const > null_precedence, rmm::cuda_stream_view stream) |
Preprocess tables for use with lexicographical comparison. More... | |
Friends | |
class | self_comparator |
Allow self_comparator to access private members. | |
class | two_table_comparator |
Allow two_table_comparator to access private members. | |
Preprocessed table for use with lexicographical comparison.
Definition at line 738 of file experimental/row_operators.cuh.
|
static |
Preprocess tables for use with lexicographical comparison.
Sets up the tables for use with lexicographical comparison. The resulting preprocessed tables can be passed to the constructor of lexicographic::self_comparator
or lexicographic::two_table_comparator
to avoid preprocessing again.
This factory function performs some extra operations to guarantee that its output can be used in two_table_comparator
for all cases.
lhs | The lhs table to preprocess |
rhs | The rhs table to preprocess |
column_order | Optional, host array the same length as a row that indicates the desired ascending/descending order of each column in a row. If empty, it is assumed all columns are sorted in ascending order. |
null_precedence | Optional, an array having the same length as the number of columns in the input tables that indicates how null values compare to all other. If it is empty, the order null_order::BEFORE will be used for all columns. |
stream | The stream to launch kernels and h->d copies on while preprocessing |
|
static |
Preprocess table for use with lexicographical comparison.
Sets up the table for use with lexicographical comparison. The resulting preprocessed table can be passed to the constructor of lexicographic::self_comparator
or lexicographic::two_table_comparator
to avoid preprocessing again.
Note that the output of this factory function should not be used in two_table_comparator
if the input table contains lists-of-structs. In such cases, please use the overload preprocessed_table::create(table_view const&, table_view const&,...)
to preprocess both input tables at the same time.
table | The table to preprocess |
column_order | Optional, host array the same length as a row that indicates the desired ascending/descending order of each column in a row. If empty, it is assumed all columns are sorted in ascending order. |
null_precedence | Optional, an array having the same length as the number of columns in the input tables that indicates how null values compare to all other. If it is empty, the order null_order::BEFORE will be used for all columns. |
stream | The stream to launch kernels and h->d copies on while preprocessing |