CUB  
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Typedefs
util_type.cuh File Reference
#include <cfloat>
#include <iostream>
#include <iterator>
#include <limits>
#include <type_traits>
#include <cub/util_arch.cuh>
#include <cub/util_deprecated.cuh>
#include <cub/util_macro.cuh>
#include <cub/util_namespace.cuh>

Classes

struct  If< IF, ThenType, ElseType >
 Type selection (IF ? ThenType : ElseType) More...
 
struct  Equals< A, B >
 Type equality test. More...
 
struct  Log2< N, CURRENT_VAL, COUNT >
 Statically determine log2(N), rounded up. More...
 
struct  PowerOfTwo< N >
 Statically determine if N is a power-of-two. More...
 
struct  IsPointer< Tp >
 Pointer vs. iterator. More...
 
struct  IsVolatile< Tp >
 Volatile modifier test. More...
 
struct  RemoveQualifiers< Tp, Up >
 Removes const and volatile qualifiers from type Tp. More...
 

Namespaces

 detail
 

Typedefs

template<bool Test, class T1 , class T2 >
using detail::conditional_t = typename std::conditional< Test, T1, T2 >::type
 
template<typename Iterator >
using detail::value_t = typename std::iterator_traits< Iterator >::value_type
 
template<typename IteratorT , typename FallbackT >
using detail::non_void_value_t = cub::detail::conditional_t< std::is_same< value_t< IteratorT >, void >::value, FallbackT, value_t< IteratorT >>
 

Detailed Description

Common type manipulation (metaprogramming) utilities