DPC++ Runtime
Runtime libraries for oneAPI DPC++
type_traits.hpp File Reference
#include <sycl/access/access.hpp>
#include <sycl/detail/generic_type_lists.hpp>
#include <sycl/detail/stl_type_traits.hpp>
#include <sycl/detail/type_list.hpp>
#include <array>
#include <tuple>
#include <type_traits>
Include dependency graph for type_traits.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  sycl::_V1::ext::oneapi::experimental::detail::is_group_helper< T >
 
struct  sycl::_V1::ext::oneapi::experimental::detail::is_group_helper< group_with_scratchpad< Group, Extent > >
 
struct  sycl::_V1::detail::is_group< T >
 
struct  sycl::_V1::detail::is_group< group< Dimensions > >
 
struct  sycl::_V1::detail::is_sub_group< T >
 
struct  sycl::_V1::detail::is_sub_group< ext::oneapi::sub_group >
 
struct  sycl::_V1::detail::is_generic_group< T >
 
struct  sycl::_V1::detail::vector_size_impl< T >
 
struct  sycl::_V1::detail::vector_size_impl< vec< T, N > >
 
struct  sycl::_V1::detail::vector_size< T >
 
struct  sycl::_V1::detail::vector_alignment_impl< T, N >
 
struct  sycl::_V1::detail::vector_alignment< T, N >
 
struct  sycl::_V1::detail::vector_element_impl< T >
 
struct  sycl::_V1::detail::vector_element_impl< vec< T, N > >
 
struct  sycl::_V1::detail::vector_element< T >
 
struct  sycl::_V1::detail::change_base_type< T, B >
 
struct  sycl::_V1::detail::change_base_type< vec< T, N >, B >
 
struct  sycl::_V1::detail::copy_cv_qualifiers_impl< T, R >
 
struct  sycl::_V1::detail::copy_cv_qualifiers_impl< const T, R >
 
struct  sycl::_V1::detail::copy_cv_qualifiers_impl< volatile T, R >
 
struct  sycl::_V1::detail::copy_cv_qualifiers_impl< const volatile T, R >
 
struct  sycl::_V1::detail::copy_cv_qualifiers< T, R >
 
struct  sycl::_V1::detail::make_signed_impl< T, std::enable_if_t< is_contained< T, gtl::scalar_integer_list >::value, T > >
 
struct  sycl::_V1::detail::make_signed_impl< T, std::enable_if_t< is_contained< T, gtl::vector_integer_list >::value, T > >
 
struct  sycl::_V1::detail::make_signed_impl< T, std::enable_if_t<!is_contained< T, gtl::integer_list >::value, T > >
 
struct  sycl::_V1::detail::make_signed< T >
 
struct  sycl::_V1::detail::make_unsigned_impl< T, std::enable_if_t< is_contained< T, gtl::scalar_integer_list >::value, T > >
 
struct  sycl::_V1::detail::make_unsigned_impl< T, std::enable_if_t< is_contained< T, gtl::vector_integer_list >::value, T > >
 
struct  sycl::_V1::detail::make_unsigned_impl< T, std::enable_if_t<!is_contained< T, gtl::integer_list >::value, T > >
 
struct  sycl::_V1::detail::make_unsigned< T >
 
struct  sycl::_V1::detail::is_vec< typename >
 
struct  sycl::_V1::detail::is_vec< sycl::vec< T, N > >
 
struct  sycl::_V1::detail::is_integral< T >
 
struct  sycl::_V1::detail::is_floating_point_impl< T >
 
struct  sycl::_V1::detail::is_floating_point_impl< half >
 
struct  sycl::_V1::detail::is_floating_point< T >
 
struct  sycl::_V1::detail::is_arithmetic< T >
 
struct  sycl::_V1::detail::is_scalar_arithmetic< T >
 
struct  sycl::_V1::detail::is_vector_arithmetic< T >
 
struct  sycl::_V1::detail::is_scalar_bool< T >
 
struct  sycl::_V1::detail::is_vector_bool< T >
 
struct  sycl::_V1::detail::is_bool< T >
 
struct  sycl::_V1::detail::is_pointer_impl< T >
 
struct  sycl::_V1::detail::is_pointer_impl< T * >
 
struct  sycl::_V1::detail::is_pointer_impl< multi_ptr< T, Space, DecorateAddress > >
 
