Coverage Report

Created: 2025-09-05 06:52

/src/serenity/AK/Enumerate.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (c) 2024, Tim Flynn <trflynn89@serenityos.org>
3
 *
4
 * SPDX-License-Identifier: BSD-2-Clause
5
 */
6
7
#pragma once
8
9
#include <AK/StdLibExtras.h>
10
11
namespace AK {
12
13
namespace Detail {
14
template<typename Iterable>
15
class Enumerator {
16
    using IteratorType = decltype(declval<Iterable>().begin());
17
    using ValueType = decltype(*declval<IteratorType>());
18
19
    struct Enumeration {
20
        size_t index { 0 };
21
        ValueType value;
22
    };
23
24
public:
25
    Enumerator(Iterable&& iterable)
26
4.89M
        : m_iterable(forward<Iterable>(iterable))
27
4.89M
        , m_iterator(m_iterable.begin())
28
4.89M
        , m_end(m_iterable.end())
29
4.89M
    {
30
4.89M
    }
AK::Detail::Enumerator<AK::Vector<unsigned int, 0ul> const&>::Enumerator(AK::Vector<unsigned int, 0ul> const&)
Line
Count
Source
26
2.53k
        : m_iterable(forward<Iterable>(iterable))
27
2.53k
        , m_iterator(m_iterable.begin())
28
2.53k
        , m_end(m_iterable.end())
29
2.53k
    {
30
2.53k
    }
AK::Detail::Enumerator<AK::Vector<Gfx::SegmentData, 0ul>&>::Enumerator(AK::Vector<Gfx::SegmentData, 0ul>&)
Line
Count
Source
26
697
        : m_iterable(forward<Iterable>(iterable))
27
697
        , m_iterator(m_iterable.begin())
28
697
        , m_end(m_iterable.end())
29
697
    {
30
697
    }
AK::Detail::Enumerator<AK::Array<unsigned int, 32ul>&>::Enumerator(AK::Array<unsigned int, 32ul>&)
Line
Count
Source
26
62
        : m_iterable(forward<Iterable>(iterable))
27
62
        , m_iterator(m_iterable.begin())
28
62
        , m_end(m_iterable.end())
29
62
    {
30
62
    }
AK::Detail::Enumerator<AK::Array<unsigned char, 35ul>&>::Enumerator(AK::Array<unsigned char, 35ul>&)
Line
Count
Source
26
9
        : m_iterable(forward<Iterable>(iterable))
27
9
        , m_iterator(m_iterable.begin())
28
9
        , m_end(m_iterable.end())
29
9
    {
30
9
    }
AK::Detail::Enumerator<AK::Vector<unsigned char, 0ul>&>::Enumerator(AK::Vector<unsigned char, 0ul>&)
Line
Count
Source
26
53
        : m_iterable(forward<Iterable>(iterable))
27
53
        , m_iterator(m_iterable.begin())
28
53
        , m_end(m_iterable.end())
29
53
    {
30
53
    }
AK::Detail::Enumerator<AK::Vector<Gfx::ImageAndTileSize::ComponentInformation, 0ul>&>::Enumerator(AK::Vector<Gfx::ImageAndTileSize::ComponentInformation, 0ul>&)
Line
Count
Source
26
552k
        : m_iterable(forward<Iterable>(iterable))
27
552k
        , m_iterator(m_iterable.begin())
28
552k
        , m_end(m_iterable.end())
29
552k
    {
30
552k
    }
AK::Detail::Enumerator<AK::Vector<Gfx::CodingStyleParameters::PrecinctSize, 0ul>&>::Enumerator(AK::Vector<Gfx::CodingStyleParameters::PrecinctSize, 0ul>&)
Line
Count
Source
26
1.58k
        : m_iterable(forward<Iterable>(iterable))
27
1.58k
        , m_iterator(m_iterable.begin())
28
1.58k
        , m_end(m_iterable.end())
29
1.58k
    {
30
1.58k
    }
AK::Detail::Enumerator<AK::Vector<Gfx::QuantizationDefault::ReversibleStepSize, 0ul> const&>::Enumerator(AK::Vector<Gfx::QuantizationDefault::ReversibleStepSize, 0ul> const&)
Line
Count
Source
26
26.6k
        : m_iterable(forward<Iterable>(iterable))
27
26.6k
        , m_iterator(m_iterable.begin())
28
26.6k
        , m_end(m_iterable.end())
29
26.6k
    {
30
26.6k
    }
AK::Detail::Enumerator<AK::Vector<Gfx::QuantizationDefault::IrreversibleStepSize, 0ul> const&>::Enumerator(AK::Vector<Gfx::QuantizationDefault::IrreversibleStepSize, 0ul> const&)
Line
Count
Source
26
17.2k
        : m_iterable(forward<Iterable>(iterable))
27
17.2k
        , m_iterator(m_iterable.begin())
28
17.2k
        , m_end(m_iterable.end())
29
17.2k
    {
30
17.2k
    }
AK::Detail::Enumerator<AK::Vector<Gfx::TileData, 0ul>&>::Enumerator(AK::Vector<Gfx::TileData, 0ul>&)
Line
Count
Source
26
798
        : m_iterable(forward<Iterable>(iterable))
27
798
        , m_iterator(m_iterable.begin())
28
798
        , m_end(m_iterable.end())
29
798
    {
30
798
    }
AK::Detail::Enumerator<AK::Vector<Gfx::DecodedCodeBlock, 0ul>&>::Enumerator(AK::Vector<Gfx::DecodedCodeBlock, 0ul>&)
Line
Count
Source
26
3.46M
        : m_iterable(forward<Iterable>(iterable))
27
3.46M
        , m_iterator(m_iterable.begin())
28
3.46M
        , m_end(m_iterable.end())
29
3.46M
    {
30
3.46M
    }
AK::Detail::Enumerator<AK::Array<Gfx::JPEG2000::SubBand, 3ul> const&>::Enumerator(AK::Array<Gfx::JPEG2000::SubBand, 3ul> const&)
Line
Count
Source
26
273k
        : m_iterable(forward<Iterable>(iterable))
27
273k
        , m_iterator(m_iterable.begin())
28
273k
        , m_end(m_iterable.end())
29
273k
    {
30
273k
    }
AK::Detail::Enumerator<AK::Span<Gfx::JPEG2000::SubBand const>&>::Enumerator(AK::Span<Gfx::JPEG2000::SubBand const>&)
Line
Count
Source
26
17.1k
        : m_iterable(forward<Iterable>(iterable))
27
17.1k
        , m_iterator(m_iterable.begin())
28
17.1k
        , m_end(m_iterable.end())
29
17.1k
    {
30
17.1k
    }
JPEG2000Loader.cpp:AK::Detail::Enumerator<AK::Vector<Gfx::read_one_packet_header(Gfx::JPEG2000LoadingContext&, Gfx::TileData&, AK::Span<unsigned char const>)::TemporaryCodeBlockData, 0ul> const&>::Enumerator(AK::Vector<Gfx::read_one_packet_header(Gfx::JPEG2000LoadingContext&, Gfx::TileData&, AK::Span<unsigned char const>)::TemporaryCodeBlockData, 0ul> const&)
Line
Count
Source
26
51.1k
        : m_iterable(forward<Iterable>(iterable))
27
51.1k
        , m_iterator(m_iterable.begin())
28
51.1k
        , m_end(m_iterable.end())
29
51.1k
    {
30
51.1k
    }
AK::Detail::Enumerator<AK::Vector<Gfx::DecodedTileComponent, 0ul>&>::Enumerator(AK::Vector<Gfx::DecodedTileComponent, 0ul>&)
Line
Count
Source
26
73.9k
        : m_iterable(forward<Iterable>(iterable))
27
73.9k
        , m_iterator(m_iterable.begin())
28
73.9k
        , m_end(m_iterable.end())
29
73.9k
    {
30
73.9k
    }
AK::Detail::Enumerator<AK::Vector<AK::Array<Gfx::DecodedSubBand, 3ul>, 0ul>&>::Enumerator(AK::Vector<AK::Array<Gfx::DecodedSubBand, 3ul>, 0ul>&)
Line
Count
Source
26
54.8k
        : m_iterable(forward<Iterable>(iterable))
27
54.8k
        , m_iterator(m_iterable.begin())
28
54.8k
        , m_end(m_iterable.end())
29
54.8k
    {
30
54.8k
    }
AK::Detail::Enumerator<AK::Vector<Gfx::JPEG2000::IDWTDecomposition, 0ul> const&>::Enumerator(AK::Vector<Gfx::JPEG2000::IDWTDecomposition, 0ul> const&)
Line
Count
Source
26
25.3k
        : m_iterable(forward<Iterable>(iterable))
27
25.3k
        , m_iterator(m_iterable.begin())
28
25.3k
        , m_end(m_iterable.end())
29
25.3k
    {
30
25.3k
    }
AK::Detail::Enumerator<AK::Vector<Gfx::ISOBMFF::JPEG2000ComponentMappingBox::Mapping, 0ul>&>::Enumerator(AK::Vector<Gfx::ISOBMFF::JPEG2000ComponentMappingBox::Mapping, 0ul>&)
Line
Count
Source
26
29
        : m_iterable(forward<Iterable>(iterable))
27
29
        , m_iterator(m_iterable.begin())
28
29
        , m_end(m_iterable.end())
29
29
    {
30
29
    }
AK::Detail::Enumerator<AK::Vector<AK::Vector<float, 0ul>, 0ul>&>::Enumerator(AK::Vector<AK::Vector<float, 0ul>, 0ul>&)
Line
Count
Source
26
23.1k
        : m_iterable(forward<Iterable>(iterable))
27
23.1k
        , m_iterator(m_iterable.begin())
28
23.1k
        , m_end(m_iterable.end())
29
23.1k
    {
30
23.1k
    }
Unexecuted instantiation: AK::Detail::Enumerator<AK::Vector<Gfx::Channel, 0ul>&>::Enumerator(AK::Vector<Gfx::Channel, 0ul>&)
Unexecuted instantiation: AK::Detail::Enumerator<AK::FixedArray<Gfx::Patch>&>::Enumerator(AK::FixedArray<Gfx::Patch>&)
AK::Detail::Enumerator<AK::Span<Gfx::Line<float> const>&>::Enumerator(AK::Span<Gfx::Line<float> const>&)
Line
Count
Source
26
152k
        : m_iterable(forward<Iterable>(iterable))
27
152k
        , m_iterator(m_iterable.begin())
28
152k
        , m_end(m_iterable.end())
29
152k
    {
30
152k
    }
AK::Detail::Enumerator<AK::Vector<AK::Vector<Gfx::Point<float>, 0ul>, 0ul>&>::Enumerator(AK::Vector<AK::Vector<Gfx::Point<float>, 0ul>, 0ul>&)
Line
Count
Source
26
152k
        : m_iterable(forward<Iterable>(iterable))
27
152k
        , m_iterator(m_iterable.begin())
28
152k
        , m_end(m_iterable.end())
29
152k
    {
30
152k
    }
Unexecuted instantiation: AK::Detail::Enumerator<AK::Vector<Wasm::ImportSection::Import, 0ul> const&>::Enumerator(AK::Vector<Wasm::ImportSection::Import, 0ul> const&)
31
32
4.89M
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Vector<unsigned int, 0ul> const&>::begin() const
Line
Count
Source
32
2.53k
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::SegmentData, 0ul>&>::begin() const
Line
Count
Source
32
697
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Array<unsigned int, 32ul>&>::begin() const
Line
Count
Source
32
62
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Array<unsigned char, 35ul>&>::begin() const
Line
Count
Source
32
9
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Vector<unsigned char, 0ul>&>::begin() const
Line
Count
Source
32
53
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::ImageAndTileSize::ComponentInformation, 0ul>&>::begin() const
Line
Count
Source
32
552k
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::CodingStyleParameters::PrecinctSize, 0ul>&>::begin() const
Line
Count
Source
32
1.58k
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::QuantizationDefault::ReversibleStepSize, 0ul> const&>::begin() const
Line
Count
Source
32
26.6k
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::QuantizationDefault::IrreversibleStepSize, 0ul> const&>::begin() const
Line
Count
Source
32
17.2k
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::TileData, 0ul>&>::begin() const
Line
Count
Source
32
798
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::DecodedCodeBlock, 0ul>&>::begin() const
Line
Count
Source
32
3.46M
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Array<Gfx::JPEG2000::SubBand, 3ul> const&>::begin() const
Line
Count
Source
32
273k
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Span<Gfx::JPEG2000::SubBand const>&>::begin() const
Line
Count
Source
32
17.1k
    Enumerator const& begin() const { return *this; }
JPEG2000Loader.cpp:AK::Detail::Enumerator<AK::Vector<Gfx::read_one_packet_header(Gfx::JPEG2000LoadingContext&, Gfx::TileData&, AK::Span<unsigned char const>)::TemporaryCodeBlockData, 0ul> const&>::begin() const
Line
Count
Source
32
51.1k
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::DecodedTileComponent, 0ul>&>::begin() const
Line
Count
Source
32
73.9k
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Vector<AK::Array<Gfx::DecodedSubBand, 3ul>, 0ul>&>::begin() const
Line
Count
Source
32
54.8k
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::JPEG2000::IDWTDecomposition, 0ul> const&>::begin() const
Line
Count
Source
32
25.3k
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::ISOBMFF::JPEG2000ComponentMappingBox::Mapping, 0ul>&>::begin() const
Line
Count
Source
32
29
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Vector<AK::Vector<float, 0ul>, 0ul>&>::begin() const
Line
Count
Source
32
23.1k
    Enumerator const& begin() const { return *this; }
Unexecuted instantiation: AK::Detail::Enumerator<AK::Vector<Gfx::Channel, 0ul>&>::begin() const
Unexecuted instantiation: AK::Detail::Enumerator<AK::FixedArray<Gfx::Patch>&>::begin() const
AK::Detail::Enumerator<AK::Vector<AK::Vector<Gfx::Point<float>, 0ul>, 0ul>&>::begin() const
Line
Count
Source
32
152k
    Enumerator const& begin() const { return *this; }
AK::Detail::Enumerator<AK::Span<Gfx::Line<float> const>&>::begin() const
Line
Count
Source
32
152k
    Enumerator const& begin() const { return *this; }
Unexecuted instantiation: AK::Detail::Enumerator<AK::Span<Web::HTML::DragDataStoreItem const> >::begin() const
Unexecuted instantiation: AK::Detail::Enumerator<AK::Vector<Wasm::ImportSection::Import, 0ul> const&>::begin() const
33
4.89M
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Vector<unsigned int, 0ul> const&>::end() const
Line
Count
Source
33
2.53k
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::SegmentData, 0ul>&>::end() const
Line
Count
Source
33
697
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Array<unsigned int, 32ul>&>::end() const
Line
Count
Source
33
62
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Array<unsigned char, 35ul>&>::end() const
Line
Count
Source
33
9
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Vector<unsigned char, 0ul>&>::end() const
Line
Count
Source
33
53
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::ImageAndTileSize::ComponentInformation, 0ul>&>::end() const
Line
Count
Source
33
552k
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::CodingStyleParameters::PrecinctSize, 0ul>&>::end() const
Line
Count
Source
33
1.58k
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::QuantizationDefault::ReversibleStepSize, 0ul> const&>::end() const
Line
Count
Source
33
26.6k
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::QuantizationDefault::IrreversibleStepSize, 0ul> const&>::end() const
Line
Count
Source
33
17.2k
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::TileData, 0ul>&>::end() const
Line
Count
Source
33
798
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::DecodedCodeBlock, 0ul>&>::end() const
Line
Count
Source
33
3.46M
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Array<Gfx::JPEG2000::SubBand, 3ul> const&>::end() const
Line
Count
Source
33
273k
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Span<Gfx::JPEG2000::SubBand const>&>::end() const
Line
Count
Source
33
17.1k
    Enumerator const& end() const { return *this; }
JPEG2000Loader.cpp:AK::Detail::Enumerator<AK::Vector<Gfx::read_one_packet_header(Gfx::JPEG2000LoadingContext&, Gfx::TileData&, AK::Span<unsigned char const>)::TemporaryCodeBlockData, 0ul> const&>::end() const
Line
Count
Source
33
51.1k
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::DecodedTileComponent, 0ul>&>::end() const
Line
Count
Source
33
73.9k
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Vector<AK::Array<Gfx::DecodedSubBand, 3ul>, 0ul>&>::end() const
Line
Count
Source
33
54.8k
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::JPEG2000::IDWTDecomposition, 0ul> const&>::end() const
Line
Count
Source
33
25.3k
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Vector<Gfx::ISOBMFF::JPEG2000ComponentMappingBox::Mapping, 0ul>&>::end() const
Line
Count
Source
33
29
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Vector<AK::Vector<float, 0ul>, 0ul>&>::end() const
Line
Count
Source
33
23.1k
    Enumerator const& end() const { return *this; }
Unexecuted instantiation: AK::Detail::Enumerator<AK::Vector<Gfx::Channel, 0ul>&>::end() const
Unexecuted instantiation: AK::Detail::Enumerator<AK::FixedArray<Gfx::Patch>&>::end() const
AK::Detail::Enumerator<AK::Vector<AK::Vector<Gfx::Point<float>, 0ul>, 0ul>&>::end() const
Line
Count
Source
33
152k
    Enumerator const& end() const { return *this; }
AK::Detail::Enumerator<AK::Span<Gfx::Line<float> const>&>::end() const
Line
Count
Source
33
152k
    Enumerator const& end() const { return *this; }
Unexecuted instantiation: AK::Detail::Enumerator<AK::Span<Web::HTML::DragDataStoreItem const> >::end() const
Unexecuted instantiation: AK::Detail::Enumerator<AK::Vector<Wasm::ImportSection::Import, 0ul> const&>::end() const
34
35
42.9M
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Vector<unsigned int, 0ul> const&>::operator*()
Line
Count
Source
35
44
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Vector<Gfx::SegmentData, 0ul>&>::operator*()
Line
Count
Source
35
2.59k
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Array<unsigned int, 32ul>&>::operator*()
Line
Count
Source
35
1.98k
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Array<unsigned char, 35ul>&>::operator*()
Line
Count
Source
35
315
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Vector<unsigned char, 0ul>&>::operator*()
Line
Count
Source
35
855
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Vector<Gfx::ImageAndTileSize::ComponentInformation, 0ul>&>::operator*()
Line
Count
Source
35
580k
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Vector<Gfx::CodingStyleParameters::PrecinctSize, 0ul>&>::operator*()
Line
Count
Source
35
3.42k
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Vector<Gfx::QuantizationDefault::ReversibleStepSize, 0ul> const&>::operator*()
Line
Count
Source
35
607k
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Vector<Gfx::QuantizationDefault::IrreversibleStepSize, 0ul> const&>::operator*()
Line
Count
Source
35
85.1k
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Vector<Gfx::TileData, 0ul>&>::operator*()
Line
Count
Source
35
550k
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Vector<Gfx::DecodedCodeBlock, 0ul>&>::operator*()
Line
Count
Source
35
24.3M
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Array<Gfx::JPEG2000::SubBand, 3ul> const&>::operator*()
Line
Count
Source
35
819k
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Span<Gfx::JPEG2000::SubBand const>&>::operator*()
Line
Count
Source
35
39.4k
    Enumeration operator*() { return { m_index, *m_iterator }; }
JPEG2000Loader.cpp:AK::Detail::Enumerator<AK::Vector<Gfx::read_one_packet_header(Gfx::JPEG2000LoadingContext&, Gfx::TileData&, AK::Span<unsigned char const>)::TemporaryCodeBlockData, 0ul> const&>::operator*()
Line
Count
Source
35
443k
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Vector<Gfx::DecodedTileComponent, 0ul>&>::operator*()
Line
Count
Source
35
80.1k
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Vector<AK::Array<Gfx::DecodedSubBand, 3ul>, 0ul>&>::operator*()
Line
Count
Source
35
87.4k
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Vector<Gfx::JPEG2000::IDWTDecomposition, 0ul> const&>::operator*()
Line
Count
Source
35
43.4k
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Vector<Gfx::ISOBMFF::JPEG2000ComponentMappingBox::Mapping, 0ul>&>::operator*()
Line
Count
Source
35
33
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Vector<AK::Vector<float, 0ul>, 0ul>&>::operator*()
Line
Count
Source
35
25.1k
    Enumeration operator*() { return { m_index, *m_iterator }; }
Unexecuted instantiation: AK::Detail::Enumerator<AK::Vector<Gfx::Channel, 0ul>&>::operator*()
Unexecuted instantiation: AK::Detail::Enumerator<AK::FixedArray<Gfx::Patch>&>::operator*()
AK::Detail::Enumerator<AK::Vector<AK::Vector<Gfx::Point<float>, 0ul>, 0ul>&>::operator*()
Line
Count
Source
35
172k
    Enumeration operator*() { return { m_index, *m_iterator }; }
AK::Detail::Enumerator<AK::Span<Gfx::Line<float> const>&>::operator*()
Line
Count
Source
35
15.0M
    Enumeration operator*() { return { m_index, *m_iterator }; }
Unexecuted instantiation: AK::Detail::Enumerator<AK::Span<Web::HTML::DragDataStoreItem const> >::operator*()
Unexecuted instantiation: AK::Detail::Enumerator<AK::Vector<Wasm::ImportSection::Import, 0ul> const&>::operator*()
36
    Enumeration operator*() const { return { m_index, *m_iterator }; }
37
38
47.8M
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Vector<unsigned int, 0ul> const&>::operator!=(AK::Detail::Enumerator<AK::Vector<unsigned int, 0ul> const&> const&) const
Line
Count
Source
38
2.57k
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Vector<Gfx::SegmentData, 0ul>&>::operator!=(AK::Detail::Enumerator<AK::Vector<Gfx::SegmentData, 0ul>&> const&) const
Line
Count
Source
38
3.26k
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Array<unsigned int, 32ul>&>::operator!=(AK::Detail::Enumerator<AK::Array<unsigned int, 32ul>&> const&) const
Line
Count
Source
38
2.04k
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Array<unsigned char, 35ul>&>::operator!=(AK::Detail::Enumerator<AK::Array<unsigned char, 35ul>&> const&) const
Line
Count
Source
38
324
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Vector<unsigned char, 0ul>&>::operator!=(AK::Detail::Enumerator<AK::Vector<unsigned char, 0ul>&> const&) const
Line
Count
Source
38
908
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Vector<Gfx::ImageAndTileSize::ComponentInformation, 0ul>&>::operator!=(AK::Detail::Enumerator<AK::Vector<Gfx::ImageAndTileSize::ComponentInformation, 0ul>&> const&) const
Line
Count
Source
38
1.13M
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Vector<Gfx::CodingStyleParameters::PrecinctSize, 0ul>&>::operator!=(AK::Detail::Enumerator<AK::Vector<Gfx::CodingStyleParameters::PrecinctSize, 0ul>&> const&) const
Line
Count
Source
38
5.00k
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Vector<Gfx::QuantizationDefault::ReversibleStepSize, 0ul> const&>::operator!=(AK::Detail::Enumerator<AK::Vector<Gfx::QuantizationDefault::ReversibleStepSize, 0ul> const&> const&) const
Line
Count
Source
38
634k
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Vector<Gfx::QuantizationDefault::IrreversibleStepSize, 0ul> const&>::operator!=(AK::Detail::Enumerator<AK::Vector<Gfx::QuantizationDefault::IrreversibleStepSize, 0ul> const&> const&) const
Line
Count
Source
38
102k
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Vector<Gfx::TileData, 0ul>&>::operator!=(AK::Detail::Enumerator<AK::Vector<Gfx::TileData, 0ul>&> const&) const
Line
Count
Source
38
551k
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Vector<Gfx::DecodedCodeBlock, 0ul>&>::operator!=(AK::Detail::Enumerator<AK::Vector<Gfx::DecodedCodeBlock, 0ul>&> const&) const
Line
Count
Source
38
27.8M
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Array<Gfx::JPEG2000::SubBand, 3ul> const&>::operator!=(AK::Detail::Enumerator<AK::Array<Gfx::JPEG2000::SubBand, 3ul> const&> const&) const
Line
Count
Source
38
1.09M
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Span<Gfx::JPEG2000::SubBand const>&>::operator!=(AK::Detail::Enumerator<AK::Span<Gfx::JPEG2000::SubBand const>&> const&) const
Line
Count
Source
38
56.5k
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
JPEG2000Loader.cpp:AK::Detail::Enumerator<AK::Vector<Gfx::read_one_packet_header(Gfx::JPEG2000LoadingContext&, Gfx::TileData&, AK::Span<unsigned char const>)::TemporaryCodeBlockData, 0ul> const&>::operator!=(AK::Detail::Enumerator<AK::Vector<Gfx::read_one_packet_header(Gfx::JPEG2000LoadingContext&, Gfx::TileData&, AK::Span<unsigned char const>)::TemporaryCodeBlockData, 0ul> const&> const&) const
Line
Count
Source
38
495k
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Vector<Gfx::DecodedTileComponent, 0ul>&>::operator!=(AK::Detail::Enumerator<AK::Vector<Gfx::DecodedTileComponent, 0ul>&> const&) const
Line
Count
Source
38
154k
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Vector<AK::Array<Gfx::DecodedSubBand, 3ul>, 0ul>&>::operator!=(AK::Detail::Enumerator<AK::Vector<AK::Array<Gfx::DecodedSubBand, 3ul>, 0ul>&> const&) const
Line
Count
Source
38
142k
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Vector<Gfx::JPEG2000::IDWTDecomposition, 0ul> const&>::operator!=(AK::Detail::Enumerator<AK::Vector<Gfx::JPEG2000::IDWTDecomposition, 0ul> const&> const&) const
Line
Count
Source
38
68.7k
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Vector<Gfx::ISOBMFF::JPEG2000ComponentMappingBox::Mapping, 0ul>&>::operator!=(AK::Detail::Enumerator<AK::Vector<Gfx::ISOBMFF::JPEG2000ComponentMappingBox::Mapping, 0ul>&> const&) const
Line
Count
Source
38
35
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Vector<AK::Vector<float, 0ul>, 0ul>&>::operator!=(AK::Detail::Enumerator<AK::Vector<AK::Vector<float, 0ul>, 0ul>&> const&) const
Line
Count
Source
38
48.2k
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
Unexecuted instantiation: AK::Detail::Enumerator<AK::Vector<Gfx::Channel, 0ul>&>::operator!=(AK::Detail::Enumerator<AK::Vector<Gfx::Channel, 0ul>&> const&) const
Unexecuted instantiation: AK::Detail::Enumerator<AK::FixedArray<Gfx::Patch>&>::operator!=(AK::Detail::Enumerator<AK::FixedArray<Gfx::Patch>&> const&) const
AK::Detail::Enumerator<AK::Vector<AK::Vector<Gfx::Point<float>, 0ul>, 0ul>&>::operator!=(AK::Detail::Enumerator<AK::Vector<AK::Vector<Gfx::Point<float>, 0ul>, 0ul>&> const&) const
Line
Count
Source
38
324k
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
AK::Detail::Enumerator<AK::Span<Gfx::Line<float> const>&>::operator!=(AK::Detail::Enumerator<AK::Span<Gfx::Line<float> const>&> const&) const
Line
Count
Source
38
15.2M
    bool operator!=(Enumerator const&) const { return m_iterator != m_end; }
Unexecuted instantiation: AK::Detail::Enumerator<AK::Span<Web::HTML::DragDataStoreItem const> >::operator!=(AK::Detail::Enumerator<AK::Span<Web::HTML::DragDataStoreItem const> > const&) const
Unexecuted instantiation: AK::Detail::Enumerator<AK::Vector<Wasm::ImportSection::Import, 0ul> const&>::operator!=(AK::Detail::Enumerator<AK::Vector<Wasm::ImportSection::Import, 0ul> const&> const&) const
39
40
    void operator++()
41
42.9M
    {
42
42.9M
        ++m_index;
43
42.9M
        ++m_iterator;
44
42.9M
    }
AK::Detail::Enumerator<AK::Vector<unsigned int, 0ul> const&>::operator++()
Line
Count
Source
41
41
    {
42
41
        ++m_index;
43
41
        ++m_iterator;
44
41
    }
AK::Detail::Enumerator<AK::Vector<Gfx::SegmentData, 0ul>&>::operator++()
Line
Count
Source
41
2.57k
    {
42
2.57k
        ++m_index;
43
2.57k
        ++m_iterator;
44
2.57k
    }
AK::Detail::Enumerator<AK::Array<unsigned int, 32ul>&>::operator++()
Line
Count
Source
41
1.98k
    {
42
1.98k
        ++m_index;
43
1.98k
        ++m_iterator;
44
1.98k
    }
AK::Detail::Enumerator<AK::Array<unsigned char, 35ul>&>::operator++()
Line
Count
Source
41
315
    {
42
315
        ++m_index;
43
315
        ++m_iterator;
44
315
    }
AK::Detail::Enumerator<AK::Vector<unsigned char, 0ul>&>::operator++()
Line
Count
Source
41
855
    {
42
855
        ++m_index;
43
855
        ++m_iterator;
44
855
    }
AK::Detail::Enumerator<AK::Vector<Gfx::ImageAndTileSize::ComponentInformation, 0ul>&>::operator++()
Line
Count
Source
41
580k
    {
42
580k
        ++m_index;
43
580k
        ++m_iterator;
44
580k
    }
AK::Detail::Enumerator<AK::Vector<Gfx::CodingStyleParameters::PrecinctSize, 0ul>&>::operator++()
Line
Count
Source
41
3.42k
    {
42
3.42k
        ++m_index;
43
3.42k
        ++m_iterator;
44
3.42k
    }
AK::Detail::Enumerator<AK::Vector<Gfx::QuantizationDefault::ReversibleStepSize, 0ul> const&>::operator++()
Line
Count
Source
41
607k
    {
42
607k
        ++m_index;
43
607k
        ++m_iterator;
44
607k
    }
AK::Detail::Enumerator<AK::Vector<Gfx::QuantizationDefault::IrreversibleStepSize, 0ul> const&>::operator++()
Line
Count
Source
41
85.1k
    {
42
85.1k
        ++m_index;
43
85.1k
        ++m_iterator;
44
85.1k
    }
AK::Detail::Enumerator<AK::Vector<Gfx::DecodedCodeBlock, 0ul>&>::operator++()
Line
Count
Source
41
24.3M
    {
42
24.3M
        ++m_index;
43
24.3M
        ++m_iterator;
44
24.3M
    }
AK::Detail::Enumerator<AK::Array<Gfx::JPEG2000::SubBand, 3ul> const&>::operator++()
Line
Count
Source
41
819k
    {
42
819k
        ++m_index;
43
819k
        ++m_iterator;
44
819k
    }
AK::Detail::Enumerator<AK::Vector<Gfx::TileData, 0ul>&>::operator++()
Line
Count
Source
41
550k
    {
42
550k
        ++m_index;
43
550k
        ++m_iterator;
44
550k
    }
AK::Detail::Enumerator<AK::Span<Gfx::JPEG2000::SubBand const>&>::operator++()
Line
Count
Source
41
39.3k
    {
42
39.3k
        ++m_index;
43
39.3k
        ++m_iterator;
44
39.3k
    }
JPEG2000Loader.cpp:AK::Detail::Enumerator<AK::Vector<Gfx::read_one_packet_header(Gfx::JPEG2000LoadingContext&, Gfx::TileData&, AK::Span<unsigned char const>)::TemporaryCodeBlockData, 0ul> const&>::operator++()
Line
Count
Source
41
443k
    {
42
443k
        ++m_index;
43
443k
        ++m_iterator;
44
443k
    }
AK::Detail::Enumerator<AK::Vector<AK::Array<Gfx::DecodedSubBand, 3ul>, 0ul>&>::operator++()
Line
Count
Source
41
87.4k
    {
42
87.4k
        ++m_index;
43
87.4k
        ++m_iterator;
44
87.4k
    }
AK::Detail::Enumerator<AK::Vector<Gfx::DecodedTileComponent, 0ul>&>::operator++()
Line
Count
Source
41
80.1k
    {
42
80.1k
        ++m_index;
43
80.1k
        ++m_iterator;
44
80.1k
    }
AK::Detail::Enumerator<AK::Vector<Gfx::JPEG2000::IDWTDecomposition, 0ul> const&>::operator++()
Line
Count
Source
41
43.4k
    {
42
43.4k
        ++m_index;
43
43.4k
        ++m_iterator;
44
43.4k
    }
AK::Detail::Enumerator<AK::Vector<Gfx::ISOBMFF::JPEG2000ComponentMappingBox::Mapping, 0ul>&>::operator++()
Line
Count
Source
41
6
    {
42
6
        ++m_index;
43
6
        ++m_iterator;
44
6
    }
AK::Detail::Enumerator<AK::Vector<AK::Vector<float, 0ul>, 0ul>&>::operator++()
Line
Count
Source
41
25.1k
    {
42
25.1k
        ++m_index;
43
25.1k
        ++m_iterator;
44
25.1k
    }
Unexecuted instantiation: AK::Detail::Enumerator<AK::Vector<Gfx::Channel, 0ul>&>::operator++()
Unexecuted instantiation: AK::Detail::Enumerator<AK::FixedArray<Gfx::Patch>&>::operator++()
AK::Detail::Enumerator<AK::Vector<AK::Vector<Gfx::Point<float>, 0ul>, 0ul>&>::operator++()
Line
Count
Source
41
172k
    {
42
172k
        ++m_index;
43
172k
        ++m_iterator;
44
172k
    }
AK::Detail::Enumerator<AK::Span<Gfx::Line<float> const>&>::operator++()
Line
Count
Source
41
15.0M
    {
42
15.0M
        ++m_index;
43
15.0M
        ++m_iterator;
44
15.0M
    }
Unexecuted instantiation: AK::Detail::Enumerator<AK::Span<Web::HTML::DragDataStoreItem const> >::operator++()
Unexecuted instantiation: AK::Detail::Enumerator<AK::Vector<Wasm::ImportSection::Import, 0ul> const&>::operator++()
45
46
private:
47
    Iterable m_iterable;
48
49
    size_t m_index { 0 };
50
    IteratorType m_iterator;
51
    IteratorType const m_end;
52
};
53
}
54
55
template<typename T>
56
auto enumerate(T&& range)
57
4.89M
{
58
4.89M
    return Detail::Enumerator<T> { forward<T>(range) };
59
4.89M
}
auto AK::enumerate<AK::Vector<unsigned int, 0ul> const&>(AK::Vector<unsigned int, 0ul> const&)
Line
Count
Source
57
2.53k
{
58
2.53k
    return Detail::Enumerator<T> { forward<T>(range) };
59
2.53k
}
auto AK::enumerate<AK::Vector<Gfx::SegmentData, 0ul>&>(AK::Vector<Gfx::SegmentData, 0ul>&)
Line
Count
Source
57
697
{
58
697
    return Detail::Enumerator<T> { forward<T>(range) };
59
697
}
auto AK::enumerate<AK::Array<unsigned int, 32ul>&>(AK::Array<unsigned int, 32ul>&)
Line
Count
Source
57
62
{
58
62
    return Detail::Enumerator<T> { forward<T>(range) };
59
62
}
auto AK::enumerate<AK::Array<unsigned char, 35ul>&>(AK::Array<unsigned char, 35ul>&)
Line
Count
Source
57
9
{
58
9
    return Detail::Enumerator<T> { forward<T>(range) };
59
9
}
auto AK::enumerate<AK::Vector<unsigned char, 0ul>&>(AK::Vector<unsigned char, 0ul>&)
Line
Count
Source
57
53
{
58
53
    return Detail::Enumerator<T> { forward<T>(range) };
59
53
}
auto AK::enumerate<AK::Vector<Gfx::ImageAndTileSize::ComponentInformation, 0ul>&>(AK::Vector<Gfx::ImageAndTileSize::ComponentInformation, 0ul>&)
Line
Count
Source
57
552k
{
58
552k
    return Detail::Enumerator<T> { forward<T>(range) };
59
552k
}
auto AK::enumerate<AK::Vector<Gfx::CodingStyleParameters::PrecinctSize, 0ul>&>(AK::Vector<Gfx::CodingStyleParameters::PrecinctSize, 0ul>&)
Line
Count
Source
57
1.58k
{
58
1.58k
    return Detail::Enumerator<T> { forward<T>(range) };
59
1.58k
}
auto AK::enumerate<AK::Vector<Gfx::QuantizationDefault::ReversibleStepSize, 0ul> const&>(AK::Vector<Gfx::QuantizationDefault::ReversibleStepSize, 0ul> const&)
Line
Count
Source
57
26.6k
{
58
26.6k
    return Detail::Enumerator<T> { forward<T>(range) };
59
26.6k
}
auto AK::enumerate<AK::Vector<Gfx::QuantizationDefault::IrreversibleStepSize, 0ul> const&>(AK::Vector<Gfx::QuantizationDefault::IrreversibleStepSize, 0ul> const&)
Line
Count
Source
57
17.2k
{
58
17.2k
    return Detail::Enumerator<T> { forward<T>(range) };
59
17.2k
}
auto AK::enumerate<AK::Vector<Gfx::TileData, 0ul>&>(AK::Vector<Gfx::TileData, 0ul>&)
Line
Count
Source
57
798
{
58
798
    return Detail::Enumerator<T> { forward<T>(range) };
59
798
}
auto AK::enumerate<AK::Vector<Gfx::DecodedCodeBlock, 0ul>&>(AK::Vector<Gfx::DecodedCodeBlock, 0ul>&)
Line
Count
Source
57
3.46M
{
58
3.46M
    return Detail::Enumerator<T> { forward<T>(range) };
59
3.46M
}
auto AK::enumerate<AK::Array<Gfx::JPEG2000::SubBand, 3ul> const&>(AK::Array<Gfx::JPEG2000::SubBand, 3ul> const&)
Line
Count
Source
57
273k
{
58
273k
    return Detail::Enumerator<T> { forward<T>(range) };
59
273k
}
auto AK::enumerate<AK::Span<Gfx::JPEG2000::SubBand const>&>(AK::Span<Gfx::JPEG2000::SubBand const>&)
Line
Count
Source
57
17.1k
{
58
17.1k
    return Detail::Enumerator<T> { forward<T>(range) };
59
17.1k
}
JPEG2000Loader.cpp:auto AK::enumerate<AK::Vector<Gfx::read_one_packet_header(Gfx::JPEG2000LoadingContext&, Gfx::TileData&, AK::Span<unsigned char const>)::TemporaryCodeBlockData, 0ul> const&>(AK::Vector<Gfx::read_one_packet_header(Gfx::JPEG2000LoadingContext&, Gfx::TileData&, AK::Span<unsigned char const>)::TemporaryCodeBlockData, 0ul> const&)
Line
Count
Source
57
51.1k
{
58
51.1k
    return Detail::Enumerator<T> { forward<T>(range) };
59
51.1k
}
auto AK::enumerate<AK::Vector<Gfx::DecodedTileComponent, 0ul>&>(AK::Vector<Gfx::DecodedTileComponent, 0ul>&)
Line
Count
Source
57
73.9k
{
58
73.9k
    return Detail::Enumerator<T> { forward<T>(range) };
59
73.9k
}
auto AK::enumerate<AK::Vector<AK::Array<Gfx::DecodedSubBand, 3ul>, 0ul>&>(AK::Vector<AK::Array<Gfx::DecodedSubBand, 3ul>, 0ul>&)
Line
Count
Source
57
54.8k
{
58
54.8k
    return Detail::Enumerator<T> { forward<T>(range) };
59
54.8k
}
auto AK::enumerate<AK::Vector<Gfx::JPEG2000::IDWTDecomposition, 0ul> const&>(AK::Vector<Gfx::JPEG2000::IDWTDecomposition, 0ul> const&)
Line
Count
Source
57
25.3k
{
58
25.3k
    return Detail::Enumerator<T> { forward<T>(range) };
59
25.3k
}
auto AK::enumerate<AK::Vector<Gfx::ISOBMFF::JPEG2000ComponentMappingBox::Mapping, 0ul>&>(AK::Vector<Gfx::ISOBMFF::JPEG2000ComponentMappingBox::Mapping, 0ul>&)
Line
Count
Source
57
29
{
58
29
    return Detail::Enumerator<T> { forward<T>(range) };
59
29
}
auto AK::enumerate<AK::Vector<AK::Vector<float, 0ul>, 0ul>&>(AK::Vector<AK::Vector<float, 0ul>, 0ul>&)
Line
Count
Source
57
23.1k
{
58
23.1k
    return Detail::Enumerator<T> { forward<T>(range) };
59
23.1k
}
Unexecuted instantiation: auto AK::enumerate<AK::Vector<Gfx::Channel, 0ul>&>(AK::Vector<Gfx::Channel, 0ul>&)
Unexecuted instantiation: auto AK::enumerate<AK::FixedArray<Gfx::Patch>&>(AK::FixedArray<Gfx::Patch>&)
auto AK::enumerate<AK::Span<Gfx::Line<float> const>&>(AK::Span<Gfx::Line<float> const>&)
Line
Count
Source
57
152k
{
58
152k
    return Detail::Enumerator<T> { forward<T>(range) };
59
152k
}
auto AK::enumerate<AK::Vector<AK::Vector<Gfx::Point<float>, 0ul>, 0ul>&>(AK::Vector<AK::Vector<Gfx::Point<float>, 0ul>, 0ul>&)
Line
Count
Source
57
152k
{
58
152k
    return Detail::Enumerator<T> { forward<T>(range) };
59
152k
}
Unexecuted instantiation: auto AK::enumerate<AK::Span<Web::HTML::DragDataStoreItem const> >(AK::Span<Web::HTML::DragDataStoreItem const>&&)
Unexecuted instantiation: auto AK::enumerate<AK::Vector<Wasm::ImportSection::Import, 0ul> const&>(AK::Vector<Wasm::ImportSection::Import, 0ul> const&)
60
61
}
62
63
#ifdef USING_AK_GLOBALLY
64
using AK::enumerate;
65
#endif