16#ifndef ROOT7_RFieldVisitor
17#define ROOT7_RFieldVisitor
29namespace Experimental {
239 static std::string
FitString(
const std::string &str,
int availableSpace);
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Points to an object with RNTuple I/O support and keeps a pointer to the corresponding field.
A field translates read and write calls from/to underlying columns to/from tree values.
Abstract base class for classes implementing the visitor design pattern.
virtual void VisitProxiedCollectionField(const RProxiedCollectionField &field)
virtual void VisitBoolField(const RField< bool > &field)
virtual void VisitBitsetField(const RBitsetField &field)
virtual void VisitNullableField(const RNullableField &field)
virtual void VisitVectorBoolField(const RField< std::vector< bool > > &field)
virtual void VisitFieldZero(const RFieldZero &field)
virtual void VisitRVecField(const RRVecField &field)
virtual void VisitInt8Field(const RField< std::int8_t > &field)
virtual void VisitCardinalityField(const RCardinalityField &field)
virtual void VisitEnumField(const REnumField &field)
virtual void VisitClusterSizeField(const RField< ClusterSize_t > &field)
virtual void VisitField(const Detail::RFieldBase &field)=0
virtual void VisitDoubleField(const RField< double > &field)
virtual void VisitStringField(const RField< std::string > &field)
virtual void VisitUInt32Field(const RField< std::uint32_t > &field)
virtual void VisitUInt64Field(const RField< std::uint64_t > &field)
virtual void VisitInt16Field(const RField< std::int16_t > &field)
virtual void VisitCharField(const RField< char > &field)
virtual void VisitArrayField(const RArrayField &field)
virtual void VisitClassField(const RClassField &field)
virtual void VisitIntField(const RField< int > &field)
virtual void VisitUInt16Field(const RField< std::uint16_t > &field)
virtual void VisitRecordField(const RRecordField &field)
virtual void VisitUInt8Field(const RField< std::uint8_t > &field)
virtual void VisitInt64Field(const RField< std::int64_t > &field)
virtual void VisitVectorField(const RVectorField &field)
virtual void VisitFloatField(const RField< float > &field)
The generic field for fixed size arrays, which do not need an offset column.
The generic field an std::bitset<N>.
An artificial field that transforms an RNTuple column that contains the offset of collections into co...
The field for a class with dictionary.
The field for an unscoped or scoped enum with dictionary.
The container field for an ntuple model, which itself has no physical representation.
Classes with dictionaries that can be inspected by TClass.
The field for values that may or may not be present in an entry.
Visitor used for a pre-processing run to collect information needed by another visitor class.
void VisitField(const Detail::RFieldBase &field) final
unsigned int fDeepestLevel
unsigned int GetDeepestLevel() const
RPrepareVisitor()=default
unsigned int GetNumFields() const
void VisitFieldZero(const RFieldZero &field) final
Contains settings for printing and prints a summary of an RField instance.
std::ostream & fOutput
Where to write the printout to.
void SetDeepestLevel(int d)
int fWidth
Indicates maximal number of allowed characters per line.
std::string fFieldNoPrefix
RPrintSchemaVisitor(std::ostream &out=std::cout, char frameSymbol=' *', int width=80, int deepestLevel=1, int numFields=1)
int fAvailableSpaceKeyString
void VisitField(const Detail::RFieldBase &field) final
Prints summary of Field.
void SetAvailableSpaceForStrings()
Computes how many characters should be placed between the frame symbol and ':' for left and right sid...
char fFrameSymbol
To render the output, use an asterix (*) by default to draw table lines and boundaries.
void SetFrameSymbol(char s)
int fAvailableSpaceValueString
void VisitFieldZero(const RFieldZero &fieldZero) final
Renders a JSON value corresponding to the field.
void VisitVectorBoolField(const RField< std::vector< bool > > &field) final
void VisitDoubleField(const RField< double > &field) final
void VisitUInt16Field(const RField< std::uint16_t > &field) final
std::ostream & fOutput
The output is directed to fOutput which may differ from std::cout.
void VisitArrayField(const RArrayField &field) final
void VisitFloatField(const RField< float > &field) final
void VisitRecordField(const RRecordField &field) final
void VisitStringField(const RField< std::string > &field) final
void VisitInt8Field(const RField< std::int8_t > &field) final
void VisitNullableField(const RNullableField &field) final
void PrintName(const Detail::RFieldBase &field)
void VisitUInt8Field(const RField< std::uint8_t > &field) final
void VisitBitsetField(const RBitsetField &field) final
void VisitCardinalityField(const RCardinalityField &field) final
void VisitField(const Detail::RFieldBase &field) final
void PrintCollection(const Detail::RFieldBase &field)
RPrintValueVisitor(Detail::RFieldBase::RValue &&value, std::ostream &output, unsigned int level=0, RPrintOptions options=RPrintOptions())
void VisitRVecField(const RRVecField &field) final
void VisitUInt64Field(const RField< std::uint64_t > &field) final
Detail::RFieldBase::RValue fValue
void VisitEnumField(const REnumField &field) final
void VisitBoolField(const RField< bool > &field) final
void VisitProxiedCollectionField(const RProxiedCollectionField &field) final
void VisitInt16Field(const RField< std::int16_t > &field) final
void VisitVectorField(const RVectorField &field) final
void VisitCharField(const RField< char > &field) final
void VisitInt64Field(const RField< std::int64_t > &field) final
void VisitClassField(const RClassField &field) final
void VisitIntField(const RField< int > &field) final
void VisitUInt32Field(const RField< std::uint32_t > &field) final
RPrintOptions fPrintOptions
The field for a class representing a collection of elements via TVirtualCollectionProxy.
The type-erased field for a RVec<Type>
The field for an untyped record.
The generic field for a (nested) std::vector<Type> except for std::vector<bool>
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.