12 #ifndef ROOT_TStreamerInfoActions
13 #define ROOT_TStreamerInfoActions
46 virtual void Print()
const;
56 virtual void Print()
const;
116 return fAction(buffer,
object, fConfiguration);
120 return fVecPtrLoopAction(buffer, start_collection, end_collection, fConfiguration);
124 return fLoopAction(buffer, start_collection, end_collection, loopconf, fConfiguration);
139 template <
typename action_t>
165 #endif // ROOT_TStreamerInfoActions
virtual void PrintDebug(TBuffer &buffer, void *object) const
virtual ~TLoopConfiguration()
std::vector< TConfiguredAction > ActionContainer_t
TVirtualStreamerInfo * fInfo
TStreamerInfo form which the action is derived.
virtual void AddToOffset(Int_t delta)
ActionContainer_t fActions
virtual void Print() const
TLoopConfiguration * fLoopConfig
If this is a bundle of memberwise streaming action, this configures the looping.
void AddAction(action_t action, TConfiguration *conf)
TActionSequence(TVirtualStreamerInfo *info, UInt_t maxdata)
Buffer base class used for serializing objects.
void swap(ROOT::THist< DIMENSIONS, PRECISION > &a, ROOT::THist< DIMENSIONS, PRECISION > &b) noexcept
Swap two histograms.
UInt_t fElemId
Identifier of the TStreamerElement.
void AddAction(const TConfiguredAction &action)
ClassDef(TActionSequence, 0)
static TActionSequence * CreateReadMemberWiseActions(TVirtualStreamerInfo *info, TVirtualCollectionProxy &proxy)
Create the bundle of the actions necessary for the streaming memberwise of the content described by '...
TVirtualCollectionProxy::Next_t Next_t
TActionSequence * CreateSubSequence(const std::vector< Int_t > &element_ids, size_t offset)
TActionSequence * CreateCopy()
virtual void * GetFirstAddress(void *start, const void *end) const =0
virtual ~TConfiguration()
std::map< std::string, std::string >::const_iterator iter
Int_t(* TStreamerInfoLoopAction_t)(TBuffer &buf, void *iter, const void *end, const TLoopConfiguration *loopconf, const TConfiguration *conf)
virtual TLoopConfiguration * Copy()=0
TObject & operator=(const TObject &rhs)
TObject assignment operator.
Base class of the Configurations for the member wise looping routines.
Int_t(* TStreamerInfoAction_t)(TBuffer &buf, void *obj, const TConfiguration *conf)
TConfiguration(TVirtualStreamerInfo *info, UInt_t id, TCompInfo_t *compinfo, Int_t offset)
TStreamerInfo::TCompInfo_t TCompInfo_t
Double_t length(const TVector2 &v)
Int_t fOffset
Offset within the object.
static TActionSequence * CreateWriteMemberWiseActions(TVirtualStreamerInfo *info, TVirtualCollectionProxy &proxy)
Create the bundle of the actions necessary for the streaming memberwise of the content described by '...
void Print(Option_t *="") const
This method must be overridden when a class wants to print itself.
Int_t(* TStreamerInfoVecPtrLoopAction_t)(TBuffer &buf, void *iter, const void *end, const TConfiguration *conf)
virtual void Print() const
Mother of all ROOT objects.
TConfiguration(TVirtualStreamerInfo *info, UInt_t id, TCompInfo_t *compinfo, Int_t offset, UInt_t length)
virtual TConfiguration * Copy()
void *(* Next_t)(void *iter, const void *end)
Abstract Interface class describing Streamer information for one class.
Base class of the Configurations.
UInt_t fLength
Number of element in a fixed length array.
void AddToOffset(Int_t delta)
TVirtualStreamerInfo * fStreamerInfo
StreamerInfo used to derive these actions.
TCompInfo_t * fCompInfo
Access to compiled information (for legacy code)