Logo ROOT  
Reference Guide
ROOT::Experimental::RFieldDescriptor Class Reference

Meta-data stored for every field of an ntuple.

Definition at line 54 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. More...
 
std::unique_ptr< Detail::RFieldBaseCreateField (const RNTupleDescriptor &ntplDesc) const
 In general, we create a field simply from the C++ type name. More...
 
std::string GetFieldDescription () const
 
std::string GetFieldName () const
 
RNTupleVersion GetFieldVersion () const
 
DescriptorId_t GetId () const
 
const std::vector< DescriptorId_t > & GetLinkIds () const
 
std::uint64_t GetNRepetitions () const
 
DescriptorId_t GetParentId () const
 
ENTupleStructure GetStructure () const
 
std::string GetTypeName () const
 
RNTupleVersion GetTypeVersion () const
 
RFieldDescriptoroperator= (const RFieldDescriptor &other)=delete
 
RFieldDescriptoroperator= (RFieldDescriptor &&other)=default
 
bool operator== (const RFieldDescriptor &other) const
 

Static Public Attributes

static constexpr std::uint16_t kFrameVersionCurrent = 0
 In order to handle changes to the serialization routine in future ntuple versions. More...
 
static constexpr std::uint16_t kFrameVersionMin = 0
 

Private Attributes

std::string fFieldDescription
 Free text set by the user. More...
 
DescriptorId_t fFieldId = kInvalidDescriptorId
 
std::string fFieldName
 The leaf name, not including parent fields. More...
 
RNTupleVersion fFieldVersion = RNTupleVersion()
 The version of the C++-type-to-column translation mechanics. More...
 
std::vector< DescriptorId_tfLinkIds
 The pointers in the other direction from parent to children. More...
 
std::uint64_t fNRepetitions = 0
 The number of elements per entry for fixed-size arrays. More...
 
DescriptorId_t fParentId = kInvalidDescriptorId
 Establishes sub field relationships, such as classes and collections. More...
 
ENTupleStructure fStructure = ENTupleStructure::kInvalid
 The structural information carried by this field in the data model tree. More...
 
std::string fTypeName
 The C++ type that was used when writing the field. More...
 
RNTupleVersion fTypeVersion = RNTupleVersion()
 The version of the C++ type itself. More...
 

Friends

class RDanglingFieldDescriptor
 
class RNTupleDescriptorBuilder
 

#include <ROOT/RNTupleDescriptor.hxx>

Constructor & Destructor Documentation

◆ RFieldDescriptor() [1/3]

ROOT::Experimental::RFieldDescriptor::RFieldDescriptor ( )
default

◆ RFieldDescriptor() [2/3]

ROOT::Experimental::RFieldDescriptor::RFieldDescriptor ( const RFieldDescriptor other)
delete

◆ RFieldDescriptor() [3/3]

ROOT::Experimental::RFieldDescriptor::RFieldDescriptor ( RFieldDescriptor &&  other)
default

Member Function Documentation

◆ Clone()

ROOT::Experimental::RFieldDescriptor ROOT::Experimental::RFieldDescriptor::Clone ( ) const

Get a copy of the descriptor.

Definition at line 381 of file RNTupleDescriptor.cxx.

◆ CreateField()

std::unique_ptr< ROOT::Experimental::Detail::RFieldBase > ROOT::Experimental::RFieldDescriptor::CreateField ( const RNTupleDescriptor ntplDesc) 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 ntuple descriptor argument.

Definition at line 398 of file RNTupleDescriptor.cxx.

◆ GetFieldDescription()

std::string ROOT::Experimental::RFieldDescriptor::GetFieldDescription ( ) const
inline

Definition at line 102 of file RNTupleDescriptor.hxx.

◆ GetFieldName()

std::string ROOT::Experimental::RFieldDescriptor::GetFieldName ( ) const
inline

Definition at line 101 of file RNTupleDescriptor.hxx.

◆ GetFieldVersion()

RNTupleVersion ROOT::Experimental::RFieldDescriptor::GetFieldVersion ( ) const
inline

Definition at line 99 of file RNTupleDescriptor.hxx.

◆ GetId()

DescriptorId_t ROOT::Experimental::RFieldDescriptor::GetId ( ) const
inline

Definition at line 98 of file RNTupleDescriptor.hxx.

◆ GetLinkIds()

const std::vector< DescriptorId_t > & ROOT::Experimental::RFieldDescriptor::GetLinkIds ( ) const
inline

Definition at line 107 of file RNTupleDescriptor.hxx.

◆ GetNRepetitions()

