|
Boost Users : |
Subject: Re: [Boost-users] [Serialize] master build failed due to friend template
From: Robert Ramey (ramey_at_[hidden])
Date: 2017-03-02 16:44:47
On 10/28/16 6:19 AM, alainm wrote:
>
> Hi Robert,
>
> My build is currently failing on master due to the following friend
> declaration in array.hpp:
> [...]
> public:
> // note: I would like to make the copy constructor private but this
> breaks
> // make_array. So I try to make make_array a friend - but that doesn't
> // build. Need a C++ guru to explain this!
> template<class S>
> friend const boost::serialization::array_wrapper<T> make_array( T*
> t, S s);
> [...]
> actual definition:
>
> template<class T, class S>
> inline
> const array_wrapper< T > make_array( T* t, S s){
> const array_wrapper< T > a(t, s);
> return a;
> }
>
> the problem is that the actual template definition takes two template
> parameters.
> Has a result, the friend declaration introduces a new template that will
> be missing at link time.
>
> I'd like to have it fixed for the upcomming release so that we could
> merge in a long overdue update of the MPI lib.
> The fix seems kind of trivial:
> https://github.com/boostorg/serialization/pull/46
>
> I also have an issue with the selection criteria for emplace_hint which
> fails (at least) on intel C++/CentOS 6.5:
> https://github.com/boostorg/serialization/pull/47
These are both fixed in develop and master. I update the code on my
machine and checked it in sometime ago rather than doing the pr merge.
>
> Regards
>
> Alain
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net