Public Types | Static Public Member Functions | Friends | List of all members
cudf::experimental::row::lexicographic::preprocessed_table Struct Reference

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_tablecreate (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.
 

Detailed Description

Preprocessed table for use with lexicographical comparison.

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

Member Function Documentation

◆ create() [1/2]

static std::pair<std::shared_ptr<preprocessed_table>, std::shared_ptr<preprocessed_table> > cudf::experimental::row::lexicographic::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 
)
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.

Parameters
lhsThe lhs table to preprocess
rhsThe rhs table to preprocess
column_orderOptional, 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_precedenceOptional, 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.
streamThe stream to launch kernels and h->d copies on while preprocessing
Returns
A pair of shared pointers to the preprocessed tables

◆ create() [2/2]

static std::shared_ptr<preprocessed_table> cudf::experimental::row::lexicographic::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 
)
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.

Parameters
tableThe table to preprocess
column_orderOptional, 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_precedenceOptional, 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.
streamThe stream to launch kernels and h->d copies on while preprocessing
Returns
A shared pointer to a preprocessed table

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