@@ -75,29 +75,41 @@ class RNTupleAttributeEntry final {
75
75
friend class ROOT ::Experimental::RNTupleAttributeSetWriter;
76
76
friend class ROOT ::Experimental::RNTupleAttributeSetReader;
77
77
78
- std::unique_ptr<REntry> fEntry ;
78
+ // / Entry containing the Attribute-specific fields (such as the entry range)
79
+ std::unique_ptr<REntry> fMetaEntry ;
80
+ /* Entry containing to user-defined fields. It is "scoped" because the Attribute Model is organized like this:
81
+ *
82
+ * FieldZero
83
+ * |
84
+ * _________/ \_________
85
+ * / | \
86
+ * __entryStart __entryLen RecordField
87
+ * / | \
88
+ * (user defined fields)
89
+ *
90
+ * and the ScopedEntry is scoped under RecordField, as if it were its top-level field.
91
+ */
79
92
std::unique_ptr<REntry> fScopedEntry ;
80
93
RNTupleAttributeRange fRange ;
81
94
82
95
static std::unique_ptr<REntry> CreateScopedEntry (ROOT::RNTupleModel &model);
83
96
static std::pair<std::unique_ptr<REntry>, std::unique_ptr<REntry>> CreateInternalEntries (ROOT::RNTupleModel &model);
84
97
85
98
// / Creates a pending AttributeEntry whose length is not determined yet.
86
- // / `entry ` is the "real" entry containing all the attribute data including the range , `scopedEntry` only contains
87
- // / the values of the user-defined values.
88
- RNTupleAttributeEntry (std::unique_ptr<REntry> entry, std::unique_ptr<REntry> scopedEntry, ROOT::NTupleSize_t start)
89
- : fEntry (std::move(entry )),
99
+ // / `metaEntry ` is the entry containing the range data, `scopedEntry` contains the user-defined values.
100
+ RNTupleAttributeEntry (std::unique_ptr<REntry> metaEntry, std::unique_ptr<REntry> scopedEntry,
101
+ ROOT::NTupleSize_t start)
102
+ : fMetaEntry (std::move(metaEntry )),
90
103
fScopedEntry (std::move(scopedEntry)),
91
104
fRange(RNTupleAttributeRange::FromStartLength(start, 0 ))
92
105
{
93
106
}
94
107
95
108
// / Creates an AttributeEntry with the given range.
96
- // / `entry` is the "real" entry containing all the attribute data including the range, `scopedEntry` only contains
97
- // / the values of the user-defined values.
109
+ // / `metaEntry` is the entry containing the range data, `scopedEntry` contains the user-defined values.
98
110
RNTupleAttributeEntry (std::unique_ptr<REntry> entry, std::unique_ptr<REntry> scopedEntry,
99
111
RNTupleAttributeRange range)
100
- : fEntry (std::move(entry)), fScopedEntry(std::move(scopedEntry)), fRange(range)
112
+ : fMetaEntry (std::move(entry)), fScopedEntry(std::move(scopedEntry)), fRange(range)
101
113
{
102
114
}
103
115
0 commit comments