Boost logo

Boost :

Subject: [boost] Const-overload for bimap associative_container_adaptor::count()
From: Matthew L. Creech (mlcreech_at_[hidden])
Date: 2008-10-18 22:44:55

Would it be possible to include a const-overloaded version of count()
for associative containers in boost::bimaps? I had some code like

void CMyClass::func(size_t key) const {
        size_t num_elements=_member_map.count(key);

where _member_map was a std::map, and it worked fine. When I changed
_member_map to a bimap, the equivalent code:

void CMyClass::func(size_t key) const {
        size_t num_elements=_member_map.left.count(key);

gives an error, because count() is non-const (whereas GCC's
std::map::count() is const). That's presumably done because the STL
documentation declares count() as non-const (not sure why), but it
doesn't seem there would be any harm in adding a const-overload so
that this kind of code would compile when the underlying type supports
it. The attached patch fixes the problem for me.


Matthew L. Creech

Boost list run by bdawes at, gregod at, cpdaniel at, john at