1 #ifndef DataFormats_Common_IDVectorMap_h 2 #define DataFormats_Common_IDVectorMap_h 7 template <
typename ID,
typename C,
typename P>
12 typedef std::map<ID, C>
map;
30 while (
ic ==
im->second.end()) {
34 ic =
im->second.begin();
46 ic =
im->second.end();
48 while (
ic ==
im->second.begin()) {
50 ic =
im->second.end();
70 container_iterator
ic;
77 template <
typename CI>
80 for (CI
i = begin;
i !=
end; ++
i)
85 range(
const container_iterator&
b,
const container_iterator&
e) :
begin(b),
end(e) {}
90 map_iterator
i =
map_.find(
id);
91 if (i !=
map_.end()) {
92 begin = i->second.begin();
93 end = i->second.end();
97 return range(begin, end);
100 template <
typename M>
107 match_iterator(
const M& ma,
const map_iterator&
e,
const map_iterator&
m,
const container_iterator&
c)
119 while (
ic ==
im->second.end()) {
125 ic =
im->second.begin();
145 container_iterator
ic;
148 template <
typename M>
152 template <
typename M>
204 template <
typename ID,
typename C,
typename P>
210 template <
typename ID,
typename C,
typename P>
218 template <
typename ID,
typename C,
typename P>
id_iterator operator--(int)
const_iterator & operator=(const const_iterator &it)
const_iterator(const map_iterator &e)
id_iterator(map_iterator o)
const_iterator begin() const
bool operator==(const id_iterator &ci) const
const_iterator(const map_iterator &e, const map_iterator &m, const container_iterator &c)
void swap(IDVectorMap &other)
const value_type & operator*() const
const_iterator operator--(int)
IDVectorMap & operator=(IDVectorMap const &rhs)
const_iterator end() const
match_iterator< M > begin(const M &m) const
const ID operator*() const
match_iterator & operator++()
match_iterator operator++(int)
match_iterator(const M &ma, const map_iterator &e)
bool operator!=(const const_iterator &ci) const
map_iterator::iterator_category iterator_category
C::const_iterator container_iterator
Container::value_type value_type
map_iterator::iterator_category iterator_category
bool operator!=(const match_iterator &ci) const
const_iterator & operator++()
id_iterator id_end() const
IDVectorMap::value_type value_type
void insert(ID id, const value_type &t)
id_iterator id_begin() const
const_iterator operator++(int)
match_iterator & operator=(const match_iterator &it)
id_iterator & operator=(const id_iterator &it)
id_iterator operator++(int)
range(const container_iterator &b, const container_iterator &e)
match_iterator< M > end(const M &m) const
map_iterator::iterator_category iterator_category
IDVectorMap::value_type value_type
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
id_iterator & operator++()
bool operator==(const match_iterator &ci) const
bool operator!=(const id_iterator &ci) const
map::const_iterator map_iterator
void insert(ID id, CI begin, CI end)
const value_type & operator*() const
bool operator==(const const_iterator &ci) const
match_iterator(const M &ma, const map_iterator &e, const map_iterator &m, const container_iterator &c)
const_iterator & operator--()
std::string match(BranchDescription const &a, BranchDescription const &b, std::string const &fileName)
id_iterator & operator--()