template<typename T, typename = void>
class ROOT::Experimental::RField< T, typename >
Classes with dictionaries that can be inspected by TClass.
Definition at line 658 of file RField.hxx.
|
| RField (RField &&other)=default |
|
| RField (std::string_view name) |
|
| ~RField () override=default |
|
ROOT::Experimental::Detail::RFieldValue | GenerateValue (void *where) final |
| Generates a tree value in a given location of size at least GetValueSize(). More...
|
|
template<typename... ArgsT> |
ROOT::Experimental::Detail::RFieldValue | GenerateValue (void *where, ArgsT &&...args) |
|
RField & | operator= (RField &&other)=default |
|
| RClassField (RClassField &&other)=default |
|
| RClassField (std::string_view fieldName, std::string_view className) |
|
| ~RClassField () override=default |
|
void | AcceptVisitor (Detail::RFieldVisitor &visitor) const override |
|
Detail::RFieldValue | CaptureValue (void *where) final |
| Creates a value from a memory location with an already constructed object. More...
|
|
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 | GenerateColumnsImpl () final |
| Creates the backing columns corresponsing to the field type for writing. More...
|
|
void | GenerateColumnsImpl (const RNTupleDescriptor &desc) final |
| Creates the backing columns corresponsing to the field type for reading. 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...
|
|
std::uint32_t | GetTypeVersion () const final |
| Indicates an evolution of the C++ type itself. More...
|
|
size_t | GetValueSize () const override |
| The number of bytes taken by a value of the appropriate type. More...
|
|
RClassField & | operator= (RClassField &&other)=default |
|
std::vector< Detail::RFieldValue > | SplitValue (const Detail::RFieldValue &value) const final |
| Creates the list of direct child values given a value for this field. More...
|
|
| 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 (RFieldVisitor &visitor) const |
|
std::size_t | Append (const RFieldValue &value) |
| Write the given value into columns. More...
|
|
void | Attach (std::unique_ptr< Detail::RFieldBase > child) |
| Add a new subfield to the list of nested fields. More...
|
|
RSchemaIterator | begin () |
|
virtual RFieldValue | CaptureValue (void *where)=0 |
| Creates a value from a memory location with an already constructed object. More...
|
|
std::unique_ptr< RFieldBase > | Clone (std::string_view newName) const |
| Copies the field and its sub fields using a possibly new name and a new, unconnected set of columns. More...
|
|
virtual void | CommitCluster () |
| Perform housekeeping tasks for global to cluster-local index translation. More...
|
|
void | ConnectPageSink (RPageSink &pageSink) |
| Fields and their columns live in the void until connected to a physical page storage. More...
|
|
void | ConnectPageSource (RPageSource &pageSource) |
|
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...
|
|
RSchemaIterator | end () |
|
void | Flush () const |
| Ensure that all received items are written from page buffers to the storage. More...
|
|
RFieldValue | GenerateValue () |
| Generates an object 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...
|
|
std::string | GetDescription () const |
| Get the field's description. More...
|
|
virtual std::uint32_t | GetFieldVersion () const |
| Indicates an evolution of the mapping scheme from C++ type to columns. More...
|
|
std::string | GetName () const |
|
NTupleSize_t | GetNElements () const |
|
std::size_t | GetNRepetitions () const |
|
DescriptorId_t | GetOnDiskId () const |
|
std::uint32_t | GetOnDiskTypeVersion () const |
| Return the C++ type version stored in the field descriptor; only valid after a call to ConnectPageSource() More...
|
|
RFieldBase * | GetParent () const |
|
std::string | GetQualifiedFieldName () const |
| Returns the field name and parent field names separated by dots ("grandparent.parent.child") More...
|
|
ENTupleStructure | GetStructure () const |
|
std::vector< RFieldBase * > | GetSubFields () const |
|
int | GetTraits () const |
|
std::string | GetType () const |
|
virtual std::uint32_t | 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 | HasReadCallbacks () const |
|
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 | SetDescription (std::string_view description) |
|
void | SetOnDiskId (DescriptorId_t id) |
|
virtual std::vector< RFieldValue > | SplitValue (const RFieldValue &value) const |
| Creates the list of direct child values given a value for this field. More...
|
|
|
static constexpr std::uint32_t | kInvalidTypeVersion = -1U |
|
static constexpr int | kTraitMappable = 0x04 |
| A field of a fundamental type that can be directly mapped via RField<T>::Map() , i.e. More...
|
|
static constexpr int | kTraitTriviallyConstructible = 0x01 |
| No constructor needs to be called, i.e. More...
|
|
static constexpr int | kTraitTriviallyDestructible = 0x02 |
| The type is cleaned up just by freeing its memory. I.e. DestroyValue() is a no-op. More...
|
|
static constexpr int | kTraitTrivialType = kTraitTriviallyConstructible | kTraitTriviallyDestructible |
| Shorthand for types that are both trivially constructible and destructible. More...
|
|
std::size_t | AppendImpl (const Detail::RFieldValue &value) final |
| Operations on values of complex types, e.g. More...
|
|
std::unique_ptr< Detail::RFieldBase > | CloneImpl (std::string_view newName) const final |
| Called by Clone(), which additionally copies the on-disk ID. More...
|
|
void | OnConnectPageSource () final |
| Called by ConnectPageSource() only once connected; derived classes may override this as appropriate. More...
|
|
void | ReadGlobalImpl (NTupleSize_t globalIndex, Detail::RFieldValue *value) final |
|
void | ReadInClusterImpl (const RClusterIndex &clusterIndex, Detail::RFieldValue *value) final |
|
size_t | AddReadCallback (ReadCallback_t func) |
| Set a user-defined function to be called after reading a value, giving a chance to inspect and/or modify the value object. More...
|
|
virtual std::size_t | AppendImpl (const RFieldValue &value) |
| Operations on values of complex types, e.g. More...
|
|
virtual std::unique_ptr< RFieldBase > | CloneImpl (std::string_view newName) const =0 |
| Called by Clone(), which additionally copies the on-disk ID. More...
|
|
ROOT::Experimental::EColumnType | EnsureColumnType (const std::vector< EColumnType > &requestedTypes, unsigned int columnIndex, const RNTupleDescriptor &desc) |
| Throws an exception if the column given by fOnDiskId and the columnIndex in the provided descriptor is not of one of the requested types. More...
|
|
virtual void | GenerateColumnsImpl ()=0 |
| Creates the backing columns corresponsing to the field type for writing. More...
|
|
virtual void | GenerateColumnsImpl (const RNTupleDescriptor &desc)=0 |
| Creates the backing columns corresponsing to the field type for reading. More...
|
|
virtual void | OnConnectPageSource () |
| Called by ConnectPageSource() only once connected; derived classes may override this as appropriate. More...
|
|
virtual void | ReadGlobalImpl (NTupleSize_t globalIndex, RFieldValue *value) |
|
virtual void | ReadInClusterImpl (const RClusterIndex &clusterIndex, RFieldValue *value) |
|
void | RemoveReadCallback (size_t idx) |
|
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...
|
|
std::uint32_t | fOnDiskTypeVersion = kInvalidTypeVersion |
| C++ type version cached from the descriptor after a call to ConnectPageSource() More...
|
|
RFieldBase * | fParent |
| Sub fields point to their mother field. More...
|
|
RColumn * | fPrincipalColumn |
| Points into fColumns. More...
|
|
std::vector< ReadCallback_t > | fReadCallbacks |
| List of functions to be called after reading a value. More...
|
|
std::vector< std::unique_ptr< RFieldBase > > | fSubFields |
| Collections and classes own sub fields. More...
|
|
int | fTraits = 0 |
| Properties of the type that allow for optimizations of collections of that type. More...
|
|