21#include <system_error>
22#include <unordered_map>
30 {
"Double_t",
"double"},
31 {
"string",
"std::string"},
33 {
"byte",
"std::byte"},
35 {
"int8_t",
"std::int8_t"},
36 {
"UChar_t",
"unsigned char"},
37 {
"uint8_t",
"std::uint8_t"},
40 {
"int16_t",
"std::int16_t"},
41 {
"UShort_t",
"unsigned short"},
42 {
"uint16_t",
"std::uint16_t"},
45 {
"int32_t",
"std::int32_t"},
46 {
"UInt_t",
"unsigned int"},
47 {
"unsigned",
"unsigned int"},
48 {
"uint32_t",
"std::uint32_t"},
53 {
"ULong_t",
"unsigned long"},
55 {
"Long64_t",
"long long"},
56 {
"int64_t",
"std::int64_t"},
57 {
"ULong64_t",
"unsigned long long"},
58 {
"uint64_t",
"std::uint64_t"}};
112 if (!
am || !
am->HasKey(
"rntuple.streamerMode"))
113 return ERNTupleSerializationMode::kUnset;
115 std::string
value =
am->GetPropertyAsString(
"rntuple.streamerMode");
117 if (
value ==
"TRUE") {
118 return ERNTupleSerializationMode::kForceStreamerMode;
119 }
else if (
value ==
"FALSE") {
120 return ERNTupleSerializationMode::kForceNativeMode;
123 <<
am->GetPropertyAsString(
"rntuple.streamerMode");
124 return ERNTupleSerializationMode::kUnset;
133 while (typeName.back() ==
']') {
140 if (std::from_chars(typeName.data() +
posLBrace + 1, typeName.data() +
posRBrace,
size).ec != std::errc{})
143 typeName.remove_suffix(typeName.size() -
posLBrace);
145 return std::make_tuple(std::string{typeName},
sizeVec);
150 std::vector<std::string>
result;
#define R__LOG_WARNING(...)
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
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 result
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
const_iterator begin() const
const_iterator end() const
TClass instances represent classes, structs and namespaces in the ROOT type system.
TDictAttributeMap * GetAttributeMap() const
std::vector< std::string > TokenizeTypeList(std::string_view templateType)
Used in RFieldBase::Create() in order to get the comma-separated list of template types E....
std::string GetNormalizedTypeName(const std::string &typeName)
Applies type name normalization rules that lead to the final name used to create a RField,...
ERNTupleSerializationMode
Possible settings for the "rntuple.streamerMode" class attribute in the dictionary.
ERNTupleSerializationMode GetRNTupleSerializationMode(TClass *cl)
std::tuple< std::string, std::vector< size_t > > ParseArrayType(std::string_view typeName)
Parse a type name of the form T[n][m]... and return the base type T and a vector that contains,...
ROOT::RLogChannel & NTupleLog()
Log channel for RNTuple diagnostics.
std::string CleanType(const char *typeDesc, int mode=0, const char **tail=nullptr)
Cleanup type description, redundant blanks removed and redundant tail ignored return *tail = pointer ...