std::uint64_t ROOT::Experimental::RFieldDescriptor::GetNRepetitions ( ) const
inline

Definition at line 104 of file RNTupleDescriptor.hxx.

◆ GetParentId()

DescriptorId_t ROOT::Experimental::RFieldDescriptor::GetParentId ( ) const
inline

Definition at line 106 of file RNTupleDescriptor.hxx.

◆ GetStructure()

ENTupleStructure ROOT::Experimental::RFieldDescriptor::GetStructure ( ) const
inline

Definition at line 105 of file RNTupleDescriptor.hxx.

◆ GetTypeName()

std::string ROOT::Experimental::RFieldDescriptor::GetTypeName ( ) const
inline

Definition at line 103 of file RNTupleDescriptor.hxx.

◆ GetTypeVersion()

RNTupleVersion ROOT::Experimental::RFieldDescriptor::GetTypeVersion ( ) const
inline

Definition at line 100 of file RNTupleDescriptor.hxx.

◆ operator=() [1/2]

RFieldDescriptor & ROOT::Experimental::RFieldDescriptor::operator= ( const RFieldDescriptor other)
delete

◆ operator=() [2/2]

RFieldDescriptor & ROOT::Experimental::RFieldDescriptor::operator= ( RFieldDescriptor &&  other)
default

◆ operator==()

bool ROOT::Experimental::RFieldDescriptor::operator== ( const RFieldDescriptor other) const

Definition at line 366 of file RNTupleDescriptor.cxx.

Friends And Related Function Documentation

◆ RDanglingFieldDescriptor

friend class RDanglingFieldDescriptor
friend

Definition at line 56 of file RNTupleDescriptor.hxx.

◆ RNTupleDescriptorBuilder

friend class RNTupleDescriptorBuilder
friend

Definition at line 55 of file RNTupleDescriptor.hxx.

Member Data Documentation

◆ fFieldDescription

std::string ROOT::Experimental::RFieldDescriptor::fFieldDescription
private

Free text set by the user.

Definition at line 67 of file RNTupleDescriptor.hxx.

◆ fFieldId

DescriptorId_t ROOT::Experimental::RFieldDescriptor::fFieldId = kInvalidDescriptorId
private

Definition at line 59 of file RNTupleDescriptor.hxx.

◆ fFieldName

std::string ROOT::Experimental::RFieldDescriptor::fFieldName
private

The leaf name, not including parent fields.

Definition at line 65 of file RNTupleDescriptor.hxx.

◆ fFieldVersion

RNTupleVersion ROOT::Experimental::RFieldDescriptor::fFieldVersion = RNTupleVersion()
private

The version of the C++-type-to-column translation mechanics.

Definition at line 61 of file RNTupleDescriptor.hxx.

◆ fLinkIds

std::vector<DescriptorId_t> ROOT::Experimental::RFieldDescriptor::fLinkIds
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 78 of file RNTupleDescriptor.hxx.

◆ fNRepetitions

std::uint64_t ROOT::Experimental::RFieldDescriptor::fNRepetitions = 0
private

The number of elements per entry for fixed-size arrays.

Definition at line 71 of file RNTupleDescriptor.hxx.

◆ fParentId

DescriptorId_t ROOT::Experimental::RFieldDescriptor::fParentId = kInvalidDescriptorId
private

Establishes sub field relationships, such as classes and collections.

Definition at line 75 of file RNTupleDescriptor.hxx.

◆ fStructure

ENTupleStructure ROOT::Experimental::RFieldDescriptor::fStructure = ENTupleStructure::kInvalid
private

The structural information carried by this field in the data model tree.

Definition at line 73 of file RNTupleDescriptor.hxx.

◆ fTypeName

std::string ROOT::Experimental::RFieldDescriptor::fTypeName
private

The C++ type that was used when writing the field.

Definition at line 69 of file RNTupleDescriptor.hxx.

◆ fTypeVersion

RNTupleVersion ROOT::Experimental::RFieldDescriptor::fTypeVersion = RNTupleVersion()
private

The version of the C++ type itself.

Definition at line 63 of file RNTupleDescriptor.hxx.

◆ kFrameVersionCurrent

constexpr std::uint16_t ROOT::Experimental::RFieldDescriptor::kFrameVersionCurrent = 0
staticconstexpr

In order to handle changes to the serialization routine in future ntuple versions.

Definition at line 88 of file RNTupleDescriptor.hxx.

◆ kFrameVersionMin

constexpr std::uint16_t ROOT::Experimental::RFieldDescriptor::kFrameVersionMin = 0
staticconstexpr

Definition at line 89 of file RNTupleDescriptor.hxx.


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