3 ms·
Why wouldn't an implementation along these lines be performant? template<typename... Ts> class SoA : public tuple<vector<Ts>...> { // ...
by smitherfield 8y ago
Why wouldn't an implementation along these lines be performant?
template<typename... Ts>
class SoA : public tuple<vector<Ts>...> {
// ...
template<size_t... Is>
tuple<Ts&...> subscript(size_t i, index_sequence<Is...>) {
return {get<Is>(*this)[i]...};
}
public:
// ...
auto operator[](size_t i) {
return subscript(i, index_sequence_for<Ts...>{});
}
};