Some fields have multiple possible column representations, e.g.
with or without split encoding. All column representations supported for writing also need to be supported for reading. In addition, fields can support extra column representations for reading only, e.g. a 64bit integer reading from a 32bit column. The defined column representations must be supported by corresponding column packing/unpacking implementations, i.e. for the example above, the unpacking of 32bit ints to 64bit pages must be implemented in RColumnElement.hxx
Definition at line 145 of file RFieldBase.hxx.
Public Types | |
using | Selection_t = std::vector< ColumnRepresentation_t > |
A list of column representations. | |
Public Member Functions | |
RColumnRepresentations () | |
RColumnRepresentations (const Selection_t &serializationTypes, const Selection_t &deserializationExtraTypes) | |
const Selection_t & | GetDeserializationTypes () const |
const ColumnRepresentation_t & | GetSerializationDefault () const |
The first column list from fSerializationTypes is the default for writing. | |
const Selection_t & | GetSerializationTypes () const |
Private Attributes | |
Selection_t | fDeserializationTypes |
The union of the serialization types and the deserialization extra types. | |
Selection_t | fSerializationTypes |
#include <ROOT/RFieldBase.hxx>
using ROOT::Experimental::RFieldBase::RColumnRepresentations::Selection_t = std::vector<ColumnRepresentation_t> |
A list of column representations.
Definition at line 148 of file RFieldBase.hxx.
ROOT::Experimental::RFieldBase::RColumnRepresentations::RColumnRepresentations | ( | ) |
Definition at line 102 of file RFieldBase.cxx.
ROOT::Experimental::RFieldBase::RColumnRepresentations::RColumnRepresentations | ( | const Selection_t & | serializationTypes, |
const Selection_t & | deserializationExtraTypes | ||
) |
Definition at line 109 of file RFieldBase.cxx.
|
inline |
Definition at line 156 of file RFieldBase.hxx.
|
inline |
The first column list from fSerializationTypes is the default for writing.
Definition at line 154 of file RFieldBase.hxx.
|
inline |
Definition at line 155 of file RFieldBase.hxx.
|
private |
The union of the serialization types and the deserialization extra types.
Duplicates the serialization types list but the benenfit is that GetDeserializationTypes does not need to compile the list.
Definition at line 162 of file RFieldBase.hxx.
|
private |
Definition at line 159 of file RFieldBase.hxx.