Lines Matching refs:T

34 template<typename... T> void suppress_unused_warning(T&&...) {}  in suppress_unused_warning()  argument
95 template <typename T, typename C>
96 T spin_wait_while(const std::atomic<T>& location, C comp, std::memory_order order) { in spin_wait_while()
98 T snapshot = location.load(order); in spin_wait_while()
108 template <typename T, typename U>
109 T spin_wait_while_eq(const std::atomic<T>& location, const U value, std::memory_order order = std::…
110 return spin_wait_while(location, [&value](T t) { return t == value; }, order);
115 template<typename T, typename U>
116 T spin_wait_until_eq(const std::atomic<T>& location, const U value, std::memory_order order = std::…
117 return spin_wait_while(location, [&value](T t) { return t != value; }, order);
135 template <typename T>
136 T clamp(T value, T lower_bound, T upper_bound) { in clamp()
141 template <typename T>
142 std::uintptr_t log2(T in) { in log2()
147 template<typename T>
148 T reverse_bits(T src) { in reverse_bits()
152 template<typename T>
153 T reverse_n_bits(T src, std::size_t n) { in reverse_n_bits()
155 return reverse_bits(src) >> (number_of_bits<T>() - n); in reverse_n_bits()
185 template<typename T>
186 constexpr bool is_aligned(T* pointer, std::uintptr_t alignment) { in is_aligned()
194 template<typename T>
195 inline void poison_pointer( T* &p ) { p = reinterpret_cast<T*>(poisoned_ptr); } in poison_pointer()
197 template<typename T>
198 inline void poison_pointer(std::atomic<T*>& p) { p.store(reinterpret_cast<T*>(poisoned_ptr), std::m… in poison_pointer()
201 template<typename T>
202 inline bool is_poisoned( T* p ) { return p == reinterpret_cast<T*>(poisoned_ptr); } in is_poisoned()
204 template<typename T>
205 inline bool is_poisoned(const std::atomic<T*>& p) { return is_poisoned(p.load(std::memory_order_rel… in is_poisoned()
207 template<typename T>
208 inline void poison_pointer(T&) {/*do nothing*/} in poison_pointer() argument
211 template <std::size_t alignment = 0, typename T>
212 bool assert_pointer_valid(T* p, const char* comment = nullptr) {
217 __TBB_ASSERT(is_aligned(p, alignment == 0 ? alignof(T) : alignment), comment);
244 template <typename T>
245 void swap_atomics_relaxed(std::atomic<T>& lhs, std::atomic<T>& rhs){ in swap_atomics_relaxed()
246 T tmp = lhs.load(std::memory_order_relaxed); in swap_atomics_relaxed()
300 template <typename T> in atomic_do_once()
301 concept boolean_testable_impl = std::convertible_to<T, bool>; in atomic_do_once()
303 template <typename T> in atomic_do_once()
304 concept boolean_testable = boolean_testable_impl<T> && requires( T&& t ) { in atomic_do_once()
305 { !std::forward<T>(t) } -> boolean_testable_impl; in atomic_do_once()
338 template <typename T, typename U> in atomic_do_once()
339 concept relaxed_convertible_to = std::constructible_from<U, T>; in atomic_do_once()
341 template <typename T, typename U> in atomic_do_once()
344 std::same_as<T, U>; in atomic_do_once()
346 std::convertible_to<T, U>; in atomic_do_once()