managing interface for creating and filling point coordinates and attributes into a column based continuous memory buffer More...
#include "IColBufferManagerWrite.hpp"
Inheritance diagram for IColBufferManagerWrite:Public Member Functions | |
| virtual void | setSize (unsigned cols, int64_t rows)=0 |
| initialise row buffers (first function that will be called by GenericConverter::initColBufferManager) | |
| virtual ColumnType::Type | setColumnType (unsigned col, ColumnType::Type colType, const char *colLabel)=0 |
| communicating the column type and label | |
| virtual void * | getColumnBuffer (unsigned col)=0 |
| get the pointer to the corresponding column buffer | |
Public Member Functions inherited from ObjectBase | |
| virtual void | Delete () |
Detailed Description
managing interface for creating and filling point coordinates and attributes into a column based continuous memory buffer
Member Function Documentation
|
pure virtual |
get the pointer to the corresponding column buffer
Will be called after the corresponding setSize and setColumnType calls. It is assumed that the returned pointer shows to an initialised and properly sized memory chunk, that can be filled. Note that null values do not change the corresponding memory byte(s).
|
pure virtual |
communicating the column type and label
This function that will be called (by GenericConverter::initColBufferManager) for each column after the initial setSize function was called. The caller therefore communicates the type and label of each column that will be processed. The function must return the type of the internal columns buffer, which may differ from the provided type. However, only fixed size type are accepted:
| DM::ColumnType | Memory Size and Representation |
|---|---|
| int_ | 4 byte, signed integer |
| uint_ | 4 byte, unsigned integer |
| char_ | 1 byte, integer |
| uchar_ | 1 byte, unsigned integer |
| short_ | 2 byte, integer |
| ushort_ | 2 byte, unsigned integer |
| float_ | 4 byte, real |
| double_ | 8 byte, real |
| llong_ | 8 byte, signed integer |
Its the managers responsibility to create appropriate sized column buffers and that are initialise with appropriate null values, since the subsequent buffer filling doesn't write any null values are the corresponding memory positions.
- Parameters
-
[in] col current column index [in] colType DM type of the column/attribute [in] colLabel label of current column/attribute
- Returns
- element type of internal column buffer
|
pure virtual |
initialise row buffers (first function that will be called by GenericConverter::initColBufferManager)
- Parameters
-
[in] cols number of column buffers that are required [in] rows number of elements each row buffer needs to provide
