Metadata stored for every field of an RNTuple.
Definition at line 120 of file RNTupleDescriptor.hxx.
Public Member Functions | |
| RFieldDescriptor ()=default | |
| RFieldDescriptor (const RFieldDescriptor &other)=delete | |
| RFieldDescriptor (RFieldDescriptor &&other)=default | |
| RFieldDescriptor | Clone () const |
| Get a copy of the descriptor. | |
| std::unique_ptr< ROOT::RFieldBase > | CreateField (const RNTupleDescriptor &ntplDesc, const ROOT::RCreateFieldOptions &options={}) const |
| In general, we create a field simply from the C++ type name. | |
| std::uint32_t | GetColumnCardinality () const |
| const std::string & | GetFieldDescription () const |
| const std::string & | GetFieldName () const |
| std::uint32_t | GetFieldVersion () const |
| ROOT::DescriptorId_t | GetId () const |
| const std::vector< ROOT::DescriptorId_t > & | GetLinkIds () const |
| const std::vector< ROOT::DescriptorId_t > & | GetLogicalColumnIds () const |
| std::uint64_t | GetNRepetitions () const |
| ROOT::DescriptorId_t | GetParentId () const |
| ROOT::DescriptorId_t | GetProjectionSourceId () const |
| ROOT::ENTupleStructure | GetStructure () const |
| const std::string & | GetTypeAlias () const |
| std::optional< std::uint32_t > | GetTypeChecksum () const |
| const std::string & | GetTypeName () const |
| std::uint32_t | GetTypeVersion () const |
| bool | IsProjectedField () const |
| bool | IsSoACollection () const |
| RFieldDescriptor & | operator= (const RFieldDescriptor &other)=delete |
| RFieldDescriptor & | operator= (RFieldDescriptor &&other)=default |
| bool | operator== (const RFieldDescriptor &other) const |
Private Attributes | |
| std::uint32_t | fColumnCardinality = 0 |
| The number of columns in the column representations of the field. | |
| std::string | fFieldDescription |
| Free text set by the user. | |
| ROOT::DescriptorId_t | fFieldId = ROOT::kInvalidDescriptorId |
| std::string | fFieldName |
| The leaf name, not including parent fields. | |
| std::uint32_t | fFieldVersion = 0 |
| The version of the C++-type-to-column translation mechanics. | |
| bool | fIsSoACollection = false |
| Indicates if this is a collection that should be represented in memory by a SoA layout. | |
| std::vector< ROOT::DescriptorId_t > | fLinkIds |
| The pointers in the other direction from parent to children. | |
| std::vector< ROOT::DescriptorId_t > | fLogicalColumnIds |
| The ordered list of columns attached to this field: first by representation index then by column index. | |
| std::uint64_t | fNRepetitions = 0 |
| The number of elements per entry for fixed-size arrays. | |
| ROOT::DescriptorId_t | fParentId = ROOT::kInvalidDescriptorId |
| Establishes sub field relationships, such as classes and collections. | |
| ROOT::DescriptorId_t | fProjectionSourceId = ROOT::kInvalidDescriptorId |
| For projected fields, the source field ID. | |
| ROOT::ENTupleStructure | fStructure = ROOT::ENTupleStructure::kInvalid |
| The structural information carried by this field in the data model tree. | |
| std::string | fTypeAlias |
| A typedef or using directive that resolved to the type name during field creation. | |
| std::optional< std::uint32_t > | fTypeChecksum |
| For custom classes, we store the ROOT TClass reported checksum to facilitate the use of I/O rules that identify types by their checksum. | |
| std::string | fTypeName |
| The C++ type that was used when writing the field. | |
| std::uint32_t | fTypeVersion = 0 |
| The version of the C++ type itself. | |
Friends | |
| class | Internal::RFieldDescriptorBuilder |
| class | Internal::RNTupleDescriptorBuilder |
|
default |
|
delete |
|
default |
| ROOT::RFieldDescriptor ROOT::RFieldDescriptor::Clone | ( | ) | const |
Get a copy of the descriptor.
Definition at line 48 of file RNTupleDescriptor.cxx.
| std::unique_ptr< ROOT::RFieldBase > ROOT::RFieldDescriptor::CreateField | ( | const RNTupleDescriptor & | ntplDesc, |
| const ROOT::RCreateFieldOptions & | options = {} ) const |
In general, we create a field simply from the C++ type name.
For untyped fields, however, we potentially need access to sub fields, which is provided by the RNTupleDescriptor argument.
Definition at line 71 of file RNTupleDescriptor.cxx.
|
inline |
Definition at line 190 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 181 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 180 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 178 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 177 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 188 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 189 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 184 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 186 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 187 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 185 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 183 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 191 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 182 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 179 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 192 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 193 of file RNTupleDescriptor.hxx.
|
delete |
|
default |
| bool ROOT::RFieldDescriptor::operator== | ( | const RFieldDescriptor & | other | ) | const |
Definition at line 37 of file RNTupleDescriptor.cxx.
|
friend |
Definition at line 122 of file RNTupleDescriptor.hxx.
|
friend |
Definition at line 121 of file RNTupleDescriptor.hxx.
|
private |
The number of columns in the column representations of the field.
The column cardinality helps to navigate the list of logical column ids. For example, the second column of the third column representation is fLogicalColumnIds[2 * fColumnCardinality + 1]
Definition at line 152 of file RNTupleDescriptor.hxx.
|
private |
Free text set by the user.
Definition at line 133 of file RNTupleDescriptor.hxx.
|
private |
Definition at line 125 of file RNTupleDescriptor.hxx.
|
private |
The leaf name, not including parent fields.
Definition at line 131 of file RNTupleDescriptor.hxx.
|
private |
The version of the C++-type-to-column translation mechanics.
Definition at line 127 of file RNTupleDescriptor.hxx.
|
private |
Indicates if this is a collection that should be represented in memory by a SoA layout.
Definition at line 159 of file RNTupleDescriptor.hxx.
|
private |
The pointers in the other direction from parent to children.
They are serialized, too, to keep the order of sub fields.
Definition at line 148 of file RNTupleDescriptor.hxx.
|
private |
The ordered list of columns attached to this field: first by representation index then by column index.
Definition at line 154 of file RNTupleDescriptor.hxx.
|
private |
The number of elements per entry for fixed-size arrays.
Definition at line 139 of file RNTupleDescriptor.hxx.
|
private |
Establishes sub field relationships, such as classes and collections.
Definition at line 143 of file RNTupleDescriptor.hxx.
|
private |
For projected fields, the source field ID.
Definition at line 145 of file RNTupleDescriptor.hxx.
|
private |
The structural information carried by this field in the data model tree.
Definition at line 141 of file RNTupleDescriptor.hxx.
|
private |
A typedef or using directive that resolved to the type name during field creation.
Definition at line 137 of file RNTupleDescriptor.hxx.
|
private |
For custom classes, we store the ROOT TClass reported checksum to facilitate the use of I/O rules that identify types by their checksum.
Definition at line 157 of file RNTupleDescriptor.hxx.
|
private |
The C++ type that was used when writing the field.
Definition at line 135 of file RNTupleDescriptor.hxx.
|
private |
The version of the C++ type itself.
Definition at line 129 of file RNTupleDescriptor.hxx.