Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
ROOT::Detail::RFieldVisitor Class Referenceabstract

Abstract base class for classes implementing the visitor design pattern.

RFieldVisitor::VisitField() is invoked by RFieldBase::AcceptVisitor().

Example: creating a custom field visitor**

// 1. Define your visitor:
class MyVisitor : public RFieldVisitor {
public:
// This is the only method you need to define. The others will default to calling this.
// Only implement other methods if you need special logic for a specific field type.
void VisitField(const ROOT::RFieldBase &field) final {
// ... do custom logic here ...
}
};
// 2. Use it:
const auto &field = reader->GetModel().GetConstFieldZero();
visitor.VisitField(field);
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Abstract base class for classes implementing the visitor design pattern.
A field translates read and write calls from/to underlying columns to/from tree values.

As an example of a concrete use case, see Internal::RPrintSchemaVisitor.

Definition at line 60 of file RFieldVisitor.hxx.

Public Member Functions

virtual void VisitArrayAsRVecField (const ROOT::RArrayAsRVecField &field)
 
virtual void VisitArrayField (const ROOT::RArrayField &field)
 
virtual void VisitAtomicField (const ROOT::RAtomicField &field)
 
virtual void VisitBitsetField (const ROOT::RBitsetField &field)
 
virtual void VisitBoolField (const ROOT::RField< bool > &field)
 
virtual void VisitByteField (const ROOT::RField< std::byte > &field)
 
virtual void VisitCardinalityField (const ROOT::RCardinalityField &field)
 
virtual void VisitCharField (const ROOT::RField< char > &field)
 
virtual void VisitClassField (const ROOT::RClassField &field)
 
virtual void VisitDoubleField (const ROOT::RField< double > &field)
 
virtual void VisitEnumField (const ROOT::REnumField &field)
 
virtual void VisitField (const ROOT::RFieldBase &field)=0
 
virtual void VisitFieldZero (const ROOT::RFieldZero &field)
 
virtual void VisitFloatField (const ROOT::RField< float > &field)
 
virtual void VisitInt16Field (const ROOT::RIntegralField< std::int16_t > &field)
 
virtual void VisitInt32Field (const ROOT::RIntegralField< std::int32_t > &field)
 
virtual void VisitInt64Field (const ROOT::RIntegralField< std::int64_t > &field)
 
virtual void VisitInt8Field (const ROOT::RIntegralField< std::int8_t > &field)
 
virtual void VisitNullableField (const ROOT::RNullableField &field)
 
virtual void VisitProxiedCollectionField (const ROOT::RProxiedCollectionField &field)
 
virtual void VisitRecordField (const ROOT::RRecordField &field)
 
virtual void VisitRVecField (const ROOT::RRVecField &field)
 
virtual void VisitStreamerField (const ROOT::RStreamerField &field)
 
virtual void VisitStringField (const ROOT::RField< std::string > &field)
 
virtual void VisitTObjectField (const ROOT::RField< TObject > &field)
 
virtual void VisitUInt16Field (const ROOT::RIntegralField< std::uint16_t > &field)
 
virtual void VisitUInt32Field (const ROOT::RIntegralField< std::uint32_t > &field)
 
virtual void VisitUInt64Field (const ROOT::RIntegralField< std::uint64_t > &field)
 
virtual void VisitUInt8Field (const ROOT::RIntegralField< std::uint8_t > &field)
 
virtual void VisitVectorBoolField (const ROOT::RField< std::vector< bool > > &field)
 
virtual void VisitVectorField (const ROOT::RVectorField &field)
 

#include <ROOT/RFieldVisitor.hxx>

Inheritance diagram for ROOT::Detail::RFieldVisitor:
[legend]

Member Function Documentation

◆ VisitArrayAsRVecField()

virtual void ROOT::Detail::RFieldVisitor::VisitArrayAsRVecField ( const ROOT::RArrayAsRVecField & field)
inlinevirtual

Reimplemented in ROOT::Internal::RPrintValueVisitor.

Definition at line 65 of file RFieldVisitor.hxx.

◆ VisitArrayField()

virtual void ROOT::Detail::RFieldVisitor::VisitArrayField ( const ROOT::RArrayField & field)
inlinevirtual

Reimplemented in ROOT::Internal::RPrintValueVisitor.

Definition at line 64 of file RFieldVisitor.hxx.

◆ VisitAtomicField()

virtual void ROOT::Detail::RFieldVisitor::VisitAtomicField ( const ROOT::RAtomicField & field)
inlinevirtual

