Subject: [Boost-bugs] [Boost C++ Libraries] #12955: ambiguous member when calling upper_bound_rank
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-04-07 18:23:26
#12955: ambiguous member when calling upper_bound_rank
-------------------------------------------------+-------------------------
Reporter: Rob Rose <rrose@â¦> | Owner: joaquin
Type: Bugs | Status: new
Milestone: To Be Determined | Component: multi_index
Version: Boost 1.63.0 | Severity: Problem
Keywords: multi_index, upper_bound_rank, |
ambiguous |
-------------------------------------------------+-------------------------
When using a boost::multi_index::multi_index_container with ranked
indices, trying to call upper_bound_rank on any but the '''last''' ranked
index listed in the indexed_by template parameter of the
multi_index_container gives the following compiler error (in gcc 4.9, and
MSVC 14 gives a similar error):
{{{
/usr/local/boost_1_63_0/boost/multi_index/detail/rnk_index_ops.hpp:216:22:
error: request for member âsizeâ is ambiguous
std::size_t s=top->size;
^
In file included from /home/aqsystem/repos/md/cpp/test_proj/main.cpp:2:0:
/usr/local/boost_1_63_0/boost/multi_index/ranked_index.hpp:32:15: note:
candidates are: std::size_t
boost::multi_index::detail::ranked_node<boost::multi_index::detail::ordered_index_node_compressed_base<boost::multi_index::detail::rank_policy,
std::allocator<char> > >::size
std::size_t size;
^
/usr/local/boost_1_63_0/boost/multi_index/ranked_index.hpp:32:15: note:
std::size_t
boost::multi_index::detail::ranked_node<boost::multi_index::detail::ordered_index_node_compressed_base<boost::multi_index::detail::rank_policy,
std::allocator<char> > >::size
make[3]: *** [test_proj/CMakeFiles/test_proj.dir/main.cpp.o] Error 1
}}}
Attached is code that exhibits this error- you can see that trying to call
upper_bound_rank on the first or second index of the multi_index_container
produces the compiler error given above, and that calling it on the third
(and final ranked) index does not. Changing the fourth index to be
ranked_unique or ranked_non_unique will cause the third index to also
product the above compiler error.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/12955> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-04-07 18:26:26 UTC