Lines Matching refs:T
100 template<typename... T> void suppress_unused_warning(T&&...) {} in suppress_unused_warning() argument
179 template <typename T> using iterator_traits_value_type = typename std::iterator_traits<T>::value_ty…
180 template <typename T> using iterator_traits_difference_type = typename std::iterator_traits<T>::dif…
181 template <typename T> using iterator_traits_pointer = typename std::iterator_traits<T>::pointer;
182 template <typename T> using iterator_traits_iterator_category = typename std::iterator_traits<T>::i…
185 template <typename T> using is_swappable = decltype(swap(std::declval<T&>(), std::declval<T&>()));
187 template <typename T> using is_dereferenceable_by_asterisk = decltype(*std::declval<T>());
188 template <typename T> using is_dereferenceable_by_arrow = decltype(std::declval<T>().operator->());
189 template <typename T> using is_preincrementable = decltype(++std::declval<T>());
190 template <typename T> using is_postincrementable = decltype(std::declval<T>()++);
192 template <typename T> using is_equality_comparable = decltype(std::declval<T>() == std::declval<T>(…
193 template <typename T> using is_unequality_comparable = decltype(std::declval<T>() != std::declval<T…
195 template <typename T> using is_predecrementable = decltype(--std::declval<T>());
196 template <typename T> using is_postdecrementable = decltype(std::declval<T>()--);
198 template <typename T> using is_add_assignable = decltype(std::declval<T>() += std::declval<typename…
199 template <typename T> using is_sub_assignable = decltype(std::declval<T>() -= std::declval<typename…
201 template <typename T> using have_operator_plus = decltype(std::declval<T>() + std::declval<typename…
202 template <typename T> using have_operator_minus = decltype(std::declval<T>() + std::declval<typenam…
204 template <typename T> using have_operator_access = decltype(std::declval<T>()[std::declval<typename…
206 template <typename T> using have_operator_less = decltype(std::declval<T>() < std::declval<T>());
207 template <typename T> using have_operator_great = decltype(std::declval<T>() > std::declval<T>());
208 template <typename T> using have_operator_not_less = decltype(std::declval<T>() <= std::declval<T>(…
209 template <typename T> using have_operator_not_great = decltype(std::declval<T>() >= std::declval<T>…
211 template <typename T>
212 using supports_iterator = tbb::detail::supports<T, iterator_traits_value_type,
220 template <typename T>
221 using supports_input_iterator = tbb::detail::supports<T, is_equality_comparable,
225 template <typename T>
226 using supports_bidirectional_iterator = tbb::detail::supports<T, is_predecrementable,
229 template <typename T>
230 using supports_random_access_iterator = tbb::detail::supports<T, is_add_assignable,
241 template <typename T>
243 std::is_copy_constructible<T>::value &&
244 std::is_copy_assignable<T>::value &&
245 std::is_destructible<T>::value &&
246 iterator_type_traits::supports_iterator<T>::value> {};
248 template <typename T>
250 is_iterator<T>::value &&
251 … iterator_type_traits::supports_input_iterator<T>::value> {};
253 template <typename T>
255 is_input_iterator<T>::value &&
256 std::is_default_constructible<T>::value> {};
258 template <typename T>
260 is_forward_iterator<T>::value &&
261 … iterator_type_traits::supports_bidirectional_iterator<T>::value> {};
263 template <typename T>
265 is_bidirectional_iterator<T>::value &&
266 … iterator_type_traits::supports_random_access_iterator<T>::value> {};
268 template <typename T>
270 std::memset(array, 0, sizeof(T) * n);
358 template<typename T, typename U>
359 auto max(const T& left, const U& right) -> decltype(left > right ? left : right)
363 template<typename T, typename U>
364 auto min(const T& left, const U& right) -> decltype(left < right ? left : right)
369 template<typename T, std::size_t N>
370 inline std::size_t array_length(const T(&)[N]) {
376 template <typename T>
377 static bool compare( const std::weak_ptr<T> &t1, const std::weak_ptr<T> &t2 ) {
382 template <typename T>
383 static bool compare( const std::unique_ptr<T> &t1, const std::unique_ptr<T> &t2 ) {
404 template <typename T, std::size_t N>
405 tbb::blocked_range<T*> make_blocked_range( T(& array)[N] ) {
406 return tbb::blocked_range<T*>(array, array + N);
409 template <typename T>
410 …_range_bounds_after_splitting( const tbb::blocked_range<T>& original, const tbb::blocked_range<T>&…
411 … const tbb::blocked_range<T>& second, const T& expected_first_end )