Speclib  0.1.2
The library for writing better CUDA libraries

std::tuple, for GPU More...

Classes

class  sp::Tuple< Ts >
 Basically just a reimplementation of std::tuple, but without the bugs that prevent it from working on GPU. More...
 

Functions

template<typename... Es>
 sp::Tuple (Es... elements) -> Tuple< Es... >
 Deduction guide over Tuple elements. More...
 
template<typename... LTypes, class... RTypes, int... Is>
constexpr bool sp::equalityHelper (const Tuple< LTypes... > &lhs, const Tuple< RTypes... > &rhs, const sp::int_sequence< Is... > &&)
 
template<typename... LTypes, class... RTypes>
constexpr bool sp::operator== (const Tuple< LTypes... > &lhs, const Tuple< RTypes... > &rhs)
 
template<typename... LTypes, class... RTypes>
constexpr bool sp::operator< (const Tuple< LTypes... > &lhs, const Tuple< RTypes... > &rhs)
 
template<typename... LTypes, class... RTypes>
constexpr bool sp::operator!= (const Tuple< LTypes... > &lhs, const Tuple< RTypes... > &rhs)
 
template<typename... LTypes, class... RTypes>
constexpr bool sp::operator<= (const Tuple< LTypes... > &lhs, const Tuple< RTypes... > &rhs)
 
template<typename... LTypes, class... RTypes>
constexpr bool sp::operator> (const Tuple< LTypes... > &lhs, const Tuple< RTypes... > &rhs)
 
template<typename... LTypes, class... RTypes>
constexpr bool sp::operator>= (const Tuple< LTypes... > &lhs, const Tuple< RTypes... > &rhs)
 
template<class... Types>
constexpr auto sp::make_tuple (Types &&... args)
 Like std::make_tuple, but for sp::Tuple. More...
 
template<template< typename > typename F, typename... Ts>
constexpr auto sp::typeFilterTuple (const std::tuple< Ts... > &t)
 Filter a tuple using a type predicate. More...
 

Detailed Description

std::tuple, for GPU

Function Documentation

◆ make_tuple()

template<class... Types>
constexpr auto sp::make_tuple ( Types &&...  args)
constexpr

Like std::make_tuple, but for sp::Tuple.

◆ Tuple()

template<typename... Es>
sp::Tuple ( Es...  elements) -> Tuple< Es... >

Deduction guide over Tuple elements.

◆ typeFilterTuple()

template<template< typename > typename F, typename... Ts>
constexpr auto sp::typeFilterTuple ( const std::tuple< Ts... > &  t)
constexpr

Filter a tuple using a type predicate.

Template Parameters
FA unary type trait (such as std::is_floating_point) to decide which elements go in the output.