Speclib  0.1.2
The library for writing better CUDA libraries
sp::Tuple< Ts > Class Template Reference

Basically just a reimplementation of std::tuple, but without the bugs that prevent it from working on GPU. More...

Detailed Description

template<typename... Ts>
class sp::Tuple< Ts >

Basically just a reimplementation of std::tuple, but without the bugs that prevent it from working on GPU.

libstdc++'s implementation of std::tuple lacks constexpr annotations on several of its operators, leading to annoying issues like tuples not being assignable in device code.

NVIDIA® Thrust provides a similar tuple, but it has some missing operators, and some optimisation-defeating properties.

Template Parameters
TsThe types of the elements of the tuple.