The container field for an ntuple model, which itself has no physical representation.
Definition at line 260 of file RField.hxx.
Public Member Functions | |
RFieldZero () | |
void | AcceptVisitor (Detail::RFieldVisitor &visitor) const final |
Detail::RFieldValue | CaptureValue (void *) final |
Creates a value from a memory location with an already constructed object. | |
std::unique_ptr< Detail::RFieldBase > | Clone (std::string_view newName) const |
void | GenerateColumnsImpl () final |
Creates the backing columns corresponsing to the field type and name. | |
std::unique_ptr< REntry > | GenerateEntry () const |
Generates managed values for the top-level sub fields. | |
Detail::RFieldValue | GenerateValue (void *) |
Generates a tree value in a given location of size at least GetValueSize(). | |
size_t | GetValueSize () const final |
The number of bytes taken by a value of the appropriate type. | |
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, std::size_t nRepetitions=0) | |
The constructor creates the underlying column objects and connects them to either a sink or a source. | |
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. | |
void | Attach (std::unique_ptr< Detail::RFieldBase > child) |
Add a new subfield to the list of nested fields. | |
RSchemaIterator | begin () |
virtual void | CommitCluster () |
Perform housekeeping tasks for global to cluster-local index translation. | |
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. | |
RSchemaIterator | end () |
void | Flush () const |
Ensure that all received items are written from page buffers to the storage. | |
RFieldValue | GenerateValue () |
Generates an object of the field type and allocates new initialized memory according to the type. | |
virtual size_t | GetAlignment () const |
For many types, the alignment requirement is equal to the size; otherwise override. | |
virtual RNTupleVersion | GetFieldVersion () const |
Indicates an evolution of the mapping scheme from C++ type to columns. | |
std::string | GetName () const |
NTupleSize_t | GetNElements () const |
std::size_t | GetNRepetitions () const |
const RFieldBase * | GetParent () const |
ENTupleStructure | GetStructure () const |
std::vector< const RFieldBase * > | GetSubFields () const |
std::string | GetType () const |
virtual RNTupleVersion | GetTypeVersion () const |
Indicates an evolution of the C++ type itself. | |
bool | IsSimple () const |
RFieldBase & | operator= (const RFieldBase &)=delete |
RFieldBase & | operator= (RFieldBase &&)=default |
void | Read (const RClusterIndex &clusterIndex, RFieldValue *value) |
void | Read (NTupleSize_t globalIndex, RFieldValue *value) |
Populate a single value with data from the tree, which needs to be of the fitting type. | |
virtual std::vector< RFieldValue > | SplitValue (const RFieldValue &value) const |
Creates the list of direct child values given a value for this field. | |
Additional Inherited Members | |
Static Public Member Functions inherited from ROOT::Experimental::Detail::RFieldBase | |
static RResult< std::unique_ptr< RFieldBase > > | Create (const std::string &fieldName, const std::string &typeName) |
Factory method to resurrect a field from the stored on-disk type information. | |
static RResult< void > | EnsureValidFieldName (std::string_view fieldName) |
Check whether a given string is a valid field name. | |
Protected Member Functions inherited from ROOT::Experimental::Detail::RFieldBase | |
virtual void | AppendImpl (const RFieldValue &value) |
Operations on values of complex types, e.g. | |
virtual void | ReadGlobalImpl (NTupleSize_t globalIndex, RFieldValue *value) |
virtual void | ReadInClusterImpl (const RClusterIndex &clusterIndex, RFieldValue *value) |
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. | |
RFieldBase * | fParent |
Sub fields point to their mother field. | |
RColumn * | fPrincipalColumn |
Points into fColumns. | |
std::vector< std::unique_ptr< RFieldBase > > | fSubFields |
Collections and classes own sub fields. | |
#include <ROOT/RField.hxx>
|
inline |
Definition at line 262 of file RField.hxx.
|
finalvirtual |
Reimplemented from ROOT::Experimental::Detail::RFieldBase.
Definition at line 363 of file RField.cxx.
|
inlinefinalvirtual |
Creates a value from a memory location with an already constructed object.
Implements ROOT::Experimental::Detail::RFieldBase.
Definition at line 268 of file RField.hxx.
|
virtual |
Implements ROOT::Experimental::Detail::RFieldBase.
Definition at line 345 of file RField.cxx.
|
inlinefinalvirtual |
Creates the backing columns corresponsing to the field type and name.
Implements ROOT::Experimental::Detail::RFieldBase.
Definition at line 265 of file RField.hxx.
std::unique_ptr< ROOT::Experimental::REntry > ROOT::Experimental::RFieldZero::GenerateEntry | ( | ) | const |
Generates managed values for the top-level sub fields.
Definition at line 354 of file RField.cxx.
|
inlinevirtual |
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 267 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 269 of file RField.hxx.