Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
Go to the documentation of this file. 14 #include <type_traits> 20 template <
typename... Ts>
23 template <
typename... Ts>
26 template <
typename T,
typename =
void>
36 template<
typename T,
typename U=T,
typename =
void>
39 template<
typename T,
typename U>
41 <T, U,
std::enable_if_t
43 <bool, decltype(std::declval<T&>() == std::declval<U&>())>::value>> :
46 template<
typename T,
typename U=T>
49 template<
typename T,
typename U=T,
typename =
void>
52 template<
typename T,
typename U>
54 <T, U,
std::enable_if_t
56 <bool, decltype(std::declval<T&>() != std::declval<U&>())>::value>> :
59 template<
typename T,
typename U=T>
63 template <
typename T,
typename =
void>
69 <std::is_same<T&, decltype(++(std::declval<T&>()))>::value>> :
75 template <
typename T,
typename U=T,
typename =
void>
78 template <
typename T,
typename U>
80 <T, U,
void_t<decltype(
std::declval<T&>() - std::declval<U&>())>> :
83 template <
typename T,
typename U = T>
90 template <
typename T,
typename U,
typename =
void>
91 struct with : std::false_type {};
94 template <
typename T,
typename U>
96 <T, U,
void_t<decltype(swap(
std::declval<T&>(), std::declval<U&>())),
97 decltype(swap(std::declval<U&>(), std::declval<T&>()))>> :
102 template<
typename T,
typename U>
108 template <
typename T>
111 template <
typename T,
typename =
void>
115 template <
typename T>
119 <is_preincrementable_v<T>
120 && is_dereferenceable_v<T>
122 && std::is_copy_constructible<T>::value
123 && std::is_copy_assignable<T>::value
124 && std::is_destructible<T>::value
125 && is_swappable_v<T>>,
126 typename std::iterator_traits<T>::value_type,
127 typename std::iterator_traits<T>::difference_type,
128 typename std::iterator_traits<T>::reference,
129 typename std::iterator_traits<T>::pointer,
130 typename std::iterator_traits<T>::iterator_category>> :
136 template<
typename T,
typename U,
typename =
void>
139 template<
typename T,
typename U>
141 <T, U,
std::enable_if_t
143 && is_equality_comparable_v<T, U>
144 && is_inequality_comparable_v<T, U>>> :
147 template<
typename T,
typename U>
150 template<
typename T,
typename =
void>
158 <std::forward_iterator_tag,
159 typename std::iterator_traits<T>::iterator_category>::value>> :
165 template<
typename T,
typename U,
typename =
void>
168 template<
typename T,
typename U>
173 template<
typename T,
typename U>
176 template<
typename T,
typename U,
typename V,
typename =
void>
179 template<
typename T,
typename U,
typename V>
183 std::declval<V>()))>> :
186 template<
typename T,
typename U,
typename V>
std::iterator_traits< Iterator >::difference_type distance(Iterator first, Sentinel last)
constexpr bool std_distance_supports_v
SinkIter uninitialized_copy(Iterator first, Sentinel last, SinkIter d_first)
constexpr bool is_inequality_comparable_v
constexpr bool is_iterator_v
constexpr bool is_swappable_v
constexpr bool is_subtractable_v
constexpr bool compatible_sentinel_v
constexpr bool is_forward_iterator_v
constexpr bool is_dereferenceable_v
constexpr bool is_equality_comparable_v
typename make_void< Ts... >::type void_t
constexpr bool is_preincrementable_v
constexpr bool std_uninitialized_copy_supports_v