Typedef ctql::reduce_sizes_t

Typedef Documentation

template<template<std::size_t, std::size_t> class Op, std::size_t Init, typename ...Ts>
using ctql::reduce_sizes_t = detail::fold_sizes<detail::HTList<Ts...>, Op, Init>

Internal implementation details.

Reduce a pack of HasStaticSize types by folding their size with a binary meta-op.

See also

reduce_sizes_v, Sum, Sum_v

Complexity

Linear in sizeof...(Ts).

Template Parameters:
  • Op – Binary meta-function class Op<A,B> that exposes static constexpr size_t value. It is applied left-to-right as Op(... Op(Op(Init, size(T1)), size(T2)) ..., size(Tn)).

  • Init – Initial accumulator value.

  • Ts – Types satisfying HasStaticSize (must expose static constexpr size convertible to size_t).

Return:

Alias to std::integral_constant<size_t, result>.