|
ROOT
Reference Guide |
|
Go to the documentation of this file.
16 #ifndef ROO_LINKED_LIST_ITER
17 #define ROO_LINKED_LIST_ITER
67 if (!
fPtr)
return nullptr ;
97 template<
class STLContainer>
147 const auto * castedOther =
149 return !castedOther || &
fSTLContainer != &(castedOther->fSTLContainer)
150 ||
fIndex == castedOther->fIndex;
175 throw std::logic_error(
"A RooCollection should not be modified while iterating. "
176 "Only inserting at end is acceptable.");
259 if (&other==
this)
return *this ;
276 if (!
_ptr)
return 0 ;
284 if (!
_ptr)
return 0 ;
298 if (iter)
return (
_ptr != iter->
_ptr);
RooFIterForLinkedList(const RooLinkedList *list)
TIteratorToSTLInterface(const STLContainer &container)
RooLinkedListElem * _last
Link to first element of list.
RooLinkedListIter(RooLinkedListIter &&)=default
virtual ~GenericRooFIter()
RooAbsArg * nextChecked()
RooLinkedListIterImpl(const RooLinkedListIterImpl &other)
bool operator!=(const TIterator &aIter) const
Compare two iterator objects.
RooAbsArg * next() override
Return next element in collection.
bool operator!=(const RooLinkedListIterImpl &aIter) const
TIterator & operator=(const TIterator &other) override
TIterator & operator=(const TIterator &other)
const TCollection * GetCollection() const override
RooLinkedListIter & operator=(RooLinkedListIter &&)=default
std::unique_ptr< GenericRooFIter > fIterImpl
RooLinkedListElem * _next
RooFIter(std::unique_ptr< GenericRooFIter > &&itImpl)
TIterator & operator=(const TIterator &) override
const TCollection * GetCollection() const override
TObject * Next() override
Iterator abstract base class.
virtual RooAbsArg * next()=0
Return next element or nullptr if at end.
TObject * operator*() const override
Return current object or nullptr.
RooLinkedListIter(const RooLinkedListIter &)=delete
RooLinkedListElem is an link element for the RooLinkedList class.
const RooAbsArg * fCurrentElem
TObject * Next() override
const RooLinkedListElem * _ptr
Collection iterated over.
RooLinkedListIterImpl(const RooLinkedList *list, Bool_t forward)
RooLinkedListElem * _first
A wrapper around TIterator derivatives.
Implementation of the GenericRooFIter interface for the RooLinkedList.
RooFIter(RooFIter &&)=default
RooFIter & operator=(const RooFIter &)=delete
A one-time forward iterator working on RooLinkedList or RooAbsCollection.
virtual const TCollection * GetCollection() const
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
Bool_t _forward
Next link element.
RooAbsArg * next()
Return next element or nullptr if at end.
std::shared_ptr< TIterator > fIterImpl
RooLinkedListElem * _prev
Implementation of the actual iterator on RooLinkedLists.
const STLContainer & fSTLContainer
Interface for RooFIter-compatible iterators.
Bool_t operator!=(const TIterator &other) const override
Compare two iterator objects.
Bool_t operator!=(const TIterator &other) const override
Compare two iterator objects.
TObject * operator*() const override
Return current object or nullptr.
RooLinkedListIter(std::shared_ptr< TIterator > iterImpl)
RooFIter(const RooFIter &)=delete
virtual TObject * operator*() const
Return current object or nullptr.
void forward(const LAYERDATA &prevLayerData, LAYERDATA &currLayerData)
apply the weights (and functions) in forward direction of the DNN
const RooLinkedListElem * fPtr
Mother of all ROOT objects.
const RooLinkedList * _list
RooLinkedListIter & operator=(const RooLinkedListIter &)=delete
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
Collection abstract base class.
RooAbsArg * next() override
Return next element or nullptr if at end.
TIterator and GenericRooFIter front end with STL back end.
RooFIter & operator=(RooFIter &&)=default
virtual ~RooLinkedListIterImpl()