32template <
typename UnderlyingOutputIterator,
34 typename UnderlyingOutputIterator::container_type::value_type>
35 requires(std::output_iterator<UnderlyingOutputIterator, uint8_t> &&
36 std::unsigned_integral<PartType>)
38 UnderlyingOutputIterator
it;
50 requires std::same_as<UnderlyingOutputIterator, std::remove_reference_t<U>>
61 requires(std::unsigned_integral<U> &&
sizeof(U) >=
sizeof(PartType) &&
62 sizeof(U) %
sizeof(PartType) == 0)
65 constexpr int NumParts =
sizeof(U) /
sizeof(PartType);
66 for (
int i = 0; i != NumParts; ++i) {
67 const auto part =
static_cast<PartType
>(coalesced);
68 if constexpr (NumParts != 1)
PartitioningOutputIterator & operator++()
PartitioningOutputIterator & operator*()
ptrdiff_t difference_type
PartitioningOutputIterator()=default
std::output_iterator_tag iterator_concept
PartitioningOutputIterator(U &&it_)
UnderlyingOutputIterator it
PartitioningOutputIterator operator++(int)
constexpr unsigned RAWSPEED_READNONE bitwidth(T unused={})
PartitioningOutputIterator(T) -> PartitioningOutputIterator< T >