#pragma once // OpenCL SDK includes #include // cl::util::detail::for_each_arg // STL includes #include // std::generate_n #include // std::begin #include namespace cl { namespace sdk { template void fill_with_random(PRNG&& prng, Containers&&... containers) { util::detail::for_each_arg( [&](auto&& container) { std::generate_n(std::begin(container), container.size(), prng); }, containers...); } } }