42 template<
typename... Args_t>
55 processArgs(arg, std::forward<Args_t>(moreArgsOrName)...);
60 template<
typename... Args_t>
62 :
RooArgList{arg, std::move(arg), std::forward<Args_t>(moreArgsOrName)...} {}
64 template<
typename... Args_t>
65 explicit RooArgList(
double arg, Args_t &&... moreArgsOrName) {
66 processArgs(arg, std::forward<Args_t>(moreArgsOrName)...);
74 template<
typename Iterator_t,
75 typename value_type =
typename std::remove_pointer<typename std::iterator_traits<Iterator_t>::value_type>,
76 typename = std::enable_if<std::is_convertible<const value_type*, const RooAbsArg*>::value> >
79 for (
auto it = beginIt; it != endIt; ++it) {
91 for(
auto const& arg :
vec) {
119 virtual bool readFromStream(std::istream& is,
bool compact,
bool verbose=
false);
124 assert(0 <= idx && idx <
static_cast<Int_t>(
_list.size()));
132 template<
typename... Args_t>
135 int dummy[] = { 0, (
processArg(std::forward<Args_t>(args)), 0) ... };
141 template<
class Arg_t>
155template<
class... Args_t>
157 return {std::forward<Args_t>(args)...};
#define ClassDefOverride(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Common abstract base class for objects that represent a value and a "shape" in RooFit.
Abstract container object that can hold multiple RooAbsArg objects.
virtual bool add(const RooAbsArg &var, bool silent=false)
Add the specified argument to list.
static void assert_is_no_temporary(T &&)
Storage_t _list
Actual object storage.
RooAbsCollection & operator=(const RooAbsCollection &other)
Assign values from the elements in other to our elements.
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooAbsArg * at(Int_t idx) const
Return object at given index, or nullptr if index is out of range.
virtual void writeToStream(std::ostream &os, bool compact)
Write the contents of the argset in ASCII form to given stream.
bool canBeAdded(RooAbsArg const &, bool) const override
Determine whether it's possible to add a given RooAbsArg to the collection or not.
RooArgList(RooAbsArg const &arg, Args_t &&... moreArgsOrName)
Construct a (non-owning) RooArgList from one or more RooFit objects.
TObject * create(const char *newname) const override
RooArgList(std::vector< RooAbsArgPtrOrDouble > const &vec)
Construct a non-owning RooArgList from a vector of RooAbsArg pointers.
TObject * clone(const char *newname) const override
void processArgs(Args_t &&... args)
RooArgList(Iterator_t beginIt, Iterator_t endIt, const char *name="")
Construct from iterators.
RooArgList(RooArgList &&other)
Move constructor.
RooArgList()
Default constructor.
void processArg(Arg_t &&arg)
void processArg(const RooAbsArg &arg)
RooArgList & operator=(const RooArgList &other)
void processArg(const RooAbsArg *arg)
RooAbsArg & operator[](Int_t idx) const
Access element by index.
RooArgList(double arg, Args_t &&... moreArgsOrName)
void processArg(RooAbsArg *arg)
RooArgList(RooAbsArg &&arg, Args_t &&... moreArgsOrName)
This constructor will provoke a static_assert, because passing a RooAbsArg as r-value reference is no...
~RooArgList() override
Destructor.
void processArg(const char *name)
virtual bool readFromStream(std::istream &is, bool compact, bool verbose=false)
Read the contents of the argset in ASCII form from given stream.
Collection abstract base class.
Mother of all ROOT objects.
RooArgList L(Args_t &&... args)