Hydra: TypeTraits.h File Reference (original) (raw)

#include <hydra/detail/Config.h>
#include <type_traits>
#include <limits>
#include <hydra/detail/external/hydra_thrust/complex.h>
#include <hydra/detail/external/hydra_thrust/detail/type_traits.h>
#include <hydra/detail/external/hydra_thrust/execution_policy.h>
#include <hydra/detail/external/hydra_thrust/iterator/iterator_categories.h>
#include <hydra/detail/external/hydra_thrust/iterator/detail/is_iterator_category.h>
#include <hydra/detail/external/hydra_thrust/iterator/iterator_traits.h>
#include <hydra/detail/external/hydra_thrust/device_reference.h>
#include <hydra/detail/external/hydra_thrust/detail/raw_reference_cast.h>
#include <hydra/detail/external/hydra_thrust/type_traits/void_t.h>

Go to the source code of this file.

Data Structures
struct hydra::detail::function_traits< T >
struct hydra::detail::function_traits< ReturnType(ClassType::*)(Args &...)>
struct hydra::detail::function_traits< ReturnType(ClassType::*)(Args &...)>::arg< i >
struct hydra::detail::function_traits< ReturnType(ClassType::*)(Args...) const >
struct hydra::detail::function_traits< ReturnType(ClassType::*)(Args...) const >::arg< i >
class hydra::detail::if_then_else< C, T1, T2 >
class hydra::detail::if_then_else< false, T1, T2 >
class hydra::detail::if_then_else< true, T1, T2 >
struct hydra::detail::if_then_else_tt< Condition, T1, T2 >
struct hydra::detail::if_then_else_tt< false, T1, T2 >
struct hydra::detail::if_then_else_tt< true, T1, T2 >
struct hydra::detail::is_device_reference< T >
struct hydra::detail::is_device_reference< hydra::thrust::device_reference< T > >
struct hydra::detail::is_iterator< T, typename >
struct hydra::detail::is_iterator< T, hydra::thrust::void_t< typename std::enable_if< std::is_default_constructible< T >::value, void >::type, typename std::enable_if< std::is_copy_constructible< T >::value, void >::type, typename std::enable_if< std::is_destructible< T >::value, void >::type, decltype(std::declval< T & >()[0]), decltype(std::declval< T & >() -std::declval< T & >()), decltype(++std::declval< T & >()), decltype(*std::declval< T & >()), decltype(std::declval< T & >()==std::declval< T & >()), decltype(std::declval< T & >() !=std::declval< T & >())> >
struct hydra::detail::is_specialization< T, REF >
struct hydra::detail::is_specialization< REF< Args... >, REF >
struct hydra::detail::remove_device_reference< T >
struct hydra::detail::remove_device_reference< hydra::thrust::device_reference< T > >
struct hydra::detail::remove_device_reference< T & >
struct hydra::detail::TypeTraits< T >
struct hydra::detail::TypeTraits< hydra::thrust::complex< T > >
struct std::common_type< hydra::thrust::complex< T >, hydra::thrust::complex< U > >
struct std::common_type< hydra::thrust::complex< U >, T >
struct std::common_type< T, hydra::thrust::complex< U > >
Namespaces

hydra::detail::function_traits

struct hydra::detail::function_traits

template

struct hydra::detail::function_traits< T >

hydra::detail::function_traits< ReturnType(ClassType::*)(Args &...)>::arg

struct hydra::detail::function_traits< ReturnType(ClassType::*)(Args &...)>::arg

template<typename ClassType, typename ReturnType, typename... Args>

template<size_t i>
struct hydra::detail::function_traits< ReturnType(ClassType::*)(Args &...)>::arg< i >

| Data Fields | | | ----------- | | | | type | |

hydra::detail::function_traits< ReturnType(ClassType::*)(Args...) const >::arg

struct hydra::detail::function_traits< ReturnType(ClassType::*)(Args...) const >::arg

template<typename ClassType, typename ReturnType, typename... Args>

template<size_t i>
struct hydra::detail::function_traits< ReturnType(ClassType::*)(Args...) const >::arg< i >

| Data Fields | | | ----------- | | | | type | |

hydra::detail::if_then_else

class hydra::detail::if_then_else

template<bool C, typename T1, typename T2>

class hydra::detail::if_then_else< C, T1, T2 >

hydra::detail::if_then_else< false, T1, T2 >

class hydra::detail::if_then_else< false, T1, T2 >

template<typename T1, typename T2>

class hydra::detail::if_then_else< false, T1, T2 >

| Data Fields | | | | ----------- | ---- | | | typedef T2 | type | |

hydra::detail::if_then_else< true, T1, T2 >

class hydra::detail::if_then_else< true, T1, T2 >

template<typename T1, typename T2>

class hydra::detail::if_then_else< true, T1, T2 >

| Data Fields | | | | ----------- | ---- | | | typedef T1 | type | |

hydra::detail::if_then_else_tt

struct hydra::detail::if_then_else_tt

template<bool Condition, template< typename ... > class T1, template< typename ... > class T2>

struct hydra::detail::if_then_else_tt< Condition, T1, T2 >

hydra::detail::if_then_else_tt< false, T1, T2 >

struct hydra::detail::if_then_else_tt< false, T1, T2 >

template<template< typename ... > class T1, template< typename ... > class T2>

struct hydra::detail::if_then_else_tt< false, T1, T2 >

| Data Fields | | | ----------- | | | | type | |

hydra::detail::if_then_else_tt< true, T1, T2 >

struct hydra::detail::if_then_else_tt< true, T1, T2 >

template<template< typename ... > class T1, template< typename ... > class T2>

struct hydra::detail::if_then_else_tt< true, T1, T2 >

| Data Fields | | | ----------- | | | | type | |

hydra::detail::remove_device_reference

struct hydra::detail::remove_device_reference

template

struct hydra::detail::remove_device_reference< T >

| Data Fields | | | | ----------- | ---- | | | typedef T | type | |

hydra::detail::remove_device_reference< hydra::thrust::device_reference< T > >

struct hydra::detail::remove_device_reference< hydra::thrust::device_reference< T > >

template

struct hydra::detail::remove_device_reference< hydra::thrust::device_reference< T > >

| Data Fields | | | | ----------- | ---- | | | typedef T | type | |

hydra::detail::remove_device_reference< T & >

struct hydra::detail::remove_device_reference< T & >

template

struct hydra::detail::remove_device_reference< T & >

| Data Fields | | | | ----------- | ---- | | | typedef T | type | |