Template specializations for C++ std::pair. 
The generic field for std::pair<T1, T2> types 
Definition at line 114 of file RFieldRecord.hxx.
|  | 
|  | RPairField (RPairField &&other)=default | 
|  | 
|  | RPairField (std::string_view fieldName, std::array< std::unique_ptr< RFieldBase >, 2 > itemFields) | 
|  | 
|  | ~RPairField () override=default | 
|  | 
| RPairField & | operator= (RPairField &&other)=default | 
|  | 
|  | RRecordField (RRecordField &&other)=default | 
|  | 
|  | RRecordField (std::string_view fieldName, std::vector< std::unique_ptr< RFieldBase > > itemFields) | 
|  | Construct a RRecordField based on a vector of child fields. 
 | 
|  | 
|  | ~RRecordField () override=default | 
|  | 
| void | AcceptVisitor (Detail::RFieldVisitor &visitor) const final | 
|  | 
| size_t | GetAlignment () const final | 
|  | As a rule of thumb, the alignment is equal to the size of the type. 
 | 
|  | 
| const std::vector< std::size_t > & | GetOffsets () const | 
|  | 
| size_t | GetValueSize () const final | 
|  | The number of bytes taken by a value of the appropriate type. 
 | 
|  | 
| RRecordField & | operator= (RRecordField &&other)=default | 
|  | 
| std::vector< RValue > | SplitValue (const RValue &value) const final | 
|  | Creates the list of direct child values given a value for this field. 
 | 
|  | 
|  | 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. 
 | 
|  | 
| 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 sub fields using a possibly new name and a new, unconnected set of columns. 
 | 
|  | 
| RBulk | CreateBulk () | 
|  | The returned bulk is initially empty; RBulk::ReadBulk will construct the array of values. 
 | 
|  | 
| 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::Experimental::RFieldBase::RCreateObjectDeleter< void >::deleter > | CreateObject () const | 
|  | 
| RValue | CreateValue () | 
|  | Generates an object of the field type and wraps the created object in a shared pointer and returns it an RValue connected to the field. 
 | 
|  | 
| RSchemaIterator | end () | 
|  | 
| RConstSchemaIterator | end () const | 
|  | 
| RColumnRepresentations::Selection_t | GetColumnRepresentatives () const | 
|  | Returns the fColumnRepresentative pointee or, if unset, the field's default representative. 
 | 
|  | 
| 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::size_t | GetNRepetitions () const | 
|  | 
| 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 | 
|  | 
| ENTupleStructure | GetStructure () const | 
|  | 
| std::vector< RFieldBase * > | GetSubFields () | 
|  | 
| std::vector< const RFieldBase * > | GetSubFields () const | 
|  | 
| int | 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 | 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 (DescriptorId_t id) | 
|  | 
|  | 
|  | RPairField (std::string_view fieldName, std::array< std::unique_ptr< RFieldBase >, 2 > itemFields, const std::array< std::size_t, 2 > &offsets) | 
|  | 
|  | RRecordField (std::string_view fieldName, std::string_view typeName) | 
|  | 
| std::size_t | AppendImpl (const void *from) final | 
|  | Operations on values of complex types, e.g. 
 | 
|  | 
| template<std::size_t N> | 
| void | AttachItemFields (std::array< std::unique_ptr< RFieldBase >, N > itemFields) | 
|  | 
| void | AttachItemFields (std::vector< std::unique_ptr< RFieldBase > > itemFields) | 
|  | 
| std::unique_ptr< RFieldBase > | CloneImpl (std::string_view newName) const final | 
|  | Called by Clone(), which additionally copies the on-disk ID. 
 | 
|  | 
| void | ConstructValue (void *where) const final | 
|  | Constructs value in a given location of size at least GetValueSize(). Called by the base class' CreateValue(). 
 | 
|  | 
| std::unique_ptr< RDeleter > | GetDeleter () const final | 
|  | 
| std::size_t | GetItemPadding (std::size_t baseOffset, std::size_t itemAlignment) const | 
|  | 
| void | ReadGlobalImpl (NTupleSize_t globalIndex, void *to) final | 
|  | 
| void | ReadInClusterImpl (RClusterIndex clusterIndex, void *to) 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. 
 | 
|  | 
| std::size_t | Append (const void *from) | 
|  | Write the given value into columns. 
 | 
|  | 
| void | Attach (std::unique_ptr< RFieldBase > child) | 
|  | Add a new subfield to the list of nested fields. 
 | 
|  | 
| void | AutoAdjustColumnTypes (const 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 | CommitClusterImpl () | 
|  | 
| 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 RExtraTypeInfoDescriptor | GetExtraTypeInfo () const | 
|  | 
| virtual bool | HasExtraTypeInfo () const | 
|  | 
| virtual void | OnConnectPageSource () | 
|  | Called by ConnectPageSource()once connected; derived classes may override this as appropriate.
 | 
|  | 
| void | Read (NTupleSize_t globalIndex, void *to) | 
|  | Populate a single value with data from the field. 
 | 
|  | 
| void | Read (RClusterIndex clusterIndex, 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) | 
|  | 
|  | 
| using | ColumnRepresentation_t = std::vector<EColumnType> | 
|  | 
| 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 resurrect a field from the stored on-disk type information. 
 | 
|  | 
| 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.
 | 
|  | 
| static constexpr int | kTraitTriviallyConstructible = 0x01 | 
|  | No constructor needs to be called, i.e. 
 | 
|  | 
| static constexpr int | kTraitTriviallyDestructible = 0x02 | 
|  | The type is cleaned up just by freeing its memory. I.e. the destructor performs a no-op. 
 | 
|  | 
| static constexpr int | kTraitTrivialType = kTraitTriviallyConstructible | kTraitTriviallyDestructible | 
|  | Shorthand for types that are both trivially constructible and destructible. 
 | 
|  | 
| static constexpr int | kTraitTypeChecksum = 0x08 | 
|  | The TClass checksum is set and valid. 
 | 
|  | 
| 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, NTupleSize_t globalIndex, void *to) | 
|  | 
| static void | CallReadOn (RFieldBase &other, RClusterIndex clusterIndex, void *to) | 
|  | 
| static RResult< std::unique_ptr< RFieldBase > > | Create (const std::string &fieldName, const std::string &canonicalType, const std::string &typeAlias, bool continueOnError=false) | 
|  | 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. 
 | 
|  | 
| std::size_t | fMaxAlignment = 1 | 
|  | 
| std::vector< std::size_t > | fOffsets | 
|  | 
| std::size_t | fSize = 0 | 
|  | 
| 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. 
 | 
|  | 
| int | 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. 
 | 
|  |