ATLAS Offline Software
|
Interface to NavigableToken
weights.
More...
#include <CaloCellPrefetchIterator.h>
Public Types | |
typedef int | param_t |
Type for the parameter (a dummy here). More... | |
Public Member Functions | |
param_t | getParameter () const |
Return the current parameter (will always be 1). More... | |
Private Member Functions | |
void | next () |
Move to the next weight (a no-op). More... | |
void | fetch (const T &it) |
Fetch the next weight from the iterator (a no-op). More... | |
Friends | |
class | CaloCellPrefetchIterator< T > |
Interface to NavigableToken
weights.
No-weight version.
We want our iterator to work with both NavigableToken
iterators and normal iterators. The key difference is that NavigableToken
also has a weight attached to each element. In that case, we need to save weights in the iterator, like we do below for cell pointers. However, we don't want to do that in the case where we don't actually have weights.
Thus, we break out the part handing the weights into a base class of CaloCellPrefetchIterator
. We recognize the NavigableToken
case because its iterator has a special iterator_category
. So, we have a specialized version of the paramholder
class for this case. The unspecialized case handles the case where there are no weights. It's empty, so when used as a base class, should not increase the size of the iterator.
This is the unspecialized case.
Definition at line 52 of file CaloCellPrefetchIterator.h.
typedef int CaloEvent_detail::paramholder< T, TAG >::param_t |
Type for the parameter (a dummy here).
Definition at line 55 of file CaloCellPrefetchIterator.h.
|
private |
Fetch the next weight from the iterator (a no-op).
param_t CaloEvent_detail::paramholder< T, TAG >::getParameter | ( | ) | const |
Return the current parameter (will always be 1).
|
private |
Move to the next weight (a no-op).
|
friend |
Definition at line 58 of file CaloCellPrefetchIterator.h.