[Boost-bugs] [Boost C++ Libraries] #5455: std::vector<byte_> not assignable to std::vector<unsigned char>

Subject: [Boost-bugs] [Boost C++ Libraries] #5455: std::vector<byte_> not assignable to std::vector<unsigned char>
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-04-11 18:20:56


#5455: std::vector<byte_> not assignable to std::vector<unsigned char>
----------------------------------+-----------------------------------------
 Reporter: jaredgrubb@… | Owner: djowel
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: spirit
  Version: Boost 1.44.0 | Severity: Problem
 Keywords: |
----------------------------------+-----------------------------------------
 Using a rule that is like this:

 rule = (*qi::byte_) [at_c<0>(_val) = _1];

 where _val is a fusion-adapted struct that has a member
 (std::vector<uint8_t>, data).

 I get an error that there is no viable overload of operator= for:
      BOOST_BINARY_RESULT_OF(x = y, result_of_assign)
 where x = std::vector<unsigned char, std::allocator<unsigned char> >
 and y = std::vector<boost::integer::endian<2, unsigned char, 8, 0>,
 std::allocator<boost::integer::endian<2, unsigned char, 8, 0> > >

 appears to occur in this instantiation:

 boost::phoenix::result_of_assign<std::vector<unsigned char,
 std::allocator<unsigned char> > &, std::vector<boost::integer::endian<2,
 unsigned char, 8, 0>, std::allocator<boost::integer::endian<2, unsigned
 char, 8, 0> > > &>

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/5455>
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:06 UTC