16#ifndef ROOT7_RNTupleView
17#define ROOT7_RNTupleView
28namespace Experimental {
43 class RIterator :
public std::iterator<std::forward_iterator_tag, NTupleSize_t> {
96 fField.ConnectColumns(pageSource);
98 f.ConnectColumns(pageSource);
125 fField.ConnectColumns(pageSource);
162 return prefix + std::string(
name);
178 template <
typename T>
static constexpr char kCollectionSeparator
Field names convey the level of subfields; sub fields (nested collections) are separated by a dot.
Abstract interface to read data from a tree.
void GetCollectionInfo(NTupleSize_t index, NTupleSize_t *idxStart, ClusterSize_t *size)
Special help for offset fields.
Classes with dictionaries that can be inspected by TClass.
An RNTuple that is used to read data from storage.
A view for a collection, that can itself generate new ntuple views for its nested fields.
RNTupleViewCollection GetViewCollection(std::string_view fieldName)
~RNTupleViewCollection()=default
std::string GetSubName(std::string_view name)
RNTupleViewRange GetViewRange(NTupleSize_t index)
RNTupleViewCollection(RNTupleViewCollection &&other)=default
RNTupleViewCollection & operator=(RNTupleViewCollection &&other)=default
RNTupleViewCollection & operator=(const RNTupleViewCollection &other)=delete
std::string fCollectionName
ClusterSize_t operator()(NTupleSize_t index)
RNTupleView< T > GetView(std::string_view fieldName)
Detail::RPageSource * fSource
RNTupleViewCollection(const RNTupleViewCollection &other)=delete
RNTupleViewCollection(std::string_view fieldName, Detail::RPageSource *source)
bool operator!=(const iterator &rh) const
bool operator==(const iterator &rh) const
RIterator(NTupleSize_t index)
Used to loop over indexes (entries or collections) between start and end.
RNTupleViewRange(NTupleSize_t start, NTupleSize_t end)
const NTupleSize_t fStart
float operator()(NTupleSize_t index)
RNTupleView(const RNTupleView &other)=delete
RNTupleView(RNTupleView &&other)=default
RNTupleView(std::string_view fieldName, Detail::RPageSource *pageSource)
RNTupleView & operator=(RNTupleView &&other)=default
RNTupleView & operator=(const RNTupleView &other)=delete
An RNTupleView provides read-only access to a single field of the ntuple.
Detail::RFieldValue fValue
RNTupleView & operator=(RNTupleView &&other)=default
RNTupleView & operator=(const RNTupleView &other)=delete
const T & operator()(NTupleSize_t index)
RNTupleView(RNTupleView &&other)=default
RNTupleView(const RNTupleView &other)=delete
RNTupleView(std::string_view fieldName, Detail::RPageSource *pageSource)
friend class RNTupleViewCollection
basic_string_view< char > string_view
std::uint64_t NTupleSize_t
Integer type long enough to hold the maximum number of entries in a column.
constexpr NTupleSize_t kInvalidNTupleIndex
Namespace for new ROOT classes and functions.
Wrap the 32bit integer in a struct in order to avoid template specialization clash with std::uint32_t...