proxygen
if_constexpr.h File Reference
#include <type_traits>

Go to the source code of this file.

Classes

struct  folly::pushmi::detail::id_fn
 
struct  folly::pushmi::detail::select< bool >
 
struct  folly::pushmi::detail::select< bool >::eat_return< R, class >
 
struct  folly::pushmi::detail::select< bool >::eat
 
struct  folly::pushmi::detail::select< false >
 
struct  folly::pushmi::detail::select< false >::eat
 

Namespaces

 folly
 —— Concurrent Priority Queue Implementation ——
 
 folly::pushmi
 
 folly::pushmi::detail
 

Macros

#define PUSHMI_HAS_ATTRIBUTE(x)   0
 
#define PUSHMI_HAS_CPP_ATTRIBUTE(x)   0
 
#define PUSHMI_MAYBE_UNUSED
 
#define PUSHMI_PP_IGNORE_SHADOW_BEGIN
 
#define PUSHMI_PP_IGNORE_SHADOW_END
 
#define PUSHMI_COMMA   ,
 
#define PUSHMI_EVAL(F, ...)   F(__VA_ARGS__)
 
#define PUSHMI_STRIP(...)   __VA_ARGS__
 
#define PUSHMI_IF_CONSTEXPR(LIST)   PUSHMI_EVAL(PUSHMI_IF_CONSTEXPR_ELSE_, PUSHMI_IF_CONSTEXPR_IF_ LIST)\
 
#define PUSHMI_IF_CONSTEXPR_RETURN(LIST)   return PUSHMI_EVAL(PUSHMI_IF_CONSTEXPR_ELSE_, PUSHMI_IF_CONSTEXPR_IF_ LIST)\
 
#define PUSHMI_IF_CONSTEXPR_IF_(...)   (::folly::pushmi::detail::select<bool(__VA_ARGS__)>() ->* PUSHMI_IF_CONSTEXPR_THEN_ \
 
#define PUSHMI_IF_CONSTEXPR_THEN_(...)   ([&](PUSHMI_MAYBE_UNUSED auto id)mutable->decltype(auto){__VA_ARGS__})) PUSHMI_COMMA \
 
#define PUSHMI_IF_CONSTEXPR_ELSE_(A, B)   A ->* PUSHMI_IF_CONSTEXPR_ ## B \
 
#define PUSHMI_IF_CONSTEXPR_else(...)   ([&](PUSHMI_MAYBE_UNUSED auto id)mutable->decltype(auto){__VA_ARGS__});\
 

Macro Definition Documentation

#define PUSHMI_COMMA   ,

Definition at line 80 of file if_constexpr.h.

#define PUSHMI_EVAL (   F,
  ... 
)    F(__VA_ARGS__)

Definition at line 82 of file if_constexpr.h.

#define PUSHMI_HAS_ATTRIBUTE (   x)    0

Maybe_unused indicates that a function, variable or parameter might or might not be used, e.g.

int foo(FOLLY_MAYBE_UNUSED int x) { #ifdef USE_X return x; #else return 0; #endif }

Definition at line 46 of file if_constexpr.h.

#define PUSHMI_HAS_CPP_ATTRIBUTE (   x)    0

Definition at line 52 of file if_constexpr.h.

#define PUSHMI_IF_CONSTEXPR (   LIST)    PUSHMI_EVAL(PUSHMI_IF_CONSTEXPR_ELSE_, PUSHMI_IF_CONSTEXPR_IF_ LIST)\

Definition at line 131 of file if_constexpr.h.

#define PUSHMI_IF_CONSTEXPR_else (   ...)    ([&](PUSHMI_MAYBE_UNUSED auto id)mutable->decltype(auto){__VA_ARGS__});\

Definition at line 151 of file if_constexpr.h.

#define PUSHMI_IF_CONSTEXPR_ELSE_ (   A,
  B 
)    A ->* PUSHMI_IF_CONSTEXPR_ ## B \

Definition at line 147 of file if_constexpr.h.

#define PUSHMI_IF_CONSTEXPR_IF_ (   ...)    (::folly::pushmi::detail::select<bool(__VA_ARGS__)>() ->* PUSHMI_IF_CONSTEXPR_THEN_ \

Definition at line 139 of file if_constexpr.h.

#define PUSHMI_IF_CONSTEXPR_RETURN (   LIST)    return PUSHMI_EVAL(PUSHMI_IF_CONSTEXPR_ELSE_, PUSHMI_IF_CONSTEXPR_IF_ LIST)\

Definition at line 135 of file if_constexpr.h.

Referenced by folly::pushmi::detail::PUSHMI_TEMPLATE().

#define PUSHMI_IF_CONSTEXPR_THEN_ (   ...)    ([&](PUSHMI_MAYBE_UNUSED auto id)mutable->decltype(auto){__VA_ARGS__})) PUSHMI_COMMA \

Definition at line 143 of file if_constexpr.h.

#define PUSHMI_MAYBE_UNUSED

Definition at line 62 of file if_constexpr.h.

#define PUSHMI_PP_IGNORE_SHADOW_BEGIN

Definition at line 76 of file if_constexpr.h.

#define PUSHMI_PP_IGNORE_SHADOW_END

Definition at line 77 of file if_constexpr.h.

#define PUSHMI_STRIP (   ...)    __VA_ARGS__

Definition at line 84 of file if_constexpr.h.