1 #ifndef DataFormats_Common_IDVectorMap_h
2 #define DataFormats_Common_IDVectorMap_h
8 template<
typename ID,
typename C,
typename P>
13 typedef std::map<ID, C>
map;
33 while (
ic ==
im->second.end()) {
35 if (
im ==
em)
return *
this;
36 ic =
im->second.begin();
43 while (
ic ==
im->second.begin()) {
45 ic =
im->second.end();
75 for(CI
i = begin;
i !=
end; ++
i)
87 if (i !=
map_.end()) {
88 begin = i->second.begin();
89 end = i->second.end();
93 return range(begin, end);
115 while (
ic ==
im->second.end()) {
117 if (
im ==
em)
return *
this;
118 ic =
im->second.begin();
124 if (
im ==
em && ci.
im ==
im && ci.
em ==
em)
return true;
172 template <
typename ID,
typename C,
typename P>
177 map_.swap(other.
map_);
180 template <
typename ID,
typename C,
typename P>
190 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
void swap(Association< C > &lhs, Association< C > &rhs)
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
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
Container::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
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--()
id_iterator & operator--()