Classes | Namespaces | Macros | Typedefs | Functions | Variables
traits.hpp File Reference
#include <cudf/fixed_point/fixed_point.hpp>
#include <cudf/types.hpp>
#include <cudf/wrappers/dictionary.hpp>
#include <cudf/wrappers/durations.hpp>
#include <cudf/wrappers/timestamps.hpp>
#include <cuda/std/type_traits>

Go to the source code of this file.

Classes

struct  cudf::is_convertible< From, To >
 
struct  cudf::is_convertible< cudf::detail::timestamp< Duration1 >, cudf::detail::timestamp< Duration2 > >
 

Namespaces

 cudf
 cuDF interfaces
 

Macros

#define CUDF_ENABLE_IF(...)   std::enable_if_t<(__VA_ARGS__)>* = nullptr
 Convenience macro for SFINAE as an unnamed template parameter. More...
 

Typedefs

template<typename... >
using cudf::void_t = void
 Utility metafunction that maps a sequence of any types to the type void.
 
template<typename L , typename R >
using cudf::less_comparable = decltype(std::declval< L >()< std::declval< R >())
 Checks if two types are comparable using less operator (i.e. <).
 
template<typename L , typename R >
using cudf::greater_comparable = decltype(std::declval< L >() > std::declval< R >())
 Checks if two types are comparable using greater operator (i.e. >).
 
template<typename L , typename R >
using cudf::equality_comparable = decltype(std::declval< L >()==std::declval< R >())
 Checks if two types are comparable using equality operator (i.e. ==).
 
template<typename... Ts>
using cudf::has_common_type = typename detail::has_common_type_impl< void, Ts... >::type
 Checks if types have a common type.
 
template<typename T >
using cudf::is_timestamp_t = cuda::std::disjunction< std::is_same< cudf::timestamp_D, T >, std::is_same< cudf::timestamp_s, T >, std::is_same< cudf::timestamp_ms, T >, std::is_same< cudf::timestamp_us, T >, std::is_same< cudf::timestamp_ns, T > >
 Checks if a type is a timestamp type.
 
template<typename T >
using cudf::is_duration_t = cuda::std::disjunction< std::is_same< cudf::duration_D, T >, std::is_same< cudf::duration_s, T >, std::is_same< cudf::duration_ms, T >, std::is_same< cudf::duration_us, T >, std::is_same< cudf::duration_ns, T > >
 Checks if a type is a duration type.
 

Functions

template<typename L , typename R >
constexpr bool cudf::is_relationally_comparable ()
 Indicates whether objects of types L and R can be relationally compared. More...
 
bool cudf::is_relationally_comparable (data_type type)
 Checks whether data_type type supports relational comparisons. More...
 
template<typename L , typename R >
constexpr bool cudf::is_equality_comparable ()
 Indicates whether objects of types L and R can be compared for equality. More...
 
bool cudf::is_equality_comparable (data_type type)
 Checks whether data_type type supports equality comparisons. More...
 
template<typename T >
constexpr bool cudf::is_numeric ()
 Indicates whether the type T is a numeric type. More...
 
bool cudf::is_numeric (data_type type)
 Indicates whether type is a numeric data_type. More...
 
template<typename T >
constexpr bool cudf::is_index_type ()
 Indicates whether the type T is a index type. More...
 
bool cudf::is_index_type (data_type type)
 Indicates whether the type type is a index type. More...
 
template<typename T >
constexpr bool cudf::is_unsigned ()
 Indicates whether the type T is a unsigned numeric type. More...
 
bool cudf::is_unsigned (data_type type)
 Indicates whether type is a unsigned numeric data_type. More...
 
template<typename Iterator >
constexpr bool cudf::is_signed_iterator ()
 Indicates whether the Iterator value type is unsigned. More...
 
template<typename T >
constexpr bool cudf::is_integral ()
 Indicates whether the type T is an integral type. More...
 
bool cudf::is_integral (data_type type)
 Indicates whether type is a integral data_type. More...
 
template<typename T >
constexpr bool cudf::is_integral_not_bool ()
 Indicates whether the type T is an integral type but not bool type. More...
 
bool cudf::is_integral_not_bool (data_type type)
 Indicates whether type is a integral data_type and not BOOL8. More...
 
template<typename T >
constexpr bool cudf::is_floating_point ()
 Indicates whether the type T is a floating point type. More...
 
bool cudf::is_floating_point (data_type type)
 Indicates whether type is a floating point data_type. More...
 
template<typename T >
constexpr bool cudf::is_byte ()
 Indicates whether T is a std::byte type. More...
 
template<typename T >
constexpr bool cudf::is_boolean ()
 Indicates whether T is a Boolean type. More...
 
bool cudf::is_boolean (data_type type)
 Indicates whether type is a Boolean data_type. More...
 
template<typename T >
constexpr bool cudf::is_timestamp ()
 Indicates whether the type T is a timestamp type. More...
 
bool cudf::is_timestamp (data_type type)
 Indicates whether type is a timestamp data_type. More...
 
template<typename T >
constexpr bool cudf::is_fixed_point ()
 Indicates whether the type T is a fixed-point type. More...
 
bool cudf::is_fixed_point (data_type type)
 Indicates whether type is a fixed point data_type. More...
 
template<typename T >
constexpr bool cudf::is_duration ()
 Indicates whether the type T is a duration type. More...
 
bool cudf::is_duration (data_type type)
 Indicates whether type is a duration data_type. More...
 
template<typename T >
constexpr bool cudf::is_chrono ()
 Indicates whether the type T is a chrono type. More...
 
bool cudf::is_chrono (data_type type)
 Indicates whether type is a chrono data_type. More...
 
template<typename T >
constexpr bool cudf::is_rep_layout_compatible ()
 Indicates whether T is layout compatible with its "representation" type. More...
 
template<typename T >
constexpr bool cudf::is_dictionary ()
 Indicates whether the type T is a dictionary type. More...
 
bool cudf::is_dictionary (data_type type)
 Indicates whether type is a dictionary data_type. More...
 
template<typename T >
constexpr bool cudf::is_fixed_width ()
 Indicates whether elements of type T are fixed-width. More...
 
bool cudf::is_fixed_width (data_type type)
 Indicates whether elements of type are fixed-width. More...
 
template<typename T >
constexpr bool cudf::is_compound ()
 Indicates whether the type T is a compound type. More...
 
bool cudf::is_compound (data_type type)
 Indicates whether elements of type are compound. More...
 
template<typename T >
constexpr bool cudf::is_nested ()
 Indicates whether T is a nested type. More...
 
bool cudf::is_nested (data_type type)
 Indicates whether type is a nested type. More...
 
bool cudf::is_bit_castable (data_type from, data_type to)
 Indicates whether from is bit-castable to to. More...
 

Variables

template<typename... Ts>
constexpr bool cudf::has_common_type_v = detail::has_common_type_impl<void, Ts...>::value
 Helper variable template for has_common_type<>::value.