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

Go to the source code of this file.

Classes

struct  sycl::_V1::detail::value_list< T, Head, Tail... >
 
struct  sycl::_V1::detail::value_list< T >
 
struct  sycl::_V1::detail::is_contained_value< T, Value, ValueList >
 
struct  sycl::_V1::detail::is_contained_value< T, Value, value_list< T > >
 
struct  sycl::_V1::detail::is_type_size_equal< T1, T2 >
 
struct  sycl::_V1::detail::is_type_size_double_of< T1, T2 >
 
struct  sycl::_V1::detail::find_type< TypeList, Comp, T >
 

Namespaces

 sycl
 
 sycl::_V1
 
 sycl::_V1::detail
 

Typedefs

template<class... T>
using sycl::_V1::detail::type_list = boost::mp11::mp_list< T... >
 
using sycl::_V1::detail::empty_type_list = type_list<>
 
template<typename T >
using sycl::_V1::detail::is_empty_type_list = std::is_same< T, empty_type_list >
 
template<typename T , typename TypeList >
using sycl::_V1::detail::is_contained = boost::mp11::mp_set_contains< TypeList, std::remove_cv_t< T > >
 
template<class... L>
using sycl::_V1::detail::tl_append = boost::mp11::mp_append< L... >
 
template<typename T >
using sycl::_V1::detail::tail_t = typename T::tail
 
template<access::address_space... Values>
using sycl::_V1::detail::address_space_list = value_list< access::address_space, Values... >
 
template<access::address_space AddressSpace, typename ValueList >
using sycl::_V1::detail::is_one_of_spaces = is_contained_value< access::address_space, AddressSpace, ValueList >
 
template<typename TypeList , template< typename, typename > class Comp, typename T >
using sycl::_V1::detail::find_type_t = typename find_type< TypeList, Comp, T >::type
 
template<typename TypeList , typename T >
using sycl::_V1::detail::find_same_size_type_t = find_type_t< TypeList, is_type_size_equal, T >
 
template<typename TypeList , typename T >
using sycl::_V1::detail::find_twice_as_large_type_t = find_type_t< TypeList, is_type_size_double_of, T >
 

Variables

template<typename T , typename TypeList >
constexpr bool sycl::_V1::detail::is_contained_v = is_contained<T, TypeList>::value