#include <MultiAssociation.h>
Public Member Functions | |
template<typename HandleType > | |
FastFiller (MultiAssociation &assoc, const HandleType &handle) | |
FastFiller (MultiAssociation &assoc, edm::ProductID id, unsigned int size) | |
template<typename KeyRef > | |
void | setValues (const KeyRef &k, const Collection &refs) |
Sets the Collection values associated to this key, making copies of those in refs. | |
void | setValues (const edm::ProductID &id, unsigned int key, const Collection &refs) |
Sets the Collection values associated to this key, making copies of those in refs. | |
~FastFiller () | |
Private Types | |
typedef edm::helper::IndexRangeAssociation::FastFiller | IndexFiller |
Private Attributes | |
MultiAssociation & | assoc_ |
boost::shared_ptr< IndexFiller > | indexFiller_ |
FastFiller for the MultiAssociation. It is fast, but it requires to fill items in strict key order. You can have a single FastFiller for a given map at time You can't access the map for this collection while filling it
Definition at line 208 of file MultiAssociation.h.
typedef edm::helper::IndexRangeAssociation::FastFiller edm::MultiAssociation< C >::FastFiller::IndexFiller [private] |
Definition at line 227 of file MultiAssociation.h.
edm::MultiAssociation< C >::FastFiller::FastFiller | ( | MultiAssociation & | assoc, |
const HandleType & | handle | ||
) | [inline] |
Definition at line 211 of file MultiAssociation.h.
: assoc_(assoc), indexFiller_(new IndexFiller(assoc_.indices_, handle.id(), handle->size())) {}
IndexRangeAssociation::FastFiller::FastFiller | ( | MultiAssociation & | assoc, |
edm::ProductID | id, | ||
unsigned int | size | ||
) | [inline] |
Definition at line 214 of file MultiAssociation.h.
: assoc_(assoc), indexFiller_(new IndexFiller(assoc_.indices_, id, size)) {}
IndexRangeAssociation::FastFiller::~FastFiller | ( | ) | [inline] |
Definition at line 217 of file MultiAssociation.h.
{}
void edm::MultiAssociation< C >::FastFiller::setValues | ( | const KeyRef & | k, |
const Collection & | refs | ||
) | [inline] |
Sets the Collection values associated to this key, making copies of those in refs.
Definition at line 221 of file MultiAssociation.h.
References edm::MultiAssociation< C >::FastFiller::setValues().
Referenced by edm::MultiAssociation< C >::LazyFiller::fill(), and edm::MultiAssociation< C >::FastFiller::setValues().
void edm::MultiAssociation< C >::FastFiller::setValues | ( | const edm::ProductID & | id, |
unsigned int | key, | ||
const Collection & | refs | ||
) |
Sets the Collection values associated to this key, making copies of those in refs.
Definition at line 322 of file MultiAssociation.h.
References edm::MultiAssociation< C >::data_.
{ indexFiller_->insert(id, key, assoc_.data_.size(), vals.size()); for (typename Collection::const_iterator it = vals.begin(), ed = vals.end(); it != ed; ++it) { assoc_.data_.push_back(*it); } }
MultiAssociation& edm::MultiAssociation< C >::FastFiller::assoc_ [private] |
Definition at line 226 of file MultiAssociation.h.
boost::shared_ptr<IndexFiller> edm::MultiAssociation< C >::FastFiller::indexFiller_ [private] |
Definition at line 228 of file MultiAssociation.h.