Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Internal::RFieldDescriptorBuilder Class Referencefinal

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 RNTuple field.

Dangling field descriptors can only become actual descriptors when added to an RNTupleDescriptorBuilder instance and then linked to other fields.

Definition at line 1275 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 (ROOT::DescriptorId_t fieldId)
 
RFieldDescriptorBuilderFieldName (const std::string &fieldName)
 
RFieldDescriptorBuilderFieldVersion (std::uint32_t fieldVersion)
 
ROOT::DescriptorId_t GetParentId () const
 
RResult< RFieldDescriptorMakeDescriptor () const
 Attempt to make a field descriptor.
 
RFieldDescriptorBuilderNRepetitions (std::uint64_t nRepetitions)
 
RFieldDescriptorBuilderParentId (ROOT::DescriptorId_t id)
 
RFieldDescriptorBuilderProjectionSourceId (ROOT::DescriptorId_t id)
 
RFieldDescriptorBuilderStructure (const ROOT::ENTupleStructure &structure)
 
RFieldDescriptorBuilderTypeAlias (const std::string &typeAlias)
 
RFieldDescriptorBuilderTypeChecksum (const std::optional< std::uint32_t > typeChecksum)
 
RFieldDescriptorBuilderTypeName (const std::string &typeName)
 
RFieldDescriptorBuilderTypeVersion (std::uint32_t typeVersion)
 

Static Public Member Functions

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

Private Attributes

RFieldDescriptor fField = RFieldDescriptor()
 

#include <ROOT/RNTupleDescriptor.hxx>

Constructor & Destructor Documentation

◆ RFieldDescriptorBuilder() [1/2]

ROOT::Internal::RFieldDescriptorBuilder::RFieldDescriptorBuilder ( )
default

Make an empty dangling field descriptor.

◆ RFieldDescriptorBuilder() [2/2]

ROOT::Internal::RFieldDescriptorBuilder::RFieldDescriptorBuilder ( const RFieldDescriptor & fieldDesc)
explicit

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 1025 of file RNTupleDescriptor.cxx.

Member Function Documentation

◆ FieldDescription()

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

Definition at line 1324 of file RNTupleDescriptor.hxx.

◆ FieldId()

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

Definition at line 1294 of file RNTupleDescriptor.hxx.

◆ FieldName()

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

Definition at line 1319 of file RNTupleDescriptor.hxx.

◆ FieldVersion()

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

Definition at line 1299 of file RNTupleDescriptor.hxx.

◆ FromField()

ROOT::Internal::RFieldDescriptorBuilder ROOT::Internal::RFieldDescriptorBuilder::FromField ( const ROOT::RFieldBase & field)
static

Make a new RFieldDescriptorBuilder based off a live RNTuple field.

Definition at line 1034 of file RNTupleDescriptor.cxx.

◆ GetParentId()

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

Definition at line 1354 of file RNTupleDescriptor.hxx.

◆ MakeDescriptor()

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

◆ NRepetitions()

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

Definition at line 1339 of file RNTupleDescriptor.hxx.

◆ ParentId()

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

Definition at line 1309 of file RNTupleDescriptor.hxx.

◆ ProjectionSourceId()

RFieldDescriptorBuilder & ROOT::Internal::RFieldDescriptorBuilder::ProjectionSourceId ( ROOT::DescriptorId_t id)
inline

Definition at line 1314 of file RNTupleDescriptor.hxx.

◆ Structure()

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

Definition at line 1344 of file RNTupleDescriptor.hxx.

◆ TypeAlias()

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

Definition at line 1334 of file RNTupleDescriptor.hxx.

◆ TypeChecksum()

RFieldDescriptorBuilder & ROOT::Internal::RFieldDescriptorBuilder::TypeChecksum ( const std::optional< std::uint32_t > typeChecksum)
inline

Definition at line 1349 of file RNTupleDescriptor.hxx.

◆ TypeName()

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

Definition at line 1329 of file RNTupleDescriptor.hxx.

◆ TypeVersion()

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

Definition at line 1304 of file RNTupleDescriptor.hxx.

Member Data Documentation

◆ fField

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

Definition at line 1277 of file RNTupleDescriptor.hxx.

Libraries for ROOT::Internal::RFieldDescriptorBuilder:

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