Tables¶
Refer to Developer Guide: Tables.
Programming interface¶
All types and functions in this section are declared in the
oneapi::dal
namespace and be available via inclusion of the
oneapi/dal/table/common.hpp
header file.
Table¶
A base implementation of the table concept.
The table
type and all of its subtypes are reference-counted:
The instance stores a pointer to table implementation that holds all property values and data
The reference count indicating how many table objects refer to the same implementation.
The table increments the reference count for it to be equal to the number of table objects sharing the same implementation.
The table decrements the reference count when the table goes out of the scope. If the reference count is zero, the table frees its implementation.
-
class table¶
Constructors
-
table()¶
An empty table constructor: creates the table instance with zero number of rows and columns.
-
table(const table&) = default¶
Creates a new table instance that shares the implementation with another one.
Public Methods
-
bool has_data() const noexcept¶
Indicates whether a table contains non-zero number of rows and columns.
-
std::int64_t get_column_count() const¶
The number of columns in the table.
-
std::int64_t get_row_count() const¶
The number of rows in the table.
-
const table_metadata &get_metadata() const¶
The metadata object that holds additional information about the data within the table.
-
std::int64_t get_kind() const¶
The runtime id of the table type. Each table sub-type has its unique kind. An empty table has a unique kind value as well.
-
data_layout get_data_layout() const¶
The layout of the data within the table.
-
table()¶
Table metadata¶
An implementation of the table metadata concept. Holds additional
information about data within the table. The objects of table_metadata
are reference-counted.
-
class table_metadata¶
Constructors
-
table_metadata()¶
Creates the metadata instance without information about the features. The
feature_count
should be set to zero. Thedata_type
andfeature_type
properties should not be initialized.
-
table_metadata(const dal::array<data_type> &dtypes, const dal::array<feature_type> &ftypes)¶
Creates the metadata instance from external information about the data types and the feature types.
- Parameters
dtypes – The data types of the features. Assigned into the
data_type
property.ftypes – The feature types. Assigned into the
feature_type
property.
- Preconditions
Public Methods
-
std::int64_t get_feature_count() const¶
The number of features that metadata contains information about.
-
const feature_type &get_feature_type(std::int64_t feature_index) const¶
Feature types in the metadata object. Should be within the range [0, feature_count).
-
const data_type &get_data_type(std::int64_t feature_index) const¶
Data types of the features in the metadata object. Should be within the range [0, feature_count).
-
table_metadata()¶
Data layout¶
An implementation of the data layout concept.
enum class data_layout { unknown, row_major, column_major };
data_layout::unknown
Represents the data layout that is undefined or unknown at this moment.
data_layout::row_major
The data block elements are stored in raw-major layout.
data_layout::column_major
The data block elements are stored in column_major layout.
Feature type¶
An implementation of the logical data types.
enum class feature_type { nominal, ordinal, interval, ratio };
feature_type::nominal
Represents the type of Nominal feature.
feature_type::ordinal
Represents the type of Ordinal feature.
feature_type::interval
Represents the type of Interval feature.
feature_type::ratio
Represents the type of Ratio feature.
Sparse Indexing¶
An implementation of the sparse indexing formats.
enum class sparse_indexing { zero_based, one_based };
sparse_indexing::zero_based
The indices of the sparse table are stored in zero-based format.
sparse_indexing::one_based
The indices of the sparse table are stored in one-based format.