An artificial field that provides the size of a fixed-size array.
This is the implementation of R_rdf_sizeof_column
in case column
contains fixed-size arrays on disk.
Definition at line 122 of file RNTupleDS.cxx.
|
| RArraySizeField (const RArraySizeField &other)=delete |
|
| RArraySizeField (RArraySizeField &&other)=default |
|
| RArraySizeField (std::size_t arrayLength) |
|
| ~RArraySizeField () final=default |
|
void | ConstructValue (void *where) const final |
| Constructs value in a given location of size at least GetValueSize(). Called by the base class' CreateValue().
|
|
std::size_t | GetAlignment () const final |
| As a rule of thumb, the alignment is equal to the size of the type.
|
|
std::size_t | GetValueSize () const final |
| The number of bytes taken by a value of the appropriate type.
|
|
RArraySizeField & | operator= (const RArraySizeField &other)=delete |
|
RArraySizeField & | operator= (RArraySizeField &&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.
|
|
RBulk | 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.
|
|
|
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 |
|
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::Experimental::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 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.
|
|
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 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()
|
|
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.
|
|