Mesa (master): clover: Allow storing a range into a container of different (but compatible) element type.
Francisco Jerez
currojerez at kemper.freedesktop.org
Fri Feb 21 11:58:20 UTC 2014
Module: Mesa
Branch: master
Commit: d82b39ce382e035b946b3f961c7afd356f55f4f0
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d82b39ce382e035b946b3f961c7afd356f55f4f0
Author: Francisco Jerez <currojerez at riseup.net>
Date: Tue Feb 18 14:52:25 2014 +0100
clover: Allow storing a range into a container of different (but compatible) element type.
Tested-by: Tom Stellard <thomas.stellard at amd.com>
---
src/gallium/state_trackers/clover/util/range.hpp | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/gallium/state_trackers/clover/util/range.hpp b/src/gallium/state_trackers/clover/util/range.hpp
index afa5f77..b082359 100644
--- a/src/gallium/state_trackers/clover/util/range.hpp
+++ b/src/gallium/state_trackers/clover/util/range.hpp
@@ -38,25 +38,25 @@ namespace clover {
template<typename T, typename V>
struct range_store_traits;
- template<typename T>
- struct range_store_traits<T, std::vector<T>> {
+ template<typename T, typename S>
+ struct range_store_traits<T, std::vector<S>> {
typedef void enable;
template<typename R>
- static std::vector<T>
+ static std::vector<S>
create(const R &r) {
return { r.begin(), r.end() };
}
};
- template<typename T, std::size_t N>
- struct range_store_traits<T, std::array<T, N>> {
+ template<typename T, typename S, std::size_t N>
+ struct range_store_traits<T, std::array<S, N>> {
typedef void enable;
template<typename R>
- static std::array<T, N>
+ static std::array<S, N>
create(const R &r) {
- std::array<T, N> v;
+ std::array<S, N> v;
assert(r.size() == v.size());
copy(r, v.begin());
return v;
More information about the mesa-commit
mailing list