7#ifndef ROOT7_RNTuple_Attr_Reading
8#define ROOT7_RNTuple_Attr_Reading
22class RNTupleDescriptor;
25class RNTupleAttrEntryIterable;
60 std::optional<ROOT::NTupleSize_t>
GetFirst()
const {
return fLength ? std::make_optional(
fStart) : std::nullopt; }
65 std::optional<ROOT::NTupleSize_t>
GetLast()
const
74 std::optional<std::pair<ROOT::NTupleSize_t, ROOT::NTupleSize_t>>
GetFirstLast()
const
188 using Iter_t =
decltype(std::declval<RNTupleAttrSetReader>().fEntryRanges.begin());
206 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
The REntry is a collection of values in an RNTuple corresponding to a complete row in the data set.
bool FullyContained(RNTupleAttrRange range) const
const value_type * pointer
std::optional< RFilter > fFilter
decltype(std::declval< RNTupleAttrSetReader >().fEntryRanges.begin()) Iter_t
RIterator(Iter_t iter, Iter_t end, std::optional< RFilter > filter)
std::ptrdiff_t difference_type
bool operator==(const iterator &rh) const
const value_type & reference
Iter_t SkipFiltered() const
std::forward_iterator_tag iterator_category
bool operator!=(const iterator &rh) const
Iterable class used to loop over attribute entries.
RNTupleAttrSetReader * fReader
RNTupleAttrEntryIterable(RNTupleAttrSetReader &reader, std::optional< RFilter > filter={})
std::optional< RFilter > fFilter
A range of main entries referred to by an attribute entry.
ROOT::NTupleSize_t fStart
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 fLength
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::optional< ROOT::NTupleSize_t > GetLast() const
Returns the last valid entry index in the range. Returns nullopt if the range has zero length.
static RNTupleAttrRange FromStartLength(ROOT::NTupleSize_t start, ROOT::NTupleSize_t length)
RNTupleAttrRange(ROOT::NTupleSize_t start, ROOT::NTupleSize_t length)
ROOT::NTupleSize_t GetStart() const
Returns the beginning of the range.
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...
RNTupleAttrRange()=default
ROOT::NTupleSize_t GetLength() const
std::pair< ROOT::NTupleSize_t, ROOT::NTupleSize_t > GetStartLength() const
Returns the pair { start, length }.
Class used to read a RNTupleAttrSet in the context of a RNTupleReader.
const ROOT::RNTupleDescriptor & GetDescriptor() const
Returns the read-only descriptor of this attribute set.
std::vector< std::pair< RNTupleAttrRange, NTupleSize_t > > fEntryRanges
List containing pairs { entryRange, entryIndex }, used to quickly find out which entries in the Attri...
std::unique_ptr< REntry > CreateEntry()
Creates an entry suitable for use with LoadEntry.
const ROOT::RNTupleModel & GetModel() const
Returns the read-only model of this attribute set.
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< RNTupleReader > fReader
The internal Reader used to read the AttributeSet RNTuple.
std::unique_ptr< ROOT::RNTupleModel > fUserModel
The reconstructed user model.
RNTupleAttrSetReader(std::unique_ptr< RNTupleReader > reader, std::uint16_t vSchemaMajor)
RNTupleAttrEntryIterable GetAttributesContainingRange(NTupleSize_t startEntry, NTupleSize_t endEntry)
Returns all the attributes whose range fully contains [startEntry, endEntry)
RNTupleAttrRange LoadEntry(NTupleSize_t index)
Loads the attribute entry at position index into the default entry.
RNTupleAttrSetReader & operator=(RNTupleAttrSetReader &&)=default
RNTupleAttrSetReader & operator=(const RNTupleAttrSetReader &)=delete
RNTupleAttrEntryIterable GetAttributes()
Returns all the attributes in this Set. The returned attributes are sorted by entry range start.
~RNTupleAttrSetReader()=default
std::size_t GetNEntries() const
Returns the number of all attribute entries in this attribute set.
RNTupleAttrSetReader(const RNTupleAttrSetReader &)=delete
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.