Subject: Re: [Boost-bugs] [Boost C++ Libraries] #6167: Assignment from a temporary of a class containing boost::unordered_map members fails with GNU GCC.
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-11-24 09:04:59
#6167: Assignment from a temporary of a class containing boost::unordered_map
members fails with GNU GCC.
----------------------------------------------+-----------------------------
Reporter: Geurt Vos <geurt.vos@â¦> | Owner: igaztanaga
Type: Bugs | Status: new
Milestone: To Be Determined | Component: unordered
Version: Boost 1.48.0 | Severity: Problem
Resolution: | Keywords:
----------------------------------------------+-----------------------------
Comment (by Geurt Vos <geurt.vos@â¦>):
this works:
boost::unordered_map<int, int> m = boost::assign::map_list_of(1, 1)(2,
2);
this doesn't:
boost::unordered_map<int, int> m; [[BR]]
m = boost::assign::map_list_of(1, 1)(2, 2);
with the follow errors:
move.hpp:233:7: error: âboost::rv<T>::~rv() [with T =
boost::unordered::unordered_map<int, int>]â is private [[BR]]
test.cpp:14:28: error: within this context
In file included from test.cpp:6:0: [[BR]]
move.hpp: In member function
âboost::assign_detail::generic_list<T>::operator Container() const [with
Container = boost::rv<boost::unordered::unordered_map<int, int> >, T =
std::pair<int, int>]â: [[BR]]
test.cpp:14:28: instantiated from here
move.hpp:233:7: error: âboost::rv<T>::~rv() [with T =
boost::unordered::unordered_map<int, int>]â is private [[BR]]
list_of.hpp:436:81: error: within this context
move.hpp:234:7: error: âboost::rv<T>::rv(const boost::rv<T>&) [with T =
boost::unordered::unordered_map<int, int>, boost::rv<T> =
boost::rv<boost::unordered::unordered_map<int, int> >]â is private [[BR]]
list_of.hpp:436:81: error: within this context
In file included from test.cpp:6:0: [[BR]]
move.hpp: In member function âContainer
boost::assign_detail::converter<DerivedTAssign,
Iterator>::convert_to_container() const [with Container =
boost::rv<boost::unordered::unordered_map<int, int> >, DerivedTAssign =
boost::assign_detail::generic_list<std::pair<int, int> >, Iterator =
std::_Deque_iterator<std::pair<int, int>, std::pair<int, int>&,
std::pair<int, int>*>]â: [[BR]]
list_of.hpp:436:81: instantiated from
âboost::assign_detail::generic_list<T>::operator Container() const [with
Container = boost::rv<boost::unordered::unordered_map<int, int> >, T =
std::pair<int, int>]â [[BR]]
test.cpp:14:28: instantiated from here
move.hpp:233:7: error: âboost::rv<T>::~rv() [with T =
boost::unordered::unordered_map<int, int>]â is private [[BR]]
list_of.hpp:142:54: error: within this context
move.hpp:234:7: error: âboost::rv<T>::rv(const boost::rv<T>&) [with T =
boost::unordered::unordered_map<int, int>, boost::rv<T> =
boost::rv<boost::unordered::unordered_map<int, int> >]â is private [[BR]]
list_of.hpp:142:54: error: within this context
list_of.hpp: In member function âContainer
boost::assign_detail::converter<DerivedTAssign, Iterator>::convert(const
Container*, boost::assign_detail::default_type_tag) const [with Container
= boost::rv<boost::unordered::unordered_map<int, int> >, DerivedTAssign =
boost::assign_detail::generic_list<std::pair<int, int> >, Iterator =
std::_Deque_iterator<std::pair<int, int>, std::pair<int, int>&,
std::pair<int, int>*>]â: [[BR]]
list_of.hpp:142:54: instantiated from âContainer
boost::assign_detail::converter<DerivedTAssign,
Iterator>::convert_to_container() const [with Container =
boost::rv<boost::unordered::unordered_map<int, int> >, DerivedTAssign =
boost::assign_detail::generic_list<std::pair<int, int> >, Iterator =
std::_Deque_iterator<std::pair<int, int>, std::pair<int, int>&,
std::pair<int, int>*>]â [[BR]]
list_of.hpp:436:81: instantiated from
âboost::assign_detail::generic_list<T>::operator Container() const [with
Container = boost::rv<boost::unordered::unordered_map<int, int> >, T =
std::pair<int, int>]â [[BR]]
test.cpp:14:28: instantiated from here
list_of.hpp:163:46: error: no matching function for call to
âboost::rv<boost::unordered::unordered_map<int, int>
>::rv(boost::assign_detail::converter<boost::assign_detail::generic_list<std::pair<int,
int> >, std::_Deque_iterator<std::pair<int, int>, std::pair<int, int>&,
std::pair<int, int>*> >::iterator,
boost::assign_detail::converter<boost::assign_detail::generic_list<std::pair<int,
int> >, std::_Deque_iterator<std::pair<int, int>, std::pair<int, int>&,
std::pair<int, int>*> >::iterator)â [[BR]]
list_of.hpp:163:46: note: candidates are: [[BR]]
move.hpp:234:7: note: boost::rv<T>::rv(const boost::rv<T>&) [with T =
boost::unordered::unordered_map<int, int>, boost::rv<T> =
boost::rv<boost::unordered::unordered_map<int, int> >] [[BR]]
move.hpp:234:7: note: candidate expects 1 argument, 2 provided [[BR]]
move.hpp:232:7: note: boost::rv<T>::rv() [with T =
boost::unordered::unordered_map<int, int>] [[BR]]
move.hpp:232:7: note: candidate expects 0 arguments, 2 provided
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/6167#comment:4> 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-02-16 18:50:07 UTC