Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::RFieldDescriptor Class Reference

Meta-data stored for every field of an ntuple.

Definition at line 67 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.
 
std::unique_ptr< RFieldBaseCreateField (const RNTupleDescriptor &ntplDesc) const
 In general, we create a field simply from the C++ type name.
 
std::string GetFieldDescription () const
 
std::string GetFieldName () const
 
std::uint32_t 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 GetTypeAlias () const
 
std::string GetTypeName () const
 
std::uint32_t GetTypeVersion () const
 
RFieldDescriptoroperator= (const RFieldDescriptor &other)=delete
 
RFieldDescriptoroperator= (RFieldDescriptor &&other)=default
 
bool operator== (const RFieldDescriptor &other) const
 

Private Attributes

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

Friends

class Internal::RFieldDescriptorBuilder
 
class Internal::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 45 of file RNTupleDescriptor.cxx.

◆ CreateField()

std::unique_ptr< ROOT::Experimental::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 63 of file RNTupleDescriptor.cxx.

◆ GetFieldDescription()

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

Definition at line 113 of file RNTupleDescriptor.hxx.

◆ GetFieldName()

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

Definition at line 112 of file RNTupleDescriptor.hxx.

◆ GetFieldVersion()

std::uint32_t ROOT::Experimental::RFieldDescriptor::GetFieldVersion ( ) const
inline

Definition at line 110 of file RNTupleDescriptor.hxx.

◆ GetId()

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

Definition at line 109 of file RNTupleDescriptor.hxx.

◆ GetLinkIds()

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

Definition at line 119 of file RNTupleDescriptor.hxx.

◆ GetNRepetitions()

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

Definition at line 116 of file RNTupleDescriptor.hxx.

◆ GetParentId()

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

Definition at line 118 of file RNTupleDescriptor.hxx.

◆ GetStructure()

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

Definition at line 117 of file RNTupleDescriptor.hxx.

◆ GetTypeAlias()

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

Definition at line 115 of file RNTupleDescriptor.hxx.

◆ GetTypeName()

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

Definition at line 114 of file RNTupleDescriptor.hxx.

◆ GetTypeVersion()

std::uint32_t ROOT::Experimental::RFieldDescriptor::GetTypeVersion ( ) const
inline

Definition at line 111 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 36 of file RNTupleDescriptor.cxx.

Friends And Related Symbol Documentation

◆ Internal::RFieldDescriptorBuilder

friend class Internal::RFieldDescriptorBuilder
friend

Definition at line 69 of file RNTupleDescriptor.hxx.

◆ Internal::RNTupleDescriptorBuilder

Definition at line 68 of file RNTupleDescriptor.hxx.

Member Data Documentation

◆ fFieldDescription

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

Free text set by the user.

Definition at line 80 of file RNTupleDescriptor.hxx.

◆ fFieldId

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

Definition at line 72 of file RNTupleDescriptor.hxx.

◆ fFieldName

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

The leaf name, not including parent fields.

Definition at line 78 of file RNTupleDescriptor.hxx.

◆ fFieldVersion

std::uint32_t ROOT::Experimental::RFieldDescriptor::fFieldVersion = 0
private

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

Definition at line 74 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 93 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 86 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 90 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 88 of file RNTupleDescriptor.hxx.

◆ fTypeAlias

std::string ROOT::Experimental::RFieldDescriptor::fTypeAlias
private

A typedef or using directive that resolved to the type name during field creation.

Definition at line 84 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 82 of file RNTupleDescriptor.hxx.

◆ fTypeVersion

std::uint32_t ROOT::Experimental::RFieldDescriptor::fTypeVersion = 0
private

The version of the C++ type itself.

Definition at line 76 of file RNTupleDescriptor.hxx.

Libraries for ROOT::Experimental::RFieldDescriptor:

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