28struct AccumulateFromUntil;
 
   40        template<
typename...> 
class TAlg, 
 
   41        template<
typename...> 
class TTransformOp, 
 
   42        template<
typename...> 
class TBinaryOp, 
 
   46    using Type = 
typename TAlg<>::template Type<TTransformOp, TBinaryOp, TStart, TRest...>;
 
   50struct AccumulateLoop<true>
 
   53        template<
typename...> 
class TAlg, 
 
   54        template<
typename...> 
class TTransformOp, 
 
   55        template<
typename...> 
class TBinaryOp, 
 
   63struct AccumulateFromUntilLoop
 
   68        template<
typename...> 
class TAlg, 
 
   69        template<
typename...> 
class TTransformOp, 
 
   70        template<
typename...> 
class TBinaryOp, 
 
   74    using Type = 
typename TAlg<>::template Type<TFrom, TUntil, TTransformOp, TBinaryOp, TStart, TRest...>;
 
   78struct AccumulateFromUntilLoop<true>
 
   83        template<
typename...> 
class TAlg, 
 
   84        template<
typename...> 
class TTransformOp, 
 
   85        template<
typename...> 
class TBinaryOp, 
 
   97        template<
typename...> 
class TTransformOp,
 
   98        template<
typename...> 
class TBinaryOp, 
 
  103        typename AccumulateLoop<0U == 
sizeof...(TRest)>::template Type<
 
  104            comms::util::Accumulate, 
 
  107            typename TBinaryOp<>::template Type<
 
  109                typename TTransformOp<>::template Type<T>
 
  115struct AccumulateImpl<true>
 
  118        template<
typename...> 
class TTransformOp,
 
  119        template<
typename...> 
class TBinaryOp, 
 
  125template <
bool TEmpty>
 
  126struct AccumulateFromUntilImpl
 
  131        template<
typename...> 
class TTransformOp,
 
  132        template<
typename...> 
class TBinaryOp, 
 
  137        typename Conditional<
 
  140            typename AccumulateFromUntilImpl<
 
  141                0U == 
sizeof...(TRest)
 
  150            typename AccumulateFromUntilLoop<
 
  151                (0U == 
sizeof...(TRest)) || (TUntil <= 1)
 
  155                comms::util::AccumulateFromUntil, 
 
  158                typename TBinaryOp<>::template Type<
 
  160                    typename TTransformOp<>::template Type<T>
 
  167struct AccumulateFromUntilImpl<true>
 
  172        template<
typename...> 
class TTransformOp,
 
  173        template<
typename...> 
class TBinaryOp, 
 
  179template <
bool THasFixedBitLength>
 
  180struct FieldBitLengthIntTypeImpl
 
  182    template <
typename T>
 
  184        std::integral_constant<std::size_t, T::ParsedOptions::FixedBitLength>;
 
  188struct FieldBitLengthIntTypeImpl<false>
 
  191    template <
typename T>
 
  193        std::integral_constant<
 
  195            T::maxLength() * std::numeric_limits<std::uint8_t>::digits>;
 
Main namespace for all classes / functions of COMMS library.