Reimplemented in ROOT::Internal::RPrintValueVisitor.

Definition at line 66 of file RFieldVisitor.hxx.

◆ VisitBitsetField()

virtual void ROOT::Detail::RFieldVisitor::VisitBitsetField ( const ROOT::RBitsetField & field)
inlinevirtual

Reimplemented in ROOT::Internal::RPrintValueVisitor.

Definition at line 67 of file RFieldVisitor.hxx.

◆ VisitBoolField()

virtual void ROOT::Detail::RFieldVisitor::VisitBoolField ( const ROOT::RField< bool > & field)
inlinevirtual

Reimplemented in RFieldProvider::RDrawVisitor, and ROOT::Internal::RPrintValueVisitor.

Definition at line 68 of file RFieldVisitor.hxx.

◆ VisitByteField()

virtual void ROOT::Detail::RFieldVisitor::VisitByteField ( const ROOT::RField< std::byte > & field)
inlinevirtual

Reimplemented in ROOT::Internal::RPrintValueVisitor.

Definition at line 78 of file RFieldVisitor.hxx.

◆ VisitCardinalityField()

virtual void ROOT::Detail::RFieldVisitor::VisitCardinalityField ( const ROOT::RCardinalityField & field)
inlinevirtual

Reimplemented in RFieldProvider::RDrawVisitor, and ROOT::Internal::RPrintValueVisitor.

Definition at line 74 of file RFieldVisitor.hxx.

◆ VisitCharField()

virtual void ROOT::Detail::RFieldVisitor::VisitCharField ( const ROOT::RField< char > & field)
inlinevirtual

Reimplemented in RFieldProvider::RDrawVisitor, and ROOT::Internal::RPrintValueVisitor.

Definition at line 79 of file RFieldVisitor.hxx.

◆ VisitClassField()

virtual void ROOT::Detail::RFieldVisitor::VisitClassField ( const ROOT::RClassField & field)
inlinevirtual

Reimplemented in ROOT::Internal::RPrintValueVisitor.

Definition at line 69 of file RFieldVisitor.hxx.

◆ VisitDoubleField()

virtual void ROOT::Detail::RFieldVisitor::VisitDoubleField ( const ROOT::RField< double > & field)
inlinevirtual

Reimplemented in RFieldProvider::RDrawVisitor, and ROOT::Internal::RPrintValueVisitor.

Definition at line 75 of file RFieldVisitor.hxx.

◆ VisitEnumField()

virtual void ROOT::Detail::RFieldVisitor::VisitEnumField ( const ROOT::REnumField & field)
inlinevirtual

Reimplemented in ROOT::Internal::RPrintValueVisitor.

Definition at line 76 of file RFieldVisitor.hxx.

◆ VisitField()

◆ VisitFieldZero()

virtual void ROOT::Detail::RFieldVisitor::VisitFieldZero ( const ROOT::RFieldZero & field)
inlinevirtual

◆ VisitFloatField()

virtual void ROOT::Detail::RFieldVisitor::VisitFloatField ( const ROOT::RField< float > & field)
inlinevirtual

Reimplemented in RFieldProvider::RDrawVisitor, and ROOT::Internal::RPrintValueVisitor.

Definition at line 77 of file RFieldVisitor.hxx.

◆ VisitInt16Field()

virtual void ROOT::Detail::RFieldVisitor::VisitInt16Field ( const ROOT::RIntegralField< std::int16_t > & field)
inlinevirtual

Reimplemented in RFieldProvider::RDrawVisitor, and ROOT::Internal::RPrintValueVisitor.

Definition at line 83 of file RFieldVisitor.hxx.

◆ VisitInt32Field()

virtual void ROOT::Detail::RFieldVisitor::VisitInt32Field ( const ROOT::RIntegralField< std::int32_t > & field)
inlinevirtual

Reimplemented in RFieldProvider::RDrawVisitor, and ROOT::Internal::RPrintValueVisitor.

Definition at line 84 of file RFieldVisitor.hxx.

◆ VisitInt64Field()

virtual void ROOT::Detail::RFieldVisitor::VisitInt64Field ( const ROOT::RIntegralField< std::int64_t > & field)
inlinevirtual

Reimplemented in RFieldProvider::RDrawVisitor, and ROOT::Internal::RPrintValueVisitor.

Definition at line 85 of file RFieldVisitor.hxx.

◆ VisitInt8Field()

virtual void ROOT::Detail::RFieldVisitor::VisitInt8Field ( const ROOT::RIntegralField< std::int8_t > & field)
inlinevirtual

