]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/compute/algorithm/set_union.hpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / boost / compute / algorithm / set_union.hpp
index 6b405a0905d9fe8c0c1133acd9a17bb040d4a18a..9296e0707ade693e53ed21f3ecb98e42dd41f377 100644 (file)
@@ -13,6 +13,8 @@
 
 #include <iterator>
 
+#include <boost/static_assert.hpp>
+
 #include <boost/compute/algorithm/detail/balanced_path.hpp>
 #include <boost/compute/algorithm/detail/compact.hpp>
 #include <boost/compute/algorithm/exclusive_scan.hpp>
@@ -21,6 +23,7 @@
 #include <boost/compute/detail/iterator_range_size.hpp>
 #include <boost/compute/detail/meta_kernel.hpp>
 #include <boost/compute/system.hpp>
+#include <boost/compute/type_traits/is_device_iterator.hpp>
 
 namespace boost {
 namespace compute {
@@ -145,6 +148,10 @@ inline OutputIterator set_union(InputIterator1 first1,
                                 OutputIterator result,
                                 command_queue &queue = system::default_queue())
 {
+    BOOST_STATIC_ASSERT(is_device_iterator<InputIterator1>::value);
+    BOOST_STATIC_ASSERT(is_device_iterator<InputIterator2>::value);
+    BOOST_STATIC_ASSERT(is_device_iterator<OutputIterator>::value);
+
     typedef typename std::iterator_traits<InputIterator1>::value_type value_type;
 
     int tile_size = 1024;