ROOT
master
Reference Guide
Loading...
Searching...
No Matches
RNTupleAttrUtils.hxx
Go to the documentation of this file.
1
/// \file ROOT/RNTupleAttrUtils.hxx
2
/// \author Giacomo Parolini <giacomo.parolini@cern.ch>
3
/// \date 2026-03-10
4
/// \warning This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback
5
/// is welcome!
6
7
#ifndef ROOT7_RNTuple_Attr_Utils
8
#define ROOT7_RNTuple_Attr_Utils
9
10
#include <cstddef>
11
#include <cstdint>
12
13
namespace
ROOT::Experimental::Internal::RNTupleAttributes
{
14
15
/*
16
Attribute RNTuples have a fixed Model schema that looks like this:
17
18
+-----------+
19
| MetaModel |
20
+-----+-----+
21
|
22
+--------------+---------------+
23
| | |
24
+------+------+ +-----+------+ +------+------+
25
| _rangeStart | | _rangeLen | | _userData |
26
+-------------+ +------------+ +------+------+
27
|
28
+-----+-----+
29
| UserModel |
30
+-----------+
31
32
Where "_userData" is an untyped record field containing all the user-defined Model's fields
33
as its children.
34
35
The order and name of the meta Model's fields is defined by the schema version.
36
*/
37
38
inline
const
std::uint16_t
kSchemaVersionMajor
= 1;
39
inline
const
std::uint16_t
kSchemaVersionMinor
= 0;
40
41
enum
: std::size_t {
42
kMetaFieldIndex_RangeStart
,
43
kMetaFieldIndex_RangeLen
,
44
kMetaFieldIndex_UserData
,
45
46
kMetaFieldIndex_Count
47
};
48
inline
constexpr
const
char
*
kMetaFieldNames
[] = {
"_rangeStart"
,
"_rangeLen"
,
"_userData"
};
49
static_assert
(
kMetaFieldIndex_Count
==
sizeof
(
kMetaFieldNames
) /
sizeof
(
kMetaFieldNames
[0]));
50
51
}
// namespace ROOT::Experimental::Internal::RNTupleAttributes
52
53
#endif
TRangeDynCast
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Definition
TCollection.h:360
ROOT::Experimental::Internal::RNTupleAttributes
Definition
RNTupleAttrUtils.hxx:13
ROOT::Experimental::Internal::RNTupleAttributes::kSchemaVersionMajor
const std::uint16_t kSchemaVersionMajor
Definition
RNTupleAttrUtils.hxx:38
ROOT::Experimental::Internal::RNTupleAttributes::kSchemaVersionMinor
const std::uint16_t kSchemaVersionMinor
Definition
RNTupleAttrUtils.hxx:39
ROOT::Experimental::Internal::RNTupleAttributes::kMetaFieldIndex_RangeLen
@ kMetaFieldIndex_RangeLen
Definition
RNTupleAttrUtils.hxx:43
ROOT::Experimental::Internal::RNTupleAttributes::kMetaFieldIndex_Count
@ kMetaFieldIndex_Count
Definition
RNTupleAttrUtils.hxx:46
ROOT::Experimental::Internal::RNTupleAttributes::kMetaFieldIndex_UserData
@ kMetaFieldIndex_UserData
Definition
RNTupleAttrUtils.hxx:44
ROOT::Experimental::Internal::RNTupleAttributes::kMetaFieldIndex_RangeStart
@ kMetaFieldIndex_RangeStart
Definition
RNTupleAttrUtils.hxx:42
ROOT::Experimental::Internal::RNTupleAttributes::kMetaFieldNames
constexpr const char * kMetaFieldNames[]
Definition
RNTupleAttrUtils.hxx:48
tree
ntuple
inc
ROOT
RNTupleAttrUtils.hxx
ROOTmaster - Reference Guide Generated on Mon May 25 2026 04:36:14 (GVA Time) using Doxygen 1.10.0