16#ifndef ROOT7_RNTupleUtil
17#define ROOT7_RNTupleUtil
32template <
typename SizeT>
34 static_assert(std::is_same_v<SizeT, std::uint32_t> || std::is_same_v<SizeT, std::uint64_t>,
35 "RNTupleCardinality is only supported with std::uint32_t or std::uint64_t template parameters");
53namespace Experimental {
203 std::variant<std::uint64_t, RNTupleLocatorObject64>
fPosition{};
226 template <
typename T>
232 template <
typename T>
299 return std::unique_ptr<T[]>(
new T[
size]);
303 static_cast<ENTupleColumnType>(std::numeric_limits<std::underlying_type_t<ENTupleColumnType>>::max() - 1);
306 static_cast<ENTupleStructure>(std::numeric_limits<std::underlying_type_t<ENTupleStructure>>::max() - 1);
317using EColumnType [[deprecated(
"ROOT::Experimental::EColumnType moved to ROOT::Experimental::ENTupleColumnType")]] =
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 r
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 char Point_t Rectangle_t WindowAttributes_t index
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
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 Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
The in-memory representation of a 32bit or 64bit on-disk index column.
RColumnIndex operator++(int)
RColumnIndex & operator+=(const ValueType value)
RColumnIndex & operator=(const ValueType value)
constexpr RColumnIndex(ValueType value)
Holds the index and the tag of a kSwitch column.
std::uint32_t GetTag() const
RColumnSwitch(NTupleSize_t index, std::uint32_t tag)
NTupleSize_t GetIndex() const
Addresses a column element or field item relative to a particular cluster, instead of a global NTuple...
bool operator==(RNTupleLocalIndex other) const
RNTupleLocalIndex & operator=(const RNTupleLocalIndex &other)=default
RNTupleLocalIndex operator-(NTupleSize_t off) const
DescriptorId_t GetClusterId() const
NTupleSize_t fIndexInCluster
RNTupleLocalIndex operator++(int)
RNTupleLocalIndex & operator++()
RNTupleLocalIndex(const RNTupleLocalIndex &other)=default
constexpr RNTupleLocalIndex(DescriptorId_t clusterId, NTupleSize_t indexInCluster)
RNTupleLocalIndex()=default
bool operator!=(RNTupleLocalIndex other) const
DescriptorId_t fClusterId
RNTupleLocalIndex operator+(NTupleSize_t off) const
NTupleSize_t GetIndexInCluster() const
RNTupleLocator payload that is common for object stores using 64bit location information.
bool operator==(const RNTupleLocatorObject64 &other) const
RNTupleLocatorObject64(std::uint64_t location)
std::uint64_t GetLocation() const
RNTupleLocatorObject64()=default
Generic information about the physical location of data.
std::uint8_t GetReserved() const
ELocatorType
Values for the Type field in non-disk locators.
std::uint8_t fReserved
Reserved for use by concrete storage backends.
std::uint64_t GetNBytesOnStorage() const
ELocatorType GetType() const
void SetNBytesOnStorage(std::uint64_t nBytesOnStorage)
ELocatorType fType
For non-disk locators, the value for the Type field.
void SetPosition(T position)
bool operator==(const RNTupleLocator &other) const
std::variant< std::uint64_t, RNTupleLocatorObject64 > fPosition
Simple on-disk locators consisting of a 64-bit offset use variant type uint64_t; extended locators ha...
void SetReserved(std::uint8_t reserved)
std::uint64_t fNBytesOnStorage
void SetType(ELocatorType type)
A log configuration for a channel, e.g.
RResult< void > EnsureValidNameForRNTuple(std::string_view name, std::string_view where)
Check whether a given string is a valid name according to the RNTuple specification.
constexpr RNTupleLocator::ELocatorType kTestLocatorType
auto MakeAliasedSharedPtr(T *rawPtr)
constexpr ENTupleStructure kTestFutureFieldStructure
std::unique_ptr< T[]> MakeUninitArray(std::size_t size)
Make an array of default-initialized elements.
constexpr NTupleSize_t kInvalidNTupleIndex
std::uint64_t NTupleSize_t
Integer type long enough to hold the maximum number of entries in a column.
ROOT::RLogChannel & NTupleLog()
Log channel for RNTuple diagnostics.
std::uint64_t DescriptorId_t
Distriniguishes elements of the same type within a descriptor, e.g. different fields.
ENTupleStructure
The fields in the ntuple model tree can carry different structural information about the type system.
constexpr DescriptorId_t kInvalidDescriptorId
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Helper types to present an offset column as array of collection sizes.
RNTupleCardinality & operator=(const ValueType value)
constexpr RNTupleCardinality(ValueType value)