Accessors

This section defines requirements to an accessor implementation and introduces several accessor types.

Requirements

Each accessor implementation shall:

  1. Define a single format of the data for the access. Every accessor type shall return and use only one data format.

  2. Provide read-only access to the data in the table types.

  3. Provide the pull() method for obtaining the values from the table.

  4. Be lightweight. Its constructors shall not have computationally intensive operations such data copy, reading, or conversion. These operations shall be performed by method pull(). Support of copy- and move- constructors by the accessor is not required since it shall be designed for use in a local scope - directly in a place when it is created.

  5. The pull() method shall avoid data copy and conversion when it is possible to return the pointer to the memory block in the table. This is applicable for cases such as when the data format and data types of the data within the table are the same as the data format and data type for the access.

Accessor Types

oneDAL defines a set of accessor classes. Each class supports one specific way of obtaining data from the table.

All accessor classes in oneDAL are listed below:

Accessor type

Description

List of supported types

row accessor

Provides access to the range of rows as one contiguous homogeneous block of memory.

homogen table

column accessor

Provides access to the range of values within a single column as one contiguous homogeneous block of memory.

homogen table