19 #include <type_traits> 23 #define PUSHMI_NOEXCEPT_AUTO(...) \ 24 noexcept(noexcept(static_cast<decltype((__VA_ARGS__))>(__VA_ARGS__)))\ 26 #define PUSHMI_NOEXCEPT_RETURN(...) \ 27 PUSHMI_NOEXCEPT_AUTO(__VA_ARGS__) {\ 28 return (__VA_ARGS__);\ 34 #if __cpp_fold_expressions >= 201603 49 template <std::
size_t N>
55 using RGI =
int[
sizeof...(Is)];
84 template(
class...
Args)
90 template(
class T, template<class...>
class C)
96 template (
class T, template<class...>
class Trait,
class...
Args)
102 template (
class T,
class U)
124 implicitly_convertible_to<const volatile void*>(p)
129 template (
class T,
class...
Args)
141 template (
class From,
class To)
149 template (
class A,
class B)
157 Same<
A, std::decay_t<A>>
161 template (
class T,
class U)
173 implicitly_convertible_to<bool>( t == t ),
174 implicitly_convertible_to<bool>( t != t )
181 Object<T> && Constructible<T, T> && ConvertibleTo<T, T>
187 SemiMovable<T> && Assignable<T&, T>
194 Assignable<T&, const T&> &&
195 ConvertibleTo<const T&, T>
201 Copyable<T> && Constructible<T>
207 Semiregular<T> && EqualityComparable<T>
213 template <
typename,
template <
typename...>
class>
216 template <
typename... Ts,
template <
typename...>
class C>
219 template <
typename T,
template <
typename...>
class C>
222 template <
bool B,
class T =
void>
PUSHMI_INLINE_VAR constexpr bool and_v
#define PUSHMI_PP_IS_CONSTRUCTIBLE(...)
std::remove_cv_t< std::remove_reference_t< T >> remove_cvref_t
internal::ArgsMatcher< InnerMatcher > Args(const InnerMatcher &matcher)
—— Concurrent Priority Queue Implementation ——
requires E e noexcept(noexcept(s.error(std::move(e))))
constexpr int sum_impl(int const (&rgi)[N], int i=0, int state=0) noexcept
bool_constant< true > true_type
#define PUSHMI_PP_IS_SAME(...)
PUSHMI_INLINE_VAR constexpr int sum_v
PUSHMI_CONCEPT_DEF(template(class PS) concept Cardinality, has_cardinality_v< PS >)
requires requires(::folly::pushmi::invoke(std::declval< F >(), std::get< Is >(std::declval< Tuple >())...))) const expr decltype(auto) apply_impl(F &&f
constexpr const T & operator()(T &t) const noexcept
static const char *const value
#define PUSHMI_INLINE_VAR
std::enable_if_t< B, T > requires_
PUSHMI_INLINE_VAR constexpr struct folly::pushmi::detail::as_const_fn as_const
PUSHMI_INLINE_VAR constexpr bool or_v
bool_constant< false > false_type