Re: shuffle_random removed in C++17 on FreeBSD/Clang??

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 9, 2018 at 2:10 AM, Willem Jan Withagen <wjw@xxxxxxxxxxx> wrote:
> Hi,
>
> As a consequence of the move to C++17 I'm running into this problem.
>
> --WjW
>
> I'm getting this error:
> /home/jenkins/workspace/ceph-master/src/osd/ReplicatedBackend.cc:1369:8:
> error: no member named 'random_shuffle' in namespace 'std'
>   std::random_shuffle(shuffle.begin(), shuffle.end());
>   ~~~~~^
> 1 error generated.
>
> And the includefile tells me:
> template <class RandomAccessIterator>
>     void
>     random_shuffle(RandomAccessIterator first, RandomAccessIterator last);
> // deprecated in C++14, removed in C++17

Hmm, yep! http://en.cppreference.com/w/cpp/algorithm/random_shuffle

Looks like we're just using it to re-order the list and pick a random
source, so it should be easy enough to replace with a range-restricted
integer selection. Here's a quick hack of a fix:
https://github.com/ceph/ceph/pull/19873
-Greg
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux