From 41b4d6c8ffedfe3a31749d29c40298ca340f1ba9 Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Fri, 9 Dec 2016 12:17:31 +0000 Subject: [PATCH] Fix missing const on set::count. Patch from Andrey Khalyavin llvm-svn: 289204 --- libcxx/include/set | 2 +- .../std/containers/associative/set/count.pass.cpp | 20 +++++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/libcxx/include/set b/libcxx/include/set index ac69e08..606af72 100644 --- a/libcxx/include/set +++ b/libcxx/include/set @@ -672,7 +672,7 @@ public: template _LIBCPP_INLINE_VISIBILITY typename enable_if<__is_transparent<_Compare, _K2>::value,size_type>::type - count(const _K2& __k) {return __tree_.__count_unique(__k);} + count(const _K2& __k) const {return __tree_.__count_unique(__k);} #endif _LIBCPP_INLINE_VISIBILITY iterator lower_bound(const key_type& __k) diff --git a/libcxx/test/std/containers/associative/set/count.pass.cpp b/libcxx/test/std/containers/associative/set/count.pass.cpp index dd75651..115b4fb 100644 --- a/libcxx/test/std/containers/associative/set/count.pass.cpp +++ b/libcxx/test/std/containers/associative/set/count.pass.cpp @@ -145,23 +145,25 @@ int main() m.insert ( V::make ( 11 )); m.insert ( V::make ( 12 )); - R r = m.count(5); + const M& mc = m; + + R r = mc.count(5); assert(r == 1); - r = m.count(6); + r = mc.count(6); assert(r == 1); - r = m.count(7); + r = mc.count(7); assert(r == 1); - r = m.count(8); + r = mc.count(8); assert(r == 1); - r = m.count(9); + r = mc.count(9); assert(r == 1); - r = m.count(10); + r = mc.count(10); assert(r == 1); - r = m.count(11); + r = mc.count(11); assert(r == 1); - r = m.count(12); + r = mc.count(12); assert(r == 1); - r = m.count(4); + r = mc.count(4); assert(r == 0); } #endif -- 2.7.4