|
template<typename T > |
static constexpr auto | tatooine::type_exists |
|
template<typename T > |
static constexpr auto | tatooine::is_pointer = std::is_pointer<T>::value |
|
template<typename T > |
static auto constexpr | tatooine::is_array = is_array_impl<T>::value |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_same = is_same_impl<Ts...>::value |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_void = (is_same<Ts, void> && ...) |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_float = (is_same<Ts, float> && ...) |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_double = (is_same<Ts, double> && ...) |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_int = (is_same<Ts, int> && ...) |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_size_t = (is_same<Ts, size_t> && ...) |
|
template<typename Query , typename... Others> |
static constexpr auto | tatooine::is_either_of = (is_same<Query, Others> || ...) |
|
template<typename F , typename... Args> |
static constexpr auto | tatooine::is_invocable = std::is_invocable<F, Args...>::value |
|
template<typename R , typename F , typename... Args> |
static constexpr auto | tatooine::is_invocable_r = std::is_invocable<R, F, Args...>::value |
|
template<typename F , typename... Ts> |
static constexpr auto | tatooine::is_predicate |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_floating_point |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_arithmetic = (std::is_arithmetic<Ts>::value && ...) |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_integral = (std::is_integral<Ts>::value && ...) |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_const = (std::is_const<Ts>::value && ...) |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_non_const = (!std::is_const<Ts>::value && ...) |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_signed = (std::is_signed<Ts>::value && ...) |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_unsigned = (std::is_unsigned<Ts>::value && ...) |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_signed_integral |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_unsigned_integral |
|
template<typename From , typename To > |
static constexpr auto | tatooine::is_convertible = std::is_convertible<From, To>::value |
|
template<typename From > |
static constexpr auto | tatooine::is_convertible_to_integral |
|
template<typename From > |
static constexpr auto | tatooine::is_convertible_to_floating_point |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_complex = (is_complex_impl<Ts>::value && ...) |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_arithmetic_or_complex |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_range = (is_range_impl<Ts>::value && ...) |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_indexable = (is_indexable_impl<Ts>::value && ...) |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_dereferencable |
|
template<typename... Ts> |
static constexpr auto | tatooine::is_post_incrementable |
|
template<typename T > |
static constexpr auto | tatooine::is_pre_incrementable |
|
template<typename T > |
static constexpr auto | tatooine::is_post_decrementable |
|
template<typename T > |
static constexpr auto | tatooine::is_pre_decrementable |
|
template<typename T , typename S > |
static constexpr auto | tatooine::are_equality_comparable |
|
template<typename T > |
static constexpr auto | tatooine::is_forward_iterator |
|
template<typename T > |
static constexpr auto | tatooine::is_backward_iterator |
|
template<typename T > |
static constexpr auto | tatooine::is_bidirectional_iterator |
|
template<typename T > |
static constexpr auto | tatooine::is_pair = is_pair_impl<T>::value |
|