A helper class for piece-wise construction of an RFieldDescriptor.
Dangling field descriptors describe a single field in isolation. They are missing the necessary relationship information (parent field, any child fields) required to describe a real NTuple field.
Dangling field descriptors can only become actual descriptors when added to an RNTupleDescriptorBuilder instance and then linked to other fields.
Definition at line 671 of file RNTupleDescriptor.hxx.
Public Member Functions | |
RFieldDescriptorBuilder ()=default | |
Make an empty dangling field descriptor. | |
RFieldDescriptorBuilder (const RFieldDescriptor &fieldDesc) | |
Make a new RFieldDescriptorBuilder based off an existing descriptor. | |
RFieldDescriptorBuilder & | FieldDescription (const std::string &fieldDescription) |
RFieldDescriptorBuilder & | FieldId (DescriptorId_t fieldId) |
RFieldDescriptorBuilder & | FieldName (const std::string &fieldName) |
RFieldDescriptorBuilder & | FieldVersion (const RNTupleVersion &fieldVersion) |
DescriptorId_t | GetParentId () const |
RResult< RFieldDescriptor > | MakeDescriptor () const |
Attempt to make a field descriptor. | |
RFieldDescriptorBuilder & | NRepetitions (std::uint64_t nRepetitions) |
RFieldDescriptorBuilder & | ParentId (DescriptorId_t id) |
RFieldDescriptorBuilder & | Structure (const ENTupleStructure &structure) |
RFieldDescriptorBuilder & | TypeName (const std::string &typeName) |
RFieldDescriptorBuilder & | TypeVersion (const RNTupleVersion &typeVersion) |
Static Public Member Functions | |
static RFieldDescriptorBuilder | FromField (const Detail::RFieldBase &field) |
Make a new RFieldDescriptorBuilder based off a live NTuple field. | |
Private Attributes | |
RFieldDescriptor | fField = RFieldDescriptor() |
#include <ROOT/RNTupleDescriptor.hxx>
|
default |
Make an empty dangling field descriptor.
|
explicit |
Make a new RFieldDescriptorBuilder based off an existing descriptor.
Relationship information is lost during the conversion to a dangling descriptor:
These properties must be set using RNTupleDescriptorBuilder::AddFieldLink().
Definition at line 986 of file RNTupleDescriptor.cxx.
|
inline |
Definition at line 709 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 689 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 705 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 693 of file RNTupleDescriptor.hxx.
|
static |
Make a new RFieldDescriptorBuilder based off a live NTuple field.
Definition at line 994 of file RNTupleDescriptor.cxx.
|
inline |
Definition at line 725 of file RNTupleDescriptor.hxx.
ROOT::Experimental::RResult< ROOT::Experimental::RFieldDescriptor > ROOT::Experimental::RFieldDescriptorBuilder::MakeDescriptor | ( | ) | const |
Attempt to make a field descriptor.
This may fail if the dangling field was not given enough information to make a proper descriptor.
Definition at line 1007 of file RNTupleDescriptor.cxx.
|
inline |
Definition at line 717 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 701 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 721 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 713 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 697 of file RNTupleDescriptor.hxx.
|
private |
Definition at line 673 of file RNTupleDescriptor.hxx.