ROOT 6.18/05 Reference Guide |
Definition at line 314 of file RField.hxx.
Public Member Functions | |
RFieldCollection (RFieldCollection &&other)=default | |
RFieldCollection (std::string_view name, std::shared_ptr< RCollectionNTuple > collectionNTuple, std::unique_ptr< RNTupleModel > collectionModel) | |
~RFieldCollection ()=default | |
Detail::RFieldValue | CaptureValue (void *where) final |
Creates a value from a memory location with an already constructed object. More... | |
RFieldBase * | Clone (std::string_view newName) final |
void | CommitCluster () final |
Perform housekeeping tasks for global to cluster-local index translation. More... | |
void | DoGenerateColumns () final |
Creates the backing columns corresponsing to the field type and name. More... | |
ROOT::Experimental::Detail::RFieldValue | GenerateValue (void *where) final |
Generates a tree value in a given location of size at least GetValueSize(). More... | |
unsigned int | GetNColumns () const final |
Returns the number of columns generated to store data for the field; defaults to 1. More... | |
size_t | GetValueSize () const final |
The number of bytes taken by a value of the appropriate type. More... | |
RFieldCollection & | operator= (RFieldCollection &&other)=default |
Public Member Functions inherited from ROOT::Experimental::Detail::RFieldBase | |
RFieldBase (const RFieldBase &)=delete | |
RFieldBase (RFieldBase &&)=default | |
RFieldBase (std::string_view name, std::string_view type, ENTupleStructure structure, bool isSimple) | |
The constructor creates the underlying column objects and connects them to either a sink or a source. More... | |
virtual | ~RFieldBase () |
void | Append (const RFieldValue &value) |
Write the given value into columns. The value object has to be of the same type as the field. More... | |
void | Attach (std::unique_ptr< Detail::RFieldBase > child) |
RIterator | begin () |
virtual RFieldValue | CaptureValue (void *where)=0 |
Creates a value from a memory location with an already constructed object. More... | |
virtual RFieldBase * | Clone (std::string_view newName)=0 |
virtual void | CommitCluster () |
Perform housekeeping tasks for global to cluster-local index translation. More... | |
void | ConnectColumns (Detail::RPageStorage *pageStorage) |
Registeres (or re-registers) the backing columns with the physical storage. More... | |
virtual void | DestroyValue (const RFieldValue &value, bool dtorOnly=false) |
Releases the resources acquired during GenerateValue (memory and constructor) This implementation works for simple types but needs to be overwritten for complex ones. More... | |
RIterator | end () |
void | Flush () const |
Ensure that all received items are written from page buffers to the storage. More... | |
RFieldValue | GenerateValue () |
Generates a tree value of the field type and allocates new initialized memory according to the type. More... | |
virtual RFieldValue | GenerateValue (void *where)=0 |
Generates a tree value in a given location of size at least GetValueSize(). More... | |
virtual RNTupleVersion | GetFieldVersion () const |
Indicates an evolution of the mapping scheme from C++ type to columns. More... | |
std::string | GetName () const |
virtual unsigned int | GetNColumns () const =0 |
Returns the number of columns generated to store data for the field; defaults to 1. More... | |
NTupleSize_t | GetNItems () |
The number of elements in the principal column. For top level fields, the number of entries. More... | |
const RFieldBase * | GetParent () const |
ENTupleStructure | GetStructure () const |
std::string | GetType () const |
virtual RNTupleVersion | GetTypeVersion () const |
Indicates an evolution of the C++ type itself. More... | |
virtual size_t | GetValueSize () const =0 |
The number of bytes taken by a value of the appropriate type. More... | |
bool | IsSimple () const |
RFieldBase & | operator= (const RFieldBase &)=delete |
RFieldBase & | operator= (RFieldBase &&)=default |
void | Read (NTupleSize_t index, RFieldValue *value) |
Populate a single value with data from the tree, which needs to be of the fitting type. More... | |
void | ReadV (NTupleSize_t index, NTupleSize_t count, void *dst) |
Type unsafe bulk read interface; dst must point to a vector of objects of the field type. More... | |
Static Public Member Functions | |
static std::string | MyTypeName () |
Static Public Member Functions inherited from ROOT::Experimental::Detail::RFieldBase | |
static RFieldBase * | Create (const std::string &fieldName, const std::string &typeName) |
Factory method to resurrect a field from the stored on-disk type information. More... | |
static std::string | GetCollectionName (const std::string &parentName) |
Get the name for an item sub field that is part of a collection, e.g. the float field of std::vector<float> More... | |
static std::string | GetLeafName (const std::string &fullName) |
Get the tail of the field name up to the last dot. More... | |
Private Attributes | |
std::shared_ptr< RCollectionNTuple > | fCollectionNTuple |
Save the link to the collection ntuple in order to reset the offset counter when committing the cluster. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from ROOT::Experimental::Detail::RFieldBase | |
static constexpr char | kCollectionSeparator = '/' |
Field names convey the level of subfields; sub fields (nested collections) are separated by a dot. More... | |
Protected Member Functions inherited from ROOT::Experimental::Detail::RFieldBase | |
virtual void | DoAppend (const RFieldValue &value) |
Operations on values of complex types, e.g. More... | |
virtual void | DoGenerateColumns ()=0 |
Creates the backing columns corresponsing to the field type and name. More... | |
virtual void | DoRead (NTupleSize_t index, RFieldValue *value) |
virtual void | DoReadV (NTupleSize_t index, NTupleSize_t count, void *dst) |
Protected Attributes inherited from ROOT::Experimental::Detail::RFieldBase | |
std::vector< std::unique_ptr< RColumn > > | fColumns |
The columns are connected either to a sink or to a source (not to both); they are owned by the field. More... | |
RFieldBase * | fParent |
Sub fields point to their mother field. More... | |
RColumn * | fPrincipalColumn |
All fields have a main column. For collection fields, the main column is the index field. Points into fColumns. More... | |
std::vector< std::unique_ptr< RFieldBase > > | fSubFields |
Collections and classes own sub fields. More... | |
#include <ROOT/RField.hxx>
ROOT::Experimental::RFieldCollection::RFieldCollection | ( | std::string_view | name, |
std::shared_ptr< RCollectionNTuple > | collectionNTuple, | ||
std::unique_ptr< RNTupleModel > | collectionModel | ||
) |
Definition at line 496 of file RField.cxx.
|
default |
|
default |
|
inlinefinalvirtual |
Creates a value from a memory location with an already constructed object.
Implements ROOT::Experimental::Detail::RFieldBase.
Definition at line 337 of file RField.hxx.
|
finalvirtual |
Implements ROOT::Experimental::Detail::RFieldBase.
Definition at line 524 of file RField.cxx.
|
finalvirtual |
Perform housekeeping tasks for global to cluster-local index translation.
Reimplemented from ROOT::Experimental::Detail::RFieldBase.
Definition at line 538 of file RField.cxx.
|
finalvirtual |
Creates the backing columns corresponsing to the field type and name.
Implements ROOT::Experimental::Detail::RFieldBase.
Definition at line 516 of file RField.cxx.
|
inlinefinalvirtual |
Generates a tree value in a given location of size at least GetValueSize().
Assumes that where has been allocated by malloc().
Implements ROOT::Experimental::Detail::RFieldBase.
Definition at line 332 of file RField.hxx.
|
inlinefinalvirtual |
Returns the number of columns generated to store data for the field; defaults to 1.
Implements ROOT::Experimental::Detail::RFieldBase.
Definition at line 329 of file RField.hxx.
|
inlinefinalvirtual |
The number of bytes taken by a value of the appropriate type.
Implements ROOT::Experimental::Detail::RFieldBase.
Definition at line 341 of file RField.hxx.
|
inlinestatic |
Definition at line 319 of file RField.hxx.
|
default |
|
private |
Save the link to the collection ntuple in order to reset the offset counter when committing the cluster.
Definition at line 317 of file RField.hxx.