#include <MultiAssociation.h>
Classes | |
class | FastFiller |
struct | IDComparator |
Public Types | |
typedef std::pair< unsigned int, unsigned int > | range |
Public Member Functions | |
bool | contains (ProductID id) const |
True if this IndexRangeAssociation has info for this product id. More... | |
bool | empty () const |
True if it's empty (no keys) More... | |
range | get (const edm::ProductID &id, unsigned int t) const |
IndexRangeAssociation () | |
template<typename RefKey > | |
range | operator[] (const RefKey &r) const |
unsigned int | size () const |
Size of this collection (number of keys) More... | |
void | swap (IndexRangeAssociation &other) |
Static Public Member Functions | |
static void | throwUnexpectedProductID (ProductID found, ProductID expected, const char *where) |
Private Types | |
typedef std::pair < edm::ProductID, unsigned int > | id_off_pair |
typedef std::vector< id_off_pair > | id_offset_vector |
typedef std::vector< int > | offset_vector |
Private Attributes | |
id_offset_vector | id_offsets_ |
bool | isFilling_ |
offset_vector | ref_offsets_ |
Friends | |
class | FastFiller |
Base class to map to items one a range within a target collection. All items in a target collection must be mapped to one and only one key. The target collection will normally be a RefVector (also PtrVector and std::vector could work) To be used by MultiAssociation. Any other usage beyond MultiAssociation is not supported. This class holds:
Definition at line 73 of file MultiAssociation.h.
|
private |
Definition at line 132 of file MultiAssociation.h.
|
private |
Definition at line 133 of file MultiAssociation.h.
|
private |
Definition at line 134 of file MultiAssociation.h.
typedef std::pair<unsigned int, unsigned int> edm::helper::IndexRangeAssociation::range |
Definition at line 75 of file MultiAssociation.h.
|
inline |
Definition at line 77 of file MultiAssociation.h.
bool IndexRangeAssociation::contains | ( | ProductID | id | ) | const |
True if this IndexRangeAssociation has info for this product id.
Definition at line 32 of file MultiAssociation.cc.
References id_offsets_.
Referenced by LumiList.LumiList::__contains__(), and edm::MultiAssociation< C >::contains().
|
inline |
True if it's empty (no keys)
Definition at line 97 of file MultiAssociation.h.
References ref_offsets_.
Referenced by edm::MultiAssociation< C >::empty(), Vispa.Gui.VispaWidget.TextField::setAutosizeFont(), and Vispa.Gui.VispaWidget.TextField::setAutotruncate().
IndexRangeAssociation::range IndexRangeAssociation::get | ( | const edm::ProductID & | id, |
unsigned int | t | ||
) | const |
Get a range of indices for this product id and key (non-template version) And end value of -1 means 'until the end of the other collection, AFAICT'
Definition at line 11 of file MultiAssociation.cc.
References Exception, id_offsets_, relval_steps::key, ref_offsets_, and edm::second().
Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), rrapi.RRApi::columns(), rrapi.RRApi::count(), rrapi.RRApi::data(), edm::MultiAssociation< C >::get(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), betterConfigParser.BetterConfigParser::getResultingSection(), rrapi.RRApi::report(), rrapi.RRApi::reports(), rrapi.RRApi::tables(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), and rrapi.RRApi::workspaces().
|
inline |
Get a range of indices for this key. RefKey can be edm::Ref, edm::Ptr, edm::RefToBase And end value of -1 means 'until the end of the other collection, AFAICT'
Definition at line 82 of file MultiAssociation.h.
|
inline |
Size of this collection (number of keys)
Definition at line 94 of file MultiAssociation.h.
References ref_offsets_.
Referenced by edm::helper::IndexRangeAssociation::FastFiller::insert(), and edm::MultiAssociation< C >::size().
void IndexRangeAssociation::swap | ( | IndexRangeAssociation & | other | ) |
Definition at line 39 of file MultiAssociation.cc.
References Exception, id_offsets_, isFilling_, and ref_offsets_.
Referenced by edm::helper::swap(), and edm::MultiAssociation< C >::swap().
|
static |
Definition at line 116 of file MultiAssociation.cc.
References Exception.
Referenced by edm::helper::IndexRangeAssociation::FastFiller::insert(), edm::MultiAssociation< C >::LazyFiller::setValues(), and edm::MultiAssociation< C >::LazyFiller::swapValues().
|
friend |
Definition at line 126 of file MultiAssociation.h.
|
private |
Definition at line 135 of file MultiAssociation.h.
Referenced by contains(), edm::helper::IndexRangeAssociation::FastFiller::FastFiller(), get(), and swap().
|
private |
Definition at line 138 of file MultiAssociation.h.
Referenced by edm::helper::IndexRangeAssociation::FastFiller::FastFiller(), and swap().
|
private |
Definition at line 136 of file MultiAssociation.h.
Referenced by empty(), edm::helper::IndexRangeAssociation::FastFiller::FastFiller(), get(), size(), and swap().