Opened 7 years ago
Closed 6 years ago
#11820 closed Bugs (fixed)
compilier error when using operator[] of map
Reported by: | anonymous | Owned by: | Ion Gaztañaga |
---|---|---|---|
Milestone: | To Be Determined | Component: | container |
Version: | Boost 1.59.0 | Severity: | Problem |
Keywords: | Cc: |
Description
- I've define a map with specific Allocator, map<key, value, less, MyAllocator>
- if I call operator[] of this map, it will not find the right allocator
mapped_type& priv_subscript(BOOST_RV_REF(key_type) mk)
{
key_type &k = mk; we can optimize this iterator i = this->lower_bound(k); i->first is greater than or equivalent to k.
if (i == this->end() this->key_comp()(k, (*i).first)){ container_detail::value_init<mapped_type> m; movable_value_type val(boost::move(k), boost::move(m.m_t)); i = insert(i, boost::move(val));
} return (*i).second;
}
- because of this code " movable_value_type val(boost::move(k), boost::move(m.m_t)); "
it will not new the right pair with right allocator when using operator[]
Change History (3)
comment:1 by , 7 years ago
Component: | None → container |
---|---|
Owner: | set to |
comment:2 by , 7 years ago
comment:3 by , 6 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Closed bug as no confirmation was obtained by the reporter.
Note:
See TracTickets
for help on using tickets.
Thanks for the report. Can you check the following commit fixes your problem?
https://github.com/boostorg/container/commit/a3262c0ae75280f59ae7e9baa960e6873a5ae57f