Definition at line 480 of file RFieldFundamental.hxx.
Public Member Functions | |
| RField (std::string_view name) | |
| void | AcceptVisitor (ROOT::Detail::RFieldVisitor &visitor) const final |
Public Member Functions inherited from ROOT::RRealField< float > | |
| RRealField (RRealField &&other)=default | |
| RRealField (std::string_view name, std::string_view typeName) | |
| RRealField & | operator= (RRealField &&other)=default |
| void | SetHalfPrecision () |
| Sets this field to use a half precision representation, occupying half as much storage space (16 bits: 1 sign bit, 5 exponent bits, 10 mantissa bits) on disk. | |
| void | SetQuantized (float minValue, float maxValue, std::size_t nBits) |
Sets this field to use a quantized integer representation using nBits per value. | |
| void | SetTruncated (std::size_t nBits) |
Set the on-disk representation of this field to a single-precision float truncated to nBits. | |
Public Member Functions inherited from ROOT::RSimpleField< T > | |
| RSimpleField (RSimpleField &&other)=default | |
| RSimpleField (std::string_view name, std::string_view type) | |
| ~RSimpleField () override=default | |
| size_t | GetAlignment () const final |
| As a rule of thumb, the alignment is equal to the size of the type. | |
| size_t | GetValueSize () const final |
| The number of bytes taken by a value of the appropriate type. | |
| T * | Map (RNTupleLocalIndex localIndex) |
| T * | Map (ROOT::NTupleSize_t globalIndex) |
| T * | MapV (RNTupleLocalIndex localIndex, ROOT::NTupleSize_t &nItems) |
| T * | MapV (ROOT::NTupleSize_t globalIndex, ROOT::NTupleSize_t &nItems) |
| RSimpleField & | operator= (RSimpleField &&other)=default |
Public Member Functions inherited from ROOT::RFieldBase | |
| RFieldBase (const RFieldBase &)=delete | |
| RFieldBase (RFieldBase &&)=default | |
| RFieldBase (std::string_view name, std::string_view type, ROOT::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 ()=default |
| RSchemaIterator | begin () |
| RConstSchemaIterator | begin () const |
| RValue | BindValue (std::shared_ptr< void > objPtr) |
| Creates a value from a memory location with an already constructed object. | |
| RConstSchemaIterator | cbegin () const |
| RConstSchemaIterator | cend () const |
| std::unique_ptr< RFieldBase > | Clone (std::string_view newName) const |
| Copies the field and its subfields using a possibly new name and a new, unconnected set of columns. | |
| RBulkValues | CreateBulk () |
| Creates a new, initially empty bulk. | |
| template<> | |
| std::unique_ptr< void, typename RFieldBase::RCreateObjectDeleter< void >::deleter > | CreateObject () const |
| template<typename T > | |
| std::unique_ptr< T, typename RCreateObjectDeleter< T >::deleter > | CreateObject () const |
| Generates an object of the field type and allocates new initialized memory according to the type. | |
| template<> | |
| std::unique_ptr< void, typename ROOT::RFieldBase::RCreateObjectDeleter< void >::deleter > | CreateObject () const |
| RValue | CreateValue () |
| Generates an object of the field's type, wraps it in a shared pointer and returns it as an RValue connected to the field. | |
| RSchemaIterator | end () |
| RConstSchemaIterator | end () const |
| RColumnRepresentations::Selection_t | GetColumnRepresentatives () const |
Returns the fColumnRepresentative pointee or, if unset (always the case for artificial fields), the field's default representative. | |
| std::vector< const RFieldBase * > | GetConstSubfields () const |
| const std::string & | GetDescription () const |
| Get the field's description. | |
| const std::string & | GetFieldName () const |
| virtual std::uint32_t | GetFieldVersion () const |
| Indicates an evolution of the mapping scheme from C++ type to columns. | |
| std::vector< RFieldBase * > | GetMutableSubfields () |
| std::size_t | GetNRepetitions () const |
| ROOT::DescriptorId_t | GetOnDiskId () const |
| std::uint32_t | GetOnDiskTypeChecksum () const |
| Return checksum stored in the field descriptor; only valid after a call to ConnectPageSource(), if the field stored a type checksum. | |
| std::uint32_t | GetOnDiskTypeVersion () const |
| Return the C++ type version stored in the field descriptor; only valid after a call to ConnectPageSource() | |
| const RFieldBase * | GetParent () const |
| std::string | GetQualifiedFieldName () const |
Returns the field name and parent field names separated by dots (grandparent.parent.child) | |
| EState | GetState () const |
| ROOT::ENTupleStructure | GetStructure () const |
| std::uint32_t | GetTraits () const |
| const std::string & | GetTypeAlias () const |
| virtual std::uint32_t | GetTypeChecksum () const |
Return the current TClass reported checksum of this class. Only valid if kTraitTypeChecksum is set. | |
| const std::string & | GetTypeName () const |
| virtual std::uint32_t | GetTypeVersion () const |
| Indicates an evolution of the C++ type itself. | |
| bool | HasDefaultColumnRepresentative () const |
| Whether or not an explicit column representative was set. | |
| bool | HasReadCallbacks () const |
| bool | IsArtificial () const |
| bool | IsSimple () const |
| RFieldBase & | operator= (const RFieldBase &)=delete |
| RFieldBase & | operator= (RFieldBase &&)=default |
| void | SetColumnRepresentatives (const RColumnRepresentations::Selection_t &representatives) |
| Fixes a column representative. | |
| void | SetDescription (std::string_view description) |
| void | SetOnDiskId (ROOT::DescriptorId_t id) |
| virtual std::vector< RValue > | SplitValue (const RValue &value) const |
| Creates the list of direct child values given an existing value for this field. | |
Static Public Member Functions | |
| static std::string | TypeName () |
Static Public Member Functions inherited from ROOT::RFieldBase | |
| static std::vector< RCheckResult > | Check (const std::string &fieldName, const std::string &typeName) |
| Checks if the given type is supported by RNTuple. | |
| static RResult< std::unique_ptr< RFieldBase > > | Create (const std::string &fieldName, const std::string &typeName) |
| Factory method to create a field from a certain type given as string. | |
Private Member Functions | |
| RField (std::string_view name, const RField &source) | |
| std::unique_ptr< RFieldBase > | CloneImpl (std::string_view newName) const final |
| Called by Clone(), which additionally copies the on-disk ID. | |
| const RColumnRepresentations & | GetColumnRepresentations () const final |
| Implementations in derived classes should return a static RColumnRepresentations object. | |
Additional Inherited Members | |
Public Types inherited from ROOT::RFieldBase | |
| enum | { kTraitTriviallyConstructible = 0x01 , kTraitTriviallyDestructible = 0x02 , kTraitMappable = 0x04 , kTraitTypeChecksum = 0x08 , kTraitInvalidField = 0x10 , kTraitEmulatedField = 0x20 , kTraitTrivialType = kTraitTriviallyConstructible | kTraitTriviallyDestructible } |
| using | ColumnRepresentation_t = std::vector<ROOT::ENTupleColumnType> |
| enum class | EState { kUnconnected , kConnectedToSink , kConnectedToSource } |
| During its lifetime, a field undergoes the following possible state transitions: More... | |
| using | RConstSchemaIterator = RSchemaIteratorTemplate<true> |
| using | RSchemaIterator = RSchemaIteratorTemplate<false> |
Static Public Attributes inherited from ROOT::RFieldBase | |
| static constexpr std::uint32_t | kInvalidTypeVersion = -1U |
Protected Member Functions inherited from ROOT::RRealField< float > | |
| RRealField (std::string_view name, const RRealField &source) | |
| Called by derived fields' CloneImpl() | |
| ~RRealField () override=default | |
| void | GenerateColumns () final |
| Implementations in derived classes should create the backing columns corresponding to the field type for writing. | |
| void | GenerateColumns (const ROOT::RNTupleDescriptor &desc) final |
| Implementations in derived classes should create the backing columns corresponding to the field type for reading. | |
Protected Member Functions inherited from ROOT::RSimpleField< T > | |
| void | ConstructValue (void *where) const final |
| Constructs value in a given location of size at least GetValueSize(). Called by the base class' CreateValue(). | |
| void | GenerateColumns () override |
| Implementations in derived classes should create the backing columns corresponding to the field type for writing. | |
| void | GenerateColumns (const ROOT::RNTupleDescriptor &desc) override |
| Implementations in derived classes should create the backing columns corresponding to the field type for reading. | |
Protected Member Functions inherited from ROOT::RFieldBase | |
| 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. | |
| virtual void | AfterConnectPageSource () |
| Called by ConnectPageSource() once connected; derived classes may override this as appropriate. | |
| std::size_t | Append (const void *from) |
| Write the given value into columns. | |
| virtual std::size_t | AppendImpl (const void *from) |
| Operations on values of complex types, e.g. | |
| void | Attach (std::unique_ptr< RFieldBase > child) |
| Add a new subfield to the list of nested fields. | |
| void | AutoAdjustColumnTypes (const ROOT::RNTupleWriteOptions &options) |
| When connecting a field to a page sink, the field's default column representation is subject to adjustment according to the write options. | |
| virtual void | BeforeConnectPageSource (ROOT::Internal::RPageSource &) |
| Called by ConnectPageSource() before connecting; derived classes may override this as appropriate. | |
| virtual void | CommitClusterImpl () |
| void * | CreateObjectRawPtr () const |
| Factory method for the field's type. The caller owns the returned pointer. | |
| const ColumnRepresentation_t & | EnsureCompatibleColumnTypes (const ROOT::RNTupleDescriptor &desc, std::uint16_t representationIndex) const |
Returns the on-disk column types found in the provided descriptor for fOnDiskId and the given representation index. | |
| template<typename... ColumnCppTs> | |
| void | GenerateColumnsImpl () |
| For writing, use the currently set column representative. | |
| template<std::uint32_t ColumnIndexT, typename HeadT , typename... TailTs> | |
| void | GenerateColumnsImpl (const ColumnRepresentation_t &representation, std::uint16_t representationIndex) |
| Helpers for generating columns. | |
| template<typename... ColumnCppTs> | |
| void | GenerateColumnsImpl (const ROOT::RNTupleDescriptor &desc) |
| For reading, use the on-disk column list. | |
| virtual std::unique_ptr< RDeleter > | GetDeleter () const |
| virtual ROOT::RExtraTypeInfoDescriptor | GetExtraTypeInfo () const |
| virtual bool | HasExtraTypeInfo () const |
| void | Read (RNTupleLocalIndex localIndex, void *to) |
| Populate a single value with data from the field. | |
| void | Read (ROOT::NTupleSize_t globalIndex, void *to) |
| Populate a single value with data from the field. | |
| std::size_t | ReadBulk (const RBulkSpec &bulkSpec) |
Returns the number of newly available values, that is the number of bools in bulkSpec.fMaskAvail that flipped from false to true. | |
| virtual std::size_t | ReadBulkImpl (const RBulkSpec &bulkSpec) |
| General implementation of bulk read. | |
| virtual void | ReadGlobalImpl (ROOT::NTupleSize_t globalIndex, void *to) |
| virtual void | ReadInClusterImpl (RNTupleLocalIndex localIndex, void *to) |
| void | RemoveReadCallback (size_t idx) |
Static Protected Member Functions inherited from ROOT::RFieldBase | |
| static std::size_t | CallAppendOn (RFieldBase &other, const void *from) |
| Allow derived classes to call Append() and Read() on other (sub)fields. | |
| static void | CallConstructValueOn (const RFieldBase &other, void *where) |
| Allow derived classes to call ConstructValue(void *) and GetDeleter() on other (sub)fields. | |
| static void * | CallCreateObjectRawPtrOn (RFieldBase &other) |
| static void | CallReadOn (RFieldBase &other, RNTupleLocalIndex localIndex, void *to) |
| static void | CallReadOn (RFieldBase &other, ROOT::NTupleSize_t globalIndex, void *to) |
| static RResult< std::unique_ptr< RFieldBase > > | Create (const std::string &fieldName, const std::string &typeName, const ROOT::RCreateFieldOptions &options, const ROOT::RNTupleDescriptor *desc, ROOT::DescriptorId_t fieldId) |
| Factory method to resurrect a field from the stored on-disk type information. | |
| static std::unique_ptr< RDeleter > | GetDeleterOf (const RFieldBase &other) |
| static ROOT::Internal::RColumn * | GetPrincipalColumnOf (const RFieldBase &other) |
| Fields may need direct access to the principal column of their subfields, e.g. in RRVecField::ReadBulk() | |
Protected Attributes inherited from ROOT::RFieldBase | |
| ROOT::Internal::RColumn * | fAuxiliaryColumn = nullptr |
| Some fields have a second column in its column representation. | |
| std::vector< std::unique_ptr< ROOT::Internal::RColumn > > | fAvailableColumns |
| The columns are connected either to a sink or to a source (not to both); they are owned by the field. | |
| std::vector< std::reference_wrapper< const ColumnRepresentation_t > > | fColumnRepresentatives |
| Pointers into the static vector returned by RColumnRepresentations::GetSerializationTypes() when SetColumnRepresentatives() is called. | |
| std::uint32_t | fOnDiskTypeChecksum = 0 |
| TClass checksum cached from the descriptor after a call to ConnectPageSource(). | |
| std::uint32_t | fOnDiskTypeVersion = kInvalidTypeVersion |
| C++ type version cached from the descriptor after a call to ConnectPageSource() | |
| RFieldBase * | fParent |
| Subfields point to their mother field. | |
| ROOT::Internal::RColumn * | fPrincipalColumn = nullptr |
| All fields that have columns have a distinct main column. | |
| std::vector< ReadCallback_t > | fReadCallbacks |
| List of functions to be called after reading a value. | |
| std::vector< std::unique_ptr< RFieldBase > > | fSubfields |
| Collections and classes own subfields. | |
| std::uint32_t | fTraits = 0 |
| Properties of the type that allow for optimizations of collections of that type. | |
| std::string | fTypeAlias |
| A typedef or using name that was used when creating the field. | |
#include <ROOT/RField/RFieldFundamental.hxx>
|
inlineprivate |
Definition at line 483 of file RFieldFundamental.hxx.
|
inlineexplicit |
Definition at line 493 of file RFieldFundamental.hxx.
|
finalvirtual |
Reimplemented from ROOT::RFieldBase.
Definition at line 223 of file RField.cxx.
|
inlinefinalprivatevirtual |
Called by Clone(), which additionally copies the on-disk ID.
Implements ROOT::RFieldBase.
Definition at line 485 of file RFieldFundamental.hxx.
|
finalprivatevirtual |
Implementations in derived classes should return a static RColumnRepresentations object.
The default implementation does not attach any columns to the field.
Reimplemented from ROOT::RFieldBase.
Definition at line 212 of file RField.cxx.
|
inlinestatic |
Definition at line 491 of file RFieldFundamental.hxx.