template<
typename T>
class ROOT::RRealField< T >
Definition at line 353 of file RFieldFundamental.hxx.
|
| | 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 (T minValue, T 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.
|
| |
| | RSimpleField (RSimpleField &&other)=default |
| |
| | ~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 |
| |
| | 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 |
| |
| virtual void | AcceptVisitor (ROOT::Detail::RFieldVisitor &visitor) const |
| |
| 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.
|
| |
|
| | 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.
|
| |
| | RSimpleField (std::string_view name, std::string_view type) |
| |
| 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.
|
| |
| void | ReconcileOnDiskField (const RNTupleDescriptor &desc) override |
| | For non-artificial fields, check compatibility of the in-memory field and the on-disk field.
|
| |
| 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.
|
| |
| 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 std::unique_ptr< RFieldBase > | BeforeConnectPageSource (ROOT::Internal::RPageSource &) |
| | Called by ConnectPageSource() before connecting; derived classes may override this as appropriate, e.g.
|
| |
| virtual std::unique_ptr< RFieldBase > | CloneImpl (std::string_view newName) const =0 |
| | Called by Clone(), which additionally copies the on-disk ID.
|
| |
| virtual void | CommitClusterImpl () |
| |
| std::uint32_t | CompareOnDiskField (const RFieldDescriptor &fieldDesc, std::uint32_t ignoreBits) const |
| | Returns a combination of kDiff... flags, indicating peroperties that are different between the field at hand and the given on-disk field.
|
| |
| 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.
|
| |
| RResult< void > | EnsureMatchingOnDiskField (const RNTupleDescriptor &desc, std::uint32_t ignoreBits=0) const |
| | Compares the field to the corresponding on-disk field information in the provided descriptor.
|
| |
| RResult< void > | EnsureMatchingTypePrefix (const RNTupleDescriptor &desc, const std::vector< std::string > &prefixes) const |
| | Many fields accept a range of type prefixes for schema evolution, e.g.
|
| |
| 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 const RColumnRepresentations & | GetColumnRepresentations () const |
| | Implementations in derived classes should return a static RColumnRepresentations object.
|
| |
| 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) |
| |
|
| 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 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.
|
| |
| static constexpr std::uint32_t | kInvalidTypeVersion = -1U |
| |
| enum | {
kDiffFieldVersion = 0x01
, kDiffTypeVersion = 0x02
, kDiffStructure = 0x04
, kDiffTypeName = 0x08
,
kDiffNRepetitions = 0x10
} |
| | Bits used in CompareOnDisk() More...
|
| |
| 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 void | CallSetArtificialOn (RFieldBase &other) |
| | Allow parents to mark their childs as artificial fields (used in class and record fields)
|
| |
| 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()
|
| |
| static void | SetTypeAliasOf (RFieldBase &other, const std::string &alias) |
| | Allow class fields to adjust the type alias of their members.
|
| |
| 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.
|
| |