19 #include <type_traits> 28 namespace array_detail {
38 template <
typename D,
typename...>
42 template <
typename... TList>
46 "TList cannot contain reference_wrappers when D is void");
50 template <
typename D,
typename... TList>
55 template <
typename D = void,
typename... TList>
59 return {{
static_cast<value_type
>(std::forward<TList>(
t))...}};
62 namespace array_detail {
63 template <
typename MakeItem, std::size_t... Index>
67 return std::array<decltype(make(0)),
sizeof...(Index)>{{make(Index)...}};
74 template <std::
size_t Size,
typename MakeItem>
#define FOLLY_ALWAYS_INLINE
constexpr array_detail::return_type< D, TList... > make_array(TList &&...t)
—— Concurrent Priority Queue Implementation ——
bool_constant< true > true_type
std::array< typename return_type_helper< D, TList... >::type, sizeof...(TList)> return_type
make_integer_sequence< std::size_t, Size > make_index_sequence
FOLLY_ALWAYS_INLINE FOLLY_ATTR_VISIBILITY_HIDDEN constexpr auto make_array_with(MakeItem const &make, index_sequence< Index... >)
uint64_t value(const typename LockFreeRingBuffer< T, Atom >::Cursor &rbcursor)
bool_constant< false > false_type
typename std::common_type< TList... >::type type
#define FOLLY_ATTR_VISIBILITY_HIDDEN