|
ROOT
Reference Guide |
|
Go to the documentation of this file.
12 #ifndef ROOT_TStreamerInfoActions
13 #define ROOT_TStreamerInfoActions
48 virtual void Print()
const;
62 virtual void Print()
const;
138 using TIDs = std::vector<TIDNode>;
163 fNestedIDs = std::make_unique<TNestedIDs>(info, offset);
183 template <
typename action_t>
void AddToSubSequence(TActionSequence *sequence, const TIDs &element_ids, Int_t offset, SequenceGetter_t create)
virtual TVirtualCollectionProxy * GetCollectionProxy() const
SequencePtr(*)(TStreamerInfo *info, TVirtualCollectionProxy *collectionProxy, TClass *originalClass) SequenceGetter_t
virtual void Print() const
std::unique_ptr< TNestedIDs > fNestedIDs
virtual TStreamerInfoActions::TActionSequence * GetReadMemberWiseActions(Int_t version)=0
Int_t(* TStreamerInfoAction_t)(TBuffer &buf, void *obj, const TConfiguration *conf)
TActionSequence * CreateSubSequence(const std::vector< Int_t > &element_ids, size_t offset)
virtual ~TLoopConfiguration()
virtual TConfiguration * Copy()
TActionSequence(TVirtualStreamerInfo *info, UInt_t maxdata)
static SequencePtr ReadMemberWiseActionsCollectionCreator(TStreamerInfo *info, TVirtualCollectionProxy *collectionProxy, TClass *)
UInt_t fElemId
Identifier of the TStreamerElement.
TNestedIDs(TStreamerInfo *info, Int_t offset)
TConfiguration(TVirtualStreamerInfo *info, UInt_t id, TCompInfo_t *compinfo, Int_t offset)
TCompInfo_t * fCompInfo
Access to compiled information (for legacy code)
static SequencePtr ReadMemberWiseActionsGetter(TStreamerInfo *info, TVirtualCollectionProxy *, TClass *)
virtual void PrintDebug(TBuffer &buffer, void *object) const
ActionContainer_t fActions
void AddAction(action_t action, TConfiguration *conf)
TStreamerInfoActions::TActionSequence * GetWriteMemberWiseActions(Bool_t forCollection)
virtual TStreamerInfoActions::TActionSequence * GetConversionReadMemberWiseActions(TClass *oldClass, Int_t version)=0
TVirtualStreamerInfo * fInfo
TStreamerInfo form which the action is derived.
SequencePtr(SequencePtr &&from)
Wrapper around an object and giving indirect access to its content even if the object is not of a cla...
Buffer base class used for serializing objects.
static SequencePtr WriteMemberWiseActionsCollectionGetter(TStreamerInfo *info, TVirtualCollectionProxy *, TClass *)
static SequencePtr ReadMemberWiseActionsCollectionGetter(TStreamerInfo *info, TVirtualCollectionProxy *, TClass *)
static SequencePtr ConversionReadMemberWiseActionsViaProxyGetter(TStreamerInfo *info, TVirtualCollectionProxy *collectionProxy, TClass *originalClass)
Int_t fOffset
Offset within the object.
static SequencePtr WriteMemberWiseActionsGetter(TStreamerInfo *info, TVirtualCollectionProxy *, TClass *)
Abstract Interface class describing Streamer information for one class.
TVirtualArray * fOnfileObject
Base class of the Configurations.
static TActionSequence * CreateWriteMemberWiseActions(TVirtualStreamerInfo *info, TVirtualCollectionProxy &proxy)
Create the bundle of the actions necessary for the streaming memberwise of the content described by '...
SequencePtr(TStreamerInfoActions::TActionSequence *sequence, Bool_t owner)
virtual ~TConfiguration()
TLoopConfiguration * fLoopConfig
If this is a bundle of memberwise streaming action, this configures the looping.
TStreamerInfoActions::TActionSequence * fSequence
void AddToOffset(Int_t delta)
virtual void * GetFirstAddress(void *start, const void *end) const =0
Describe Streamer information for one class version.
virtual void Print() const
TStreamerInfoActions::TActionSequence * GetReadMemberWiseActions(Bool_t forCollection)
virtual TStreamerInfoActions::TActionSequence * GetWriteMemberWiseActions()=0
TStreamerInfoActions::TActionSequence & operator*() const
TConfiguration(TVirtualStreamerInfo *info, UInt_t id, TCompInfo_t *compinfo, Int_t offset, UInt_t length)
virtual TLoopConfiguration * Copy() const =0
static SequencePtr WriteMemberWiseActionsViaProxyGetter(TStreamerInfo *, TVirtualCollectionProxy *collectionProxy, TClass *)
TStreamerInfo * fInfo
Not owned.
TLoopConfiguration(TVirtualCollectionProxy *proxy)
virtual void SetMissing()
TLoopConfiguration()=default
static TActionSequence * CreateReadMemberWiseActions(TVirtualStreamerInfo *info, TVirtualCollectionProxy &proxy)
Create the bundle of the actions necessary for the streaming memberwise of the content described by '...
Int_t GetClassVersion() const
static SequencePtr ReadMemberWiseActionsViaProxyGetter(TStreamerInfo *info, TVirtualCollectionProxy *collectionProxy, TClass *)
Int_t(* TStreamerInfoLoopAction_t)(TBuffer &buf, void *iter, const void *end, const TLoopConfiguration *loopconf, const TConfiguration *conf)
TVirtualCollectionProxy::Next_t Next_t
TStreamerInfoActions::TActionSequence * operator->() const
static SequencePtr WriteMemberWiseActionsCollectionCreator(TStreamerInfo *info, TVirtualCollectionProxy *collectionProxy, TClass *)
UInt_t fLength
Number of element in a fixed length array.
TVirtualStreamerInfo * fStreamerInfo
StreamerInfo used to derive these actions.
TObject & operator=(const TObject &rhs)
TObject assignment operator.
TActionSequence * CreateCopy()
TIDNode(TStreamerInfo *info, Int_t offset)
TClass instances represent classes, structs and namespaces in the ROOT type system.
TVirtualCollectionProxy * fProxy
std::vector< TIDNode > TIDs
Mother of all ROOT objects.
#define ClassDef(name, id)
void swap(RDirectoryEntry &e1, RDirectoryEntry &e2) noexcept
void *(* Next_t)(void *iter, const void *end)
TStreamerInfo::TCompInfo_t TCompInfo_t
virtual void AddToOffset(Int_t delta)
void AddAction(const TConfiguredAction &action)
std::vector< TConfiguredAction > ActionContainer_t
Int_t(* TStreamerInfoVecPtrLoopAction_t)(TBuffer &buf, void *iter, const void *end, const TConfiguration *conf)
Base class of the Configurations for the member wise looping routines.
TStreamerElement * fElement
void Print(Option_t *="") const
This method must be overridden when a class wants to print itself.