cuda-kat
CUDA kernel author's tools
Classes | Macros | Functions
array.hpp File Reference

This file implements kat::array, an equivalent of C++11's std::array which may be used both in host-side and CUDA-device-side code, along with some supporting functions and overloaded operators for that class. More...

#include <kat/common.hpp>
#include <kat/detail/range_access.hpp>
#include <cstddef>
#include <cstdlib>
#include <array>
#include <tuple>
#include <utility>
#include <algorithm>
#include <iterator>
#include <type_traits>

Go to the source code of this file.

Classes

struct  kat::array< T, NumElements >
 A standard container for storing a fixed size sequence of elements, based on std::array - but fully GPU device-side enabled. More...
 
struct  std::tuple_size< T >
 
struct  std::tuple_size< kat::array< T, NumElements > >
 
struct  std::tuple_element< Integer, T >
 
struct  std::tuple_element< Integer, kat::array< T, NumElements > >
 
struct  std::tuple_element< Integer, const kat::array< T, NumElements > >
 
struct  std::tuple_element< Integer, volatile kat::array< T, NumElements > >
 
struct  std::tuple_element< Integer, const volatile kat::array< T, NumElements > >
 

Functions

template<typename T , size_t NumElements>
KAT_FHD CONSTEXPR_SINCE_CPP_17 bool kat::operator== (const array< T, NumElements > &one, const array< T, NumElements > &two)
 
template<typename T , size_t NumElements>
KAT_FHD CONSTEXPR_SINCE_CPP_17 bool kat::operator!= (const array< T, NumElements > &one, const array< T, NumElements > &two)
 
template<typename T , size_t NumElements>
KAT_FHD bool CONSTEXPR_SINCE_CPP_17 kat::operator< (const array< T, NumElements > &a, const array< T, NumElements > &b)
 
template<typename T , size_t NumElements>
KAT_FHD bool CONSTEXPR_SINCE_CPP_17 kat::operator> (const array< T, NumElements > &one, const array< T, NumElements > &two)
 
template<typename T , size_t NumElements>
KAT_FHD bool CONSTEXPR_SINCE_CPP_17 kat::operator<= (const array< T, NumElements > &one, const array< T, NumElements > &two)
 
template<typename T , size_t NumElements>
KAT_FHD bool CONSTEXPR_SINCE_CPP_17 kat::operator>= (const array< T, NumElements > &one, const array< T, NumElements > &two)
 
template<typename T , size_t NumElements>
KAT_FHD CONSTEXPR_SINCE_CPP_14 void kat::swap (array< T, NumElements > &one, array< T, NumElements > &two) noexcept(noexcept(one.swap(two)))
 
template<size_t Integer, typename T , size_t NumElements>
KAT_FHD constexpr T & kat::get (array< T, NumElements > &arr) noexcept
 
template<size_t Integer, typename T , size_t NumElements>
KAT_FHD constexpr T && kat::get (array< T, NumElements > &&arr) noexcept
 
template<size_t Integer, typename T , size_t NumElements>
KAT_FHD constexpr const T & kat::get (const array< T, NumElements > &arr) noexcept
 

Detailed Description

This file implements kat::array, an equivalent of C++11's std::array which may be used both in host-side and CUDA-device-side code, along with some supporting functions and overloaded operators for that class.