8#ifndef ROOT7_RNTuple_Attr_Reading
9#define ROOT7_RNTuple_Attr_Reading
23class RNTupleDescriptor;
26namespace Experimental {
28class RNTupleAttrEntryIterable;
63 std::optional<ROOT::NTupleSize_t>
GetFirst()
const {
return fLength ? std::make_optional(
fStart) : std::nullopt; }
68 std::optional<ROOT::NTupleSize_t>
GetLast()
const
77 std::optional<std::pair<ROOT::NTupleSize_t, ROOT::NTupleSize_t>>
GetFirstLast()
const
191 using Iter_t =
decltype(std::declval<RNTupleAttrSetReader>().fEntryRanges.begin());
209 if (
fFilter->fRange.GetLength() == 0)
#define R__ASSERT(e)
Checks condition e and reports a fatal error if it's false.
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 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 length
const value_type * pointer
bool operator!=(const iterator &rh) const
std::ptrdiff_t difference_type
decltype(std::declval< RNTupleAttrSetReader >().fEntryRanges.begin()) Iter_t
RIterator(Iter_t iter, Iter_t end, std::optional< RFilter > filter)
Iter_t SkipFiltered() const
std::forward_iterator_tag iterator_category
bool FullyContained(RNTupleAttrRange range) const
const value_type & reference
bool operator==(const iterator &rh) const
std::optional< RFilter > fFilter
Iterable class used to loop over attribute entries.
std::optional< RFilter > fFilter
RNTupleAttrEntryIterable(RNTupleAttrSetReader &reader, std::optional< RFilter > filter={})
RNTupleAttrSetReader * fReader
A range of main entries referred to by an attribute entry.
static RNTupleAttrRange FromStartLength(ROOT::NTupleSize_t start, ROOT::NTupleSize_t length)
std::optional< std::pair< ROOT::NTupleSize_t, ROOT::NTupleSize_t > > GetFirstLast() const
Returns the pair { firstEntryIdx, lastEntryIdx } (inclusive). Returns nullopt if the range has zero l...
static RNTupleAttrRange FromStartEnd(ROOT::NTupleSize_t start, ROOT::NTupleSize_t end)
Creates an AttributeRange from [start, end), where end is one past the last valid entry of the range ...
std::pair< ROOT::NTupleSize_t, ROOT::NTupleSize_t > GetStartLength() const
Returns the pair { start, length }.
RNTupleAttrRange()=default
RNTupleAttrRange(ROOT::NTupleSize_t start, ROOT::NTupleSize_t length)
ROOT::NTupleSize_t fLength
ROOT::NTupleSize_t GetLength() const
ROOT::NTupleSize_t GetStart() const
Returns the beginning of the range.
std::optional< ROOT::NTupleSize_t > GetLast() const
Returns the last valid entry index in the range. Returns nullopt if the range has zero length.
std::optional< ROOT::NTupleSize_t > GetFirst() const
Returns the first valid entry index in the range. Returns nullopt if the range has zero length.
ROOT::NTupleSize_t GetEnd() const
Returns one past the last valid index of the range, equal to GetStart() + GetLength().
ROOT::NTupleSize_t fStart
Class used to read a RNTupleAttrSet in the context of a RNTupleReader.
RNTupleAttrEntryIterable GetAttributesInRange(NTupleSize_t startEntry, NTupleSize_t endEntry)
Returns all the attributes whose range is fully contained in [startEntry, endEntry)
RNTupleAttrSetReader(RNTupleAttrSetReader &&)=default
std::unique_ptr< ROOT::RNTupleModel > fUserModel
The reconstructed user model.
RNTupleAttrSetReader(const RNTupleAttrSetReader &)=delete
const ROOT::RNTupleDescriptor & GetDescriptor() const
Returns the read-only descriptor of this attribute set.
std::unique_ptr< RNTupleReader > fReader
The internal Reader used to read the AttributeSet RNTuple.
RNTupleAttrSetReader & operator=(const RNTupleAttrSetReader &)=delete
RNTupleAttrSetReader(std::unique_ptr< RNTupleReader > reader, std::uint16_t vSchemaMajor)
RNTupleAttrEntryIterable GetAttributes()
Returns all the attributes in this Set. The returned attributes are sorted by entry range start.
std::vector< std::pair< RNTupleAttrRange, NTupleSize_t > > fEntryRanges
List containing pairs { entryRange, entryIndex }, used to quickly find out which entries in the Attri...
std::size_t GetNEntries() const
Returns the number of all attribute entries in this attribute set.
std::unique_ptr< REntry > CreateEntry()
Creates an entry suitable for use with LoadEntry.
RNTupleAttrEntryIterable GetAttributesContainingRange(NTupleSize_t startEntry, NTupleSize_t endEntry)
Returns all the attributes whose range fully contains [startEntry, endEntry)
~RNTupleAttrSetReader()=default
const ROOT::RNTupleModel & GetModel() const
Returns the read-only model of this attribute set.
RNTupleAttrSetReader & operator=(RNTupleAttrSetReader &&)=default
RNTupleAttrRange LoadEntry(NTupleSize_t index)
Loads the attribute entry at position index into the default entry.
The REntry is a collection of values in an RNTuple corresponding to a complete row in the data set.
The on-storage metadata of an RNTuple.
The RNTupleModel encapulates the schema of an RNTuple.
Reads RNTuple data from storage.
std::uint64_t NTupleSize_t
Integer type long enough to hold the maximum number of entries in a column.