From fb641de7ccccf52bbc67388de5a44cbc595d2796 Mon Sep 17 00:00:00 2001 From: Jakub Szuppe Date: Sat, 16 Jul 2016 15:11:34 +0200 Subject: [PATCH] Add operator= for vectors with different allocator Now code: `vector a(context); vector b(context); a = b;` works. --- include/boost/compute/container/vector.hpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/boost/compute/container/vector.hpp b/include/boost/compute/container/vector.hpp index 47d649ad..5ae6d933 100644 --- a/include/boost/compute/container/vector.hpp +++ b/include/boost/compute/container/vector.hpp @@ -252,6 +252,17 @@ public: return *this; } + template + vector& operator=(const vector &other) + { + command_queue queue = default_queue(); + resize(other.size(), queue); + ::boost::compute::copy(other.begin(), other.end(), begin(), queue); + queue.finish(); + + return *this; + } + template vector& operator=(const std::vector &vector) {