The field for a class with dictionary.
Definition at line 307 of file RField.hxx.
Public Member Functions | |
| RFieldClass (RFieldClass &&other)=default | |
| RFieldClass (std::string_view fieldName, std::string_view className) | |
| ~RFieldClass ()=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 | DestroyValue (const Detail::RFieldValue &value, bool dtorOnly=false) final |
| Releases the resources acquired during GenerateValue (memory and constructor) This implementation works for simple types but needs to be overwritten for complex ones. More... | |
| void | DoGenerateColumns () final |
| Creates the backing columns corresponsing to the field type and name. More... | |
| Detail::RFieldValue | GenerateValue (void *where) override |
| Generates a tree value in a given location of size at least GetValueSize(). More... | |
| size_t | GetAlignment () const final |
| For many types, the alignment requirement is equal to the size; otherwise override. More... | |
| size_t | GetValueSize () const override |
| The number of bytes taken by a value of the appropriate type. More... | |
| RFieldClass & | operator= (RFieldClass &&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, std::size_t nRepetitions=0) | |
| The constructor creates the underlying column objects and connects them to either a sink or a source. More... | |
| virtual | ~RFieldBase () |
| virtual void | AcceptVisitor (RNTupleVisitor &visitor, int level) const |
| 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... | |
| 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 size_t | GetAlignment () const |
| For many types, the alignment requirement is equal to the size; otherwise override. More... | |
| virtual RNTupleVersion | GetFieldVersion () const |
| Indicates an evolution of the mapping scheme from C++ type to columns. More... | |
| RLevelInfo | GetLevelInfo () const |
| std::string | GetName () const |
| std::size_t | GetNRepetitions () const |
| 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 (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. More... | |
| void | SetOrder (int o) |
| virtual void | TraverseVisitor (RNTupleVisitor &visitor, int level=0) const |
| Used for the visitor design pattern, see for example RNTupleReader::Print() More... | |
Protected Member Functions | |
| void | DoAppend (const Detail::RFieldValue &value) final |
| Operations on values of complex types, e.g. More... | |
| void | DoReadGlobal (NTupleSize_t globalIndex, Detail::RFieldValue *value) final |
| void | DoReadInCluster (const RClusterIndex &clusterIndex, Detail::RFieldValue *value) final |
| 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 | DoReadGlobal (NTupleSize_t globalIndex, RFieldValue *value) |
| virtual void | DoReadInCluster (const RClusterIndex &clusterIndex, RFieldValue *value) |
Private Attributes | |
| TClass * | fClass |
| std::size_t | fMaxAlignment = 1 |
Additional Inherited Members | |
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... | |
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 |
| Points into fColumns. More... | |
| std::vector< std::unique_ptr< RFieldBase > > | fSubFields |
| Collections and classes own sub fields. More... | |
#include <ROOT/RField.hxx>
| ROOT::Experimental::RFieldClass::RFieldClass | ( | std::string_view | fieldName, |
| std::string_view | className | ||
| ) |
Definition at line 428 of file RField.cxx.
|
default |
|
default |
|
finalvirtual |
Creates a value from a memory location with an already constructed object.
Implements ROOT::Experimental::Detail::RFieldBase.
Definition at line 497 of file RField.cxx.
|
finalvirtual |
Implements ROOT::Experimental::Detail::RFieldBase.
Definition at line 444 of file RField.cxx.
|
finalvirtual |
Releases the resources acquired during GenerateValue (memory and constructor) This implementation works for simple types but needs to be overwritten for complex ones.
Reimplemented from ROOT::Experimental::Detail::RFieldBase.
Definition at line 490 of file RField.cxx.
|
finalprotectedvirtual |
Operations on values of complex types, e.g.
ones that involve multiple columns or for which no direct column type exists.
Reimplemented from ROOT::Experimental::Detail::RFieldBase.
Definition at line 449 of file RField.cxx.
|
finalvirtual |
Creates the backing columns corresponsing to the field type and name.
Implements ROOT::Experimental::Detail::RFieldBase.
Definition at line 481 of file RField.cxx.
|
finalprotectedvirtual |
Reimplemented from ROOT::Experimental::Detail::RFieldBase.
Definition at line 459 of file RField.cxx.
|
finalprotectedvirtual |
Reimplemented from ROOT::Experimental::Detail::RFieldBase.
Definition at line 470 of file RField.cxx.
|
overridevirtual |
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.
Reimplemented in ROOT::Experimental::RField< T, typename >, and ROOT::Experimental::RField< ROOT::Experimental::RClusterSize >.
Definition at line 485 of file RField.cxx.
|
inlinefinalvirtual |
For many types, the alignment requirement is equal to the size; otherwise override.
Reimplemented from ROOT::Experimental::Detail::RFieldBase.
Definition at line 329 of file RField.hxx.
|
overridevirtual |
The number of bytes taken by a value of the appropriate type.
Implements ROOT::Experimental::Detail::RFieldBase.
Definition at line 502 of file RField.cxx.
|
default |
|
private |
Definition at line 309 of file RField.hxx.
|
private |
Definition at line 310 of file RField.hxx.