28 namespace ExecutorUtils {
38 static_assert(std::is_constructible<TObject *, T>::value,
39 "The argument should be a vector of pointers to TObject or derived classes");
51 Error(
"PoolUtils::ReduceObjects",
"could not find merge method for the TObject\n. Aborting operation.");
57 unsigned NObjs = objs.size();
58 for(
unsigned i=1; i<NObjs; ++i)
59 mergelist.
Add(objs[i]);
62 merge(obj, &mergelist,
nullptr);
77 namespace ExecutorUtils {
80 template <
class O,
class F>
93 return static_cast<F>(obj);
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
Merge collection of TObjects.
T operator()(const std::vector< T > &objs)
static std::enable_if< std::is_pointer< F >::value, F >::type CastIfNeeded(TObject *obj)
static O CastIfNeeded(O &&obj)
void Add(TObject *obj) override
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
Mother of all ROOT objects.
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.
Long64_t(* MergeFunc_t)(void *, TCollection *, TFileMergeInfo *)