60 SetAvailableSpaceForStrings();
65 fOutput << fFrameSymbol <<
' ';
67 std::string key = fTreePrefix;
68 key +=
"Field " + fFieldNoPrefix + std::to_string(fFieldNo);
73 if (!
field.GetTypeName().empty())
76 fOutput << fFrameSymbol << std::endl;
83 visitor.fFieldNoPrefix += std::to_string(fFieldNo) +
".";
108 if (fPrintOptions.fPrintSingleLine)
111 for (
unsigned int i = 0; i < fLevel; ++i)
117 if (fPrintOptions.fPrintName)
118 fOutput <<
"\"" <<
field.GetFieldName() <<
"\": ";
126 auto elems =
field.SplitValue(fValue);
147 auto elems =
field.SplitValue(fValue);
149 if (!fPrintOptions.fPrintSingleLine)
150 fOutput << std::endl;
158 if (!fPrintOptions.fPrintSingleLine)
159 fOutput << std::endl;
163 if (fPrintOptions.fPrintSingleLine)
175 fOutput <<
"\"<unsupported type: " <<
field.GetTypeName() <<
">\"";
182 if (fValue.GetRef<
bool>())
192 fOutput << fValue.GetRef<
double>();
199 fOutput << fValue.GetRef<
float>();
206 char prev = std::cout.fill();
207 auto value = std::to_integer<unsigned int>(fValue.GetRef<std::byte>());
208 fOutput <<
"0x" << std::setw(2) << std::setfill(
'0') << std::hex <<
value;
209 fOutput << std::resetiosflags(std::ios_base::basefield);
210 std::cout.fill(prev);
217 fOutput << fValue.GetRef<
char>();
231 fOutput << fValue.GetRef<std::int16_t>();
238 fOutput << fValue.GetRef<std::int32_t>();
245 fOutput << fValue.GetRef<std::int64_t>();
253 fOutput <<
"\"" << fValue.GetRef<std::string>() <<
"\"";
267 fOutput << fValue.GetRef<std::uint16_t>();
274 fOutput << fValue.GetRef<std::uint32_t>();
281 fOutput << fValue.GetRef<std::uint64_t>();
288 if (
field.As32Bit()) {
289 fOutput << fValue.GetRef<std::uint32_t>();
292 if (
field.As64Bit()) {
293 fOutput << fValue.GetRef<std::uint64_t>();
296 R__ASSERT(
false &&
"unsupported cardinality size type");
301 constexpr auto nBitsULong =
sizeof(
unsigned long) * 8;
302 const auto *
asULongArray =
static_cast<unsigned long *
>(fValue.GetPtr<
void>().get());
312 str = std::to_string(
isSet) + str;
315 fOutput << str <<
"\"";
320 PrintCollection(
field);
325 PrintCollection(
field);
332 fOutput <<
"<streamer mode>";
354 auto elems =
field.SplitValue(fValue);
362 elems[0].GetField().AcceptVisitor(
visitor);
392 PrintCollection(
field);
397 PrintCollection(
field);
402 PrintCollection(
field);
407 PrintCollection(
field);
414 int strSize{
static_cast<int>(str.size())};
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
#define R__ASSERT(e)
Checks condition e and reports a fatal error if it's false.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t mask
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Visitor used for a pre-processing run to collect information needed by another visitor class.
unsigned int fDeepestLevel
void VisitFieldZero(const ROOT::RFieldZero &field) final
void VisitField(const ROOT::RFieldBase &field) final
Contains settings for printing and prints a summary of an RField instance.
void SetDeepestLevel(int d)
void VisitFieldZero(const ROOT::RFieldZero &fieldZero) final
void VisitField(const ROOT::RFieldBase &field) final
Prints summary of Field.
Renders a JSON value corresponding to the field.
void VisitVectorField(const ROOT::RVectorField &field) final
void VisitEnumField(const ROOT::REnumField &field) final
void VisitRVecField(const ROOT::RRVecField &field) final
void VisitUInt16Field(const ROOT::RIntegralField< std::uint16_t > &field) final
void VisitCardinalityField(const ROOT::RCardinalityField &field) final
void VisitCharField(const ROOT::RField< char > &field) final
void PrintRecord(const ROOT::RFieldBase &field)
void VisitAtomicField(const ROOT::RAtomicField &field) final
void VisitClassField(const ROOT::RClassField &field) final
void VisitTObjectField(const ROOT::RField< TObject > &field) final
void VisitInt64Field(const ROOT::RIntegralField< std::int64_t > &field) final
void VisitInt32Field(const ROOT::RIntegralField< std::int32_t > &field) final
void PrintName(const ROOT::RFieldBase &field)
void VisitByteField(const ROOT::RField< std::byte > &field) final
void VisitStringField(const ROOT::RField< std::string > &field) final
void VisitArrayField(const ROOT::RArrayField &field) final
void VisitFloatField(const ROOT::RField< float > &field) final
void VisitRecordField(const ROOT::RRecordField &field) final
void VisitBitsetField(const ROOT::RBitsetField &field) final
void VisitUInt32Field(const ROOT::RIntegralField< std::uint32_t > &field) final
void VisitBoolField(const ROOT::RField< bool > &field) final
void VisitVectorBoolField(const ROOT::RField< std::vector< bool > > &field) final
void VisitInt16Field(const ROOT::RIntegralField< std::int16_t > &field) final
void VisitNullableField(const ROOT::RNullableField &field) final
void VisitDoubleField(const ROOT::RField< double > &field) final
void VisitArrayAsRVecField(const ROOT::RArrayAsRVecField &field) final
void VisitField(const ROOT::RFieldBase &field) final
void VisitProxiedCollectionField(const ROOT::RProxiedCollectionField &field) final
void VisitStreamerField(const ROOT::RStreamerField &field) final
void PrintCollection(const ROOT::RFieldBase &field)
void VisitInt8Field(const ROOT::RIntegralField< std::int8_t > &field) final
void VisitUInt64Field(const ROOT::RIntegralField< std::uint64_t > &field) final
void VisitUInt8Field(const ROOT::RIntegralField< std::uint8_t > &field) final
Additional classes related to sequence containers.
Template specializations for C++ std::array and C-style arrays.
Template specializations for C++ std::atomic.
Template specializations for C++ std::bitset.
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.
A field translates read and write calls from/to underlying columns to/from tree values.
The container field for an ntuple model, which itself has no physical representation.
Classes with dictionaries that can be inspected by TClass.
Template specializations for C++ std::optional and std::unique_ptr.
The field for a class representing a collection of elements via TVirtualCollectionProxy.
Template specializations for ROOT's RVec.
const_iterator begin() const
const_iterator end() const
The field for an untyped record.
The field for a class using ROOT standard streaming.
Template specializations for C++ std::vector.