|
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 constexpr std::uint32_t | kInvalidTypeVersion = -1U |
|
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 (Internal::RPageSource &) |
| Called by ConnectPageSource() before connecting; derived classes may override this as appropriate.
|
|
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 () |
|
virtual void | ConstructValue (void *where) const =0 |
| Constructs value in a given location of size at least GetValueSize(). Called by the base class' CreateValue().
|
|
void * | CreateObjectRawPtr () const |
| Factory method for the field's type. The caller owns the returned pointer.
|
|
const ColumnRepresentation_t & | EnsureCompatibleColumnTypes (const 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.
|
|
virtual void | GenerateColumns () |
| Implementations in derived classes should create the backing columns corresponsing to the field type for writing.
|
|
virtual void | GenerateColumns (const RNTupleDescriptor &) |
| Implementations in derived classes should create the backing columns corresponsing to the field type for reading.
|
|
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 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 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 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 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 Internal::RColumn * | GetPrincipalColumnOf (const RFieldBase &other) |
| Fields may need direct access to the principal column of their sub fields, e.g. in RRVecField::ReadBulk.
|
|
Internal::RColumn * | fAuxiliaryColumn = nullptr |
| Some fields have a second column in its column representation.
|
|
std::vector< std::unique_ptr< 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 GetColumnRepresentations().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 |
| Sub fields point to their mother field.
|
|
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 sub fields.
|
|
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.
|
|