struct  sycl::_V1::detail::is_pointer< T >
 
struct  sycl::_V1::detail::remove_pointer_impl< T >
 
struct  sycl::_V1::detail::remove_pointer_impl< T * >
 
struct  sycl::_V1::detail::remove_pointer_impl< multi_ptr< T, Space, DecorateAddress > >
 
struct  sycl::_V1::detail::remove_pointer< T >
 
struct  sycl::_V1::detail::is_address_space_compliant_impl< T, SpaceList >
 
struct  sycl::_V1::detail::is_address_space_compliant_impl< T *, SpaceList >
 
struct  sycl::_V1::detail::is_address_space_compliant_impl< multi_ptr< T, Space, DecorateAddress >, SpaceList >
 
struct  sycl::_V1::detail::is_address_space_compliant< T, SpaceList >
 
struct  sycl::_V1::detail::make_type_impl< T, TL >
 
struct  sycl::_V1::detail::make_type_impl< vec< T, N >, TL >
 
struct  sycl::_V1::detail::make_larger_impl< T, std::enable_if_t< is_contained< T, gtl::scalar_floating_list >::value, T > >
 
struct  sycl::_V1::detail::make_larger_impl< T, std::enable_if_t< is_contained< T, gtl::scalar_signed_integer_list >::value, T > >
 
struct  sycl::_V1::detail::make_larger_impl< T, std::enable_if_t< is_contained< T, gtl::scalar_unsigned_integer_list >::value, T > >
 
struct  sycl::_V1::detail::make_larger_impl< vec< T, N >, vec< T, N > >
 
struct  sycl::_V1::detail::make_larger< T >
 
struct  sycl::_V1::detail::function_traits< T >
 
struct  sycl::_V1::detail::function_traits< Ret(Args...)>
 

Namespaces

 sycl
 ---— Error handling, matching OpenCL plugin semantics.
 
 sycl::_V1
 
 sycl::_V1::ext
 
 sycl::_V1::ext::oneapi
 
 sycl::_V1::ext::oneapi::experimental
 
 sycl::_V1::ext::oneapi::experimental::detail
 
 sycl::_V1::detail
 
 sycl::_V1::detail::half_impl
 

Typedefs

using sycl::_V1::detail::uuid_type = std::array< unsigned char, 16 >
 
template<typename T , typename R >
using sycl::_V1::detail::copy_cv_qualifiers_t = typename copy_cv_qualifiers< T, R >::type
 
template<int V>
using sycl::_V1::detail::int_constant = std::integral_constant< int, V >
 
template<typename T >
using sycl::_V1::detail::vector_element_impl_t = typename vector_element_impl< T >::type
 
template<class T >
using sycl::_V1::detail::vector_element_t = typename vector_element< T >::type
 
template<typename T , typename B >
using sycl::_V1::detail::change_base_type_t = typename change_base_type< T, B >::type
 
template<typename T >
using sycl::_V1::detail::make_signed_impl_t = typename make_signed_impl< T, T >::type
 
template<typename T >
using sycl::_V1::detail::make_signed_t = typename make_signed< T >::type
 
template<typename T >
using sycl::_V1::detail::make_unsigned_impl_t = typename make_unsigned_impl< T, T >::type
 
template<typename T >
using sycl::_V1::detail::make_unsigned_t = typename make_unsigned< T >::type
 
template<typename T , int N, template< typename > class S>
using sycl::_V1::detail::is_gen_based_on_type_sizeof = bool_constant< S< T >::value &&(sizeof(vector_element_t< T >)==N)>
 
template<typename T >
using sycl::_V1::detail::remove_pointer_t = typename remove_pointer< T >::type
 
template<typename T , typename TL >
using sycl::_V1::detail::make_type_t = typename make_type_impl< T, TL >::type
 
template<typename T >
using sycl::_V1::detail::make_larger_t = typename make_larger< T >::type
 
template<access::address_space AS, class DataT >
using sycl::_V1::detail::const_if_const_AS = DataT
 

Variables

template<class T >
__SYCL_INLINE_CONSTEXPR bool sycl::_V1::is_group_v
 
template<class T >
__SYCL_INLINE_CONSTEXPR bool sycl::_V1::ext::oneapi::experimental::is_group_helper_v