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.
- classtable
- Constructors
- table()
- An empty table constructor: creates the table instance with zero number of rows and columns.
- Creates a new table instance that shares the implementation with another one.
- table(table&&)
- Creates a new table instance and moves implementation from another one into it.
Public Methods- boolhas_data()constnoexcept
- Indicates whether a table contains non-zero number of rows and columns.
- std::int64_tget_column_count()const
- The number of columns in the table.
- std::int64_tget_row_count()const
- The number of rows in the table.
- The metadata object that holds additional information about the data within the table.
- std::int64_tget_kind()const
- The runtime id of the table type. Each table sub-type has its uniquekind. An empty table has a uniquekindvalue as well.
- data_layoutget_data_layout()const
- The layout of the data within the 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.- classtable_metadata
- Constructors
- table_metadata()
- Creates the metadata instance without information about the features. Thefeature_countshould be set to zero. Thedata_typeandfeature_typeproperties should not be initialized.
- 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 thedata_typeproperty.
- ftypes– The feature types. Assigned into thefeature_typeproperty.
- Preconditions
dtypes.get_count() == ftypes.get_count()
Public Methods- std::int64_tget_feature_count()const
- The number of features that metadata contains information about.
- constfeature_type &get_feature_type(std::int64_tfeature_index)const
- Feature types in the metadata object. Should be within the range[0, feature_count).
- constdata_type &get_data_type(std::int64_tfeature_index)const
- Data types of the features in the metadata object. Should be within the range[0, feature_count).
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.