Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::RDanglingFieldDescriptor 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 552 of file RNTupleDescriptor.hxx.

Public Member Functions

 RDanglingFieldDescriptor ()=default
 Make an empty dangling field descriptor.
 
 RDanglingFieldDescriptor (const RFieldDescriptor &fieldDesc)
 Make a new RDanglingFieldDescriptor based off an existing descriptor.
 
RDanglingFieldDescriptorFieldDescription (const std::string &fieldDescription)
 
RDanglingFieldDescriptorFieldId (DescriptorId_t fieldId)
 
RDanglingFieldDescriptorFieldName (const std::string &fieldName)
 
RDanglingFieldDescriptorFieldVersion (const RNTupleVersion &fieldVersion)
 
RResult< RFieldDescriptorMakeDescriptor () const
 Attempt to make a field descriptor.
 
RDanglingFieldDescriptorNRepetitions (std::uint64_t nRepetitions)
 
RDanglingFieldDescriptorStructure (const ENTupleStructure &structure)
 
RDanglingFieldDescriptorTypeName (const std::string &typeName)
 
RDanglingFieldDescriptorTypeVersion (const RNTupleVersion &typeVersion)
 

Static Public Member Functions

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

Private Attributes

RFieldDescriptor fField = RFieldDescriptor()
 

#include <ROOT/RNTupleDescriptor.hxx>

Constructor & Destructor Documentation

◆ RDanglingFieldDescriptor() [1/2]

ROOT::Experimental::RDanglingFieldDescriptor::RDanglingFieldDescriptor ( )
default

Make an empty dangling field descriptor.

◆ RDanglingFieldDescriptor() [2/2]

ROOT::Experimental::RDanglingFieldDescriptor::RDanglingFieldDescriptor ( const RFieldDescriptor fieldDesc)
explicit

Make a new RDanglingFieldDescriptor 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 943 of file RNTupleDescriptor.cxx.

Member Function Documentation

◆ FieldDescription()

RDanglingFieldDescriptor & ROOT::Experimental::RDanglingFieldDescriptor::FieldDescription ( const std::string &  fieldDescription)
inline

Definition at line 586 of file RNTupleDescriptor.hxx.

◆ FieldId()

RDanglingFieldDescriptor & ROOT::Experimental::RDanglingFieldDescriptor::FieldId ( DescriptorId_t  fieldId)
inline

Definition at line 570 of file RNTupleDescriptor.hxx.

◆ FieldName()

RDanglingFieldDescriptor & ROOT::Experimental::RDanglingFieldDescriptor::FieldName ( const std::string &  fieldName)
inline

Definition at line 582 of file RNTupleDescriptor.hxx.

◆ FieldVersion()

RDanglingFieldDescriptor & ROOT::Experimental::RDanglingFieldDescriptor::FieldVersion ( const RNTupleVersion fieldVersion)
inline

Definition at line 574 of file RNTupleDescriptor.hxx.

◆ FromField()

ROOT::Experimental::RDanglingFieldDescriptor ROOT::Experimental::RDanglingFieldDescriptor::FromField ( const Detail::RFieldBase field)
static

Make a new RDanglingFieldDescriptor based off a live NTuple field.

Definition at line 951 of file RNTupleDescriptor.cxx.

◆ MakeDescriptor()

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

◆ NRepetitions()

RDanglingFieldDescriptor & ROOT::Experimental::RDanglingFieldDescriptor::NRepetitions ( std::uint64_t  nRepetitions)
inline

Definition at line 594 of file RNTupleDescriptor.hxx.

◆ Structure()

RDanglingFieldDescriptor & ROOT::Experimental::RDanglingFieldDescriptor::Structure ( const ENTupleStructure structure)
inline

Definition at line 598 of file RNTupleDescriptor.hxx.

◆ TypeName()

RDanglingFieldDescriptor & ROOT::Experimental::RDanglingFieldDescriptor::TypeName ( const std::string &  typeName)
inline

Definition at line 590 of file RNTupleDescriptor.hxx.

◆ TypeVersion()

RDanglingFieldDescriptor & ROOT::Experimental::RDanglingFieldDescriptor::TypeVersion ( const RNTupleVersion typeVersion)
inline

Definition at line 578 of file RNTupleDescriptor.hxx.

Member Data Documentation

◆ fField

RFieldDescriptor ROOT::Experimental::RDanglingFieldDescriptor::fField = RFieldDescriptor()
private

Definition at line 554 of file RNTupleDescriptor.hxx.

Libraries for ROOT::Experimental::RDanglingFieldDescriptor:

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