Reimplemented in RFieldProvider::RDrawVisitor, and ROOT::Internal::RPrintValueVisitor.

Definition at line 82 of file RFieldVisitor.hxx.

◆ VisitNullableField()

virtual void ROOT::Detail::RFieldVisitor::VisitNullableField ( const ROOT::RNullableField & field)
inlinevirtual

Reimplemented in ROOT::Internal::RPrintValueVisitor.

Definition at line 86 of file RFieldVisitor.hxx.

◆ VisitProxiedCollectionField()

virtual void ROOT::Detail::RFieldVisitor::VisitProxiedCollectionField ( const ROOT::RProxiedCollectionField & field)
inlinevirtual

Reimplemented in ROOT::Internal::RPrintValueVisitor.

Definition at line 72 of file RFieldVisitor.hxx.

◆ VisitRecordField()

virtual void ROOT::Detail::RFieldVisitor::VisitRecordField ( const ROOT::RRecordField & field)
inlinevirtual

Reimplemented in ROOT::Internal::RPrintValueVisitor.

Definition at line 73 of file RFieldVisitor.hxx.

◆ VisitRVecField()

virtual void ROOT::Detail::RFieldVisitor::VisitRVecField ( const ROOT::RRVecField & field)
inlinevirtual

Reimplemented in ROOT::Internal::RPrintValueVisitor.

Definition at line 94 of file RFieldVisitor.hxx.

◆ VisitStreamerField()

virtual void ROOT::Detail::RFieldVisitor::VisitStreamerField ( const ROOT::RStreamerField & field)
inlinevirtual

Reimplemented in ROOT::Internal::RPrintValueVisitor.

Definition at line 71 of file RFieldVisitor.hxx.

◆ VisitStringField()

virtual void ROOT::Detail::RFieldVisitor::VisitStringField ( const ROOT::RField< std::string > & field)
inlinevirtual

Reimplemented in RFieldProvider::RDrawVisitor, and ROOT::Internal::RPrintValueVisitor.

Definition at line 87 of file RFieldVisitor.hxx.

◆ VisitTObjectField()

virtual void ROOT::Detail::RFieldVisitor::VisitTObjectField ( const ROOT::RField< TObject > & field)
inlinevirtual

Reimplemented in ROOT::Internal::RPrintValueVisitor.

Definition at line 70 of file RFieldVisitor.hxx.

◆ VisitUInt16Field()

virtual void ROOT::Detail::RFieldVisitor::VisitUInt16Field ( const ROOT::RIntegralField< std::uint16_t > & field)
inlinevirtual

Reimplemented in RFieldProvider::RDrawVisitor, and ROOT::Internal::RPrintValueVisitor.

Definition at line 89 of file RFieldVisitor.hxx.

◆ VisitUInt32Field()

virtual void ROOT::Detail::RFieldVisitor::VisitUInt32Field ( const ROOT::RIntegralField< std::uint32_t > & field)
inlinevirtual

Reimplemented in RFieldProvider::RDrawVisitor, and ROOT::Internal::RPrintValueVisitor.

Definition at line 90 of file RFieldVisitor.hxx.

◆ VisitUInt64Field()

virtual void ROOT::Detail::RFieldVisitor::VisitUInt64Field ( const ROOT::RIntegralField< std::uint64_t > & field)
inlinevirtual

Reimplemented in RFieldProvider::RDrawVisitor, and ROOT::Internal::RPrintValueVisitor.

Definition at line 91 of file RFieldVisitor.hxx.

◆ VisitUInt8Field()

virtual void ROOT::Detail::RFieldVisitor::VisitUInt8Field ( const ROOT::RIntegralField< std::uint8_t > & field)
inlinevirtual

Reimplemented in RFieldProvider::RDrawVisitor, and ROOT::Internal::RPrintValueVisitor.

Definition at line 88 of file RFieldVisitor.hxx.

◆ VisitVectorBoolField()

virtual void ROOT::Detail::RFieldVisitor::VisitVectorBoolField ( const ROOT::RField< std::vector< bool > > & field)
inlinevirtual

Reimplemented in ROOT::Internal::RPrintValueVisitor.

Definition at line 93 of file RFieldVisitor.hxx.

◆ VisitVectorField()

virtual void ROOT::Detail::RFieldVisitor::VisitVectorField ( const ROOT::RVectorField & field)
inlinevirtual

Reimplemented in ROOT::Internal::RPrintValueVisitor.

Definition at line 92 of file RFieldVisitor.hxx.


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