![]() |
ATLAS Offline Software
|
the header information for a single element in the columnar data vector More...
#include <ColumnVectorWrapper.h>
Public Attributes | |
std::string | debugName |
the name of the column to use in messages More... | |
const std::type_info * | type = nullptr |
the type to use for the column More... | |
bool | isOptional = true |
whether this column is optional More... | |
bool | readOnly = true |
whether this column will only be used for read access More... | |
bool | isOffset = false |
whether this is an offset column More... | |
unsigned | arraySize = 1u |
the total size of all inner array dimensions More... | |
std::size_t | offsetIndex = 0u |
the index of the offset column (or nullIndex for none) More... | |
the header information for a single element in the columnar data vector
This is a stripped-down and slightly reworked version of ColumnInfo
that can be used internally for checking interactions with the data vector from the tool wrapper.
Definition at line 29 of file ColumnVectorWrapper.h.
unsigned columnar::ColumnVectorElementHeader::arraySize = 1u |
the total size of all inner array dimensions
This is 1 for most columns, but some columns contain an array of values. In that case this is the product of all array dimensions, and is used for size checks.
Definition at line 75 of file ColumnVectorWrapper.h.
std::string columnar::ColumnVectorElementHeader::debugName |
the name of the column to use in messages
This is not used for any actual processing, but is used if I want to print debug or error messages. It is a bit complicated because the same name can refer to different columns in different contexts, and a column could also have a different name in different contexts. However, I do need a way to refer to a column, so I have to put something here. Please do not rely on the exact name being stable. In the future I may also replace it with a list of names (or similar) to give me more options.
Definition at line 42 of file ColumnVectorWrapper.h.
bool columnar::ColumnVectorElementHeader::isOffset = false |
whether this is an offset column
If this is true it means other columns can use this for their offsets. It also means that the column should have an extra entry at the end to hold the total number of entries in columns using this as an offset. It also implies that the type ought to be ColumnarOffsetType
.
Definition at line 67 of file ColumnVectorWrapper.h.
bool columnar::ColumnVectorElementHeader::isOptional = true |
whether this column is optional
Definition at line 50 of file ColumnVectorWrapper.h.
std::size_t columnar::ColumnVectorElementHeader::offsetIndex = 0u |
the index of the offset column (or nullIndex
for none)
Most columns do have an offset column, which is usually the offset column for their container. This is used to check that the size of the column matches the size of the offset column.
Definition at line 84 of file ColumnVectorWrapper.h.
bool columnar::ColumnVectorElementHeader::readOnly = true |
whether this column will only be used for read access
If this is true, it can be set from a const
pointer, and can only be retrieved as a const
pointer.
Definition at line 57 of file ColumnVectorWrapper.h.
const std::type_info* columnar::ColumnVectorElementHeader::type = nullptr |
the type to use for the column
Definition at line 46 of file ColumnVectorWrapper.h.