Logo ROOT  
Reference Guide
No Matches
ROOT::Experimental::Internal::RFieldDescriptorBuilder Class Reference

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 879 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.
RFieldDescriptorBuilderFieldDescription (const std::string &fieldDescription)
RFieldDescriptorBuilderFieldId (DescriptorId_t fieldId)
RFieldDescriptorBuilderFieldName (const std::string &fieldName)
RFieldDescriptorBuilderFieldVersion (std::uint32_t fieldVersion)
DescriptorId_t GetParentId () const
RResult< RFieldDescriptorMakeDescriptor () const
 Attempt to make a field descriptor.
RFieldDescriptorBuilderNRepetitions (std::uint64_t nRepetitions)
RFieldDescriptorBuilderParentId (DescriptorId_t id)
RFieldDescriptorBuilderStructure (const ENTupleStructure &structure)
RFieldDescriptorBuilderTypeAlias (const std::string &typeAlias)
RFieldDescriptorBuilderTypeName (const std::string &typeName)
RFieldDescriptorBuilderTypeVersion (std::uint32_t typeVersion)

Static Public Member Functions

static RFieldDescriptorBuilder FromField (const RFieldBase &field)
 Make a new RFieldDescriptorBuilder based off a live NTuple field.

Private Attributes

RFieldDescriptor fField = RFieldDescriptor()

#include <ROOT/RNTupleDescriptor.hxx>

Constructor & Destructor Documentation

◆ RFieldDescriptorBuilder() [1/2]

ROOT::Experimental::Internal::RFieldDescriptorBuilder::RFieldDescriptorBuilder ( )

Make an empty dangling field descriptor.

◆ RFieldDescriptorBuilder() [2/2]

ROOT::Experimental::Internal::RFieldDescriptorBuilder::RFieldDescriptorBuilder ( const RFieldDescriptor fieldDesc)

Make a new RFieldDescriptorBuilder based off an existing descriptor.

Relationship information is lost during the conversion to a dangling descriptor:

  • Parent id is reset to an invalid id.
  • Field children ids are forgotten.

These properties must be set using RNTupleDescriptorBuilder::AddFieldLink().

Definition at line 722 of file RNTupleDescriptor.cxx.

Member Function Documentation

◆ FieldDescription()

RFieldDescriptorBuilder & ROOT::Experimental::Internal::RFieldDescriptorBuilder::FieldDescription ( const std::string &  fieldDescription)

Definition at line 919 of file RNTupleDescriptor.hxx.

◆ FieldId()

RFieldDescriptorBuilder & ROOT::Experimental::Internal::RFieldDescriptorBuilder::FieldId ( DescriptorId_t  fieldId)

Definition at line 897 of file RNTupleDescriptor.hxx.

◆ FieldName()

RFieldDescriptorBuilder & ROOT::Experimental::Internal::RFieldDescriptorBuilder::FieldName ( const std::string &  fieldName)

Definition at line 915 of file RNTupleDescriptor.hxx.

◆ FieldVersion()

RFieldDescriptorBuilder & ROOT::Experimental::Internal::RFieldDescriptorBuilder::FieldVersion ( std::uint32_t  fieldVersion)

Definition at line 901 of file RNTupleDescriptor.hxx.

◆ FromField()

ROOT::Experimental::Internal::RFieldDescriptorBuilder ROOT::Experimental::Internal::RFieldDescriptorBuilder::FromField ( const RFieldBase field)

Make a new RFieldDescriptorBuilder based off a live NTuple field.

Definition at line 730 of file RNTupleDescriptor.cxx.

◆ GetParentId()

DescriptorId_t ROOT::Experimental::Internal::RFieldDescriptorBuilder::GetParentId ( ) const

Definition at line 940 of file RNTupleDescriptor.hxx.

◆ MakeDescriptor()

ROOT::Experimental::RResult< ROOT::Experimental::RFieldDescriptor > ROOT::Experimental::Internal::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 745 of file RNTupleDescriptor.cxx.

◆ NRepetitions()

RFieldDescriptorBuilder & ROOT::Experimental::Internal::RFieldDescriptorBuilder::NRepetitions ( std::uint64_t  nRepetitions)

Definition at line 932 of file RNTupleDescriptor.hxx.

◆ ParentId()

RFieldDescriptorBuilder & ROOT::Experimental::Internal::RFieldDescriptorBuilder::ParentId ( DescriptorId_t  id)

Definition at line 911 of file RNTupleDescriptor.hxx.

◆ Structure()

RFieldDescriptorBuilder & ROOT::Experimental::Internal::RFieldDescriptorBuilder::Structure ( const ENTupleStructure structure)

Definition at line 936 of file RNTupleDescriptor.hxx.

◆ TypeAlias()

RFieldDescriptorBuilder & ROOT::Experimental::Internal::RFieldDescriptorBuilder::TypeAlias ( const std::string &  typeAlias)

Definition at line 927 of file RNTupleDescriptor.hxx.

◆ TypeName()

RFieldDescriptorBuilder & ROOT::Experimental::Internal::RFieldDescriptorBuilder::TypeName ( const std::string &  typeName)

Definition at line 923 of file RNTupleDescriptor.hxx.

◆ TypeVersion()

RFieldDescriptorBuilder & ROOT::Experimental::Internal::RFieldDescriptorBuilder::TypeVersion ( std::uint32_t  typeVersion)

Definition at line 906 of file RNTupleDescriptor.hxx.

Member Data Documentation

◆ fField

RFieldDescriptor ROOT::Experimental::Internal::RFieldDescriptorBuilder::fField = RFieldDescriptor()

Definition at line 881 of file RNTupleDescriptor.hxx.

Libraries for ROOT::Experimental::Internal::RFieldDescriptorBuilder:

The documentation for this class was generated from the following files: