Intel® oneAPI Data Analytics Library Developer Guide and Reference
A newer version of this document is available. Customers should click here to go to the newest version.
Tables
This section describes the types related to the table concept.
Type  |  
       Description  |  
      
|---|---|
A common implementation of the table concept. Base class for other table types.  |  
      |
An implementation of table metadata concept.  |  
      |
An enumeration of data layouts used to store contiguous data blocks inside the table.  |  
      |
An enumeration of feature types used in oneDAL to define set of available operations onto the data.  |  
      |
An enumeration of sparse indexing types used in oneDAL to define available formats for sparse table indices.  |  
      
Requirements on table types
Each implementation of table concept:
Follows the definition of the table concept and its restrictions (e.g., immutability).
Is derived from the oneapi::dal::table class. The behavior of this class can be extended, but cannot be weaken.
Defines a unique id number: the “kind” that represents objects of that type in runtime.
The following listing provides an example of table API to illustrate table kinds and copy-assignment operation:
using namespace onedal; // Creating homogen_table sub-type. dal::homogen_table table1 = homogen_table::wrap(queue, data_ptr, row_count, column_count); // table1 and table2 share the same data (no data copy is performed) dal::table table2 = table1; // Creating an empty table dal::table table3; std::cout << table1.get_kind() == table2.get_kind() << std::endl; // true std::cout << homogen_table::kind() == table2.get_kind() << std::endl; // true std::cout << table2.get_kind() == table3.get_kind() << std::endl; // false // Referring table3 to the table2. table3 = table2; std::cout << table2.get_kind() == table3.get_kind() << std::endl; // true
Table types
oneDAL defines a set of classes that implement the table concept for a specific data format:
Table type  |  
        Description  |  
       
|---|---|
A dense table that contains contiguoushomogeneous data.  |  
       |
A sparse table that contains contiguoushomogeneous data stored in a CSR 3-array format.  |  
       
Programming interface
Refer to API: Tables.