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 781 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 |