Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-16 09:21:19

0001 /// \file ROOT/RNTupleAttrUtils.hxx
0002 /// \ingroup NTuple
0003 /// \author Giacomo Parolini <giacomo.parolini@cern.ch>
0004 /// \date 2026-03-10
0005 /// \warning This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback
0006 /// is welcome!
0007 
0008 #ifndef ROOT7_RNTuple_Attr_Utils
0009 #define ROOT7_RNTuple_Attr_Utils
0010 
0011 #include <cstddef>
0012 #include <cstdint>
0013 
0014 namespace ROOT::Experimental::Internal::RNTupleAttributes {
0015 
0016 /*
0017 Attribute RNTuples have a fixed Model schema that looks like this:
0018 
0019                 +-----------+
0020                 | MetaModel |
0021                 +-----+-----+
0022                       |
0023        +--------------+---------------+
0024        |              |               |
0025 +------+------+ +-----+------+ +------+------+
0026 | _rangeStart | | _rangeLen  | |  _userData  |
0027 +-------------+ +------------+ +------+------+
0028                                       |
0029                                 +-----+-----+
0030                                 | UserModel |
0031                                 +-----------+
0032 
0033 Where "_userData" is an untyped record field containing all the user-defined Model's fields
0034 as its children.
0035 
0036 The order and name of the meta Model's fields is defined by the schema version.
0037 */
0038 
0039 inline const std::uint16_t kSchemaVersionMajor = 1;
0040 inline const std::uint16_t kSchemaVersionMinor = 0;
0041 
0042 enum : std::size_t {
0043    kMetaFieldIndex_RangeStart,
0044    kMetaFieldIndex_RangeLen,
0045    kMetaFieldIndex_UserData,
0046 
0047    kMetaFieldIndex_Count
0048 };
0049 inline constexpr const char *kMetaFieldNames[] = {"_rangeStart", "_rangeLen", "_userData"};
0050 static_assert(kMetaFieldIndex_Count == sizeof(kMetaFieldNames) / sizeof(kMetaFieldNames[0]));
0051 
0052 } // namespace ROOT::Experimental::Internal::RNTupleAttributes
0053 
0054 #endif