Coverage Report

Created: 2025-09-05 06:52

/src/serenity/AK/Span.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (c) 2020-2021, the SerenityOS developers.
3
 *
4
 * SPDX-License-Identifier: BSD-2-Clause
5
 */
6
7
#pragma once
8
9
#include <AK/Array.h>
10
#include <AK/Assertions.h>
11
#include <AK/Iterator.h>
12
#include <AK/TypedTransfer.h>
13
#include <AK/Types.h>
14
15
namespace AK {
16
17
namespace Detail {
18
19
template<typename T>
20
class Span {
21
public:
22
4.02M
    ALWAYS_INLINE constexpr Span() = default;
AK::Detail::Span<float>::Span()
Line
Count
Source
22
766k
    ALWAYS_INLINE constexpr Span() = default;
AK::Detail::Span<float const>::Span()
Line
Count
Source
22
155k
    ALWAYS_INLINE constexpr Span() = default;
AK::Detail::Span<AK::BigEndian<short> const>::Span()
Line
Count
Source
22
602
    ALWAYS_INLINE constexpr Span() = default;
Unexecuted instantiation: AK::Detail::Span<unsigned short const>::Span()
Unexecuted instantiation: AK::Detail::Span<TimeZone::TimeZoneIdentifier const>::Span()
AK::Detail::Span<unsigned int const>::Span()
Line
Count
Source
22
1
    ALWAYS_INLINE constexpr Span() = default;
Unexecuted instantiation: AK::Detail::Span<Unicode::BlockName const>::Span()
AK::Detail::Span<Unicode::SpecialCasing const>::Span()
Line
Count
Source
22
18.0k
    ALWAYS_INLINE constexpr Span() = default;
Unexecuted instantiation: AK::Detail::Span<Unicode::CaseFolding const>::Span()
AK::Detail::Span<JS::Value>::Span()
Line
Count
Source
22
122
    ALWAYS_INLINE constexpr Span() = default;
Unexecuted instantiation: AK::Detail::Span<JS::Value const>::Span()
Unexecuted instantiation: AK::Detail::Span<AK::String const>::Span()
Unexecuted instantiation: AK::Detail::Span<AK::StringView const>::Span()
Unexecuted instantiation: AK::Detail::Span<unsigned long const>::Span()
Unexecuted instantiation: AK::Detail::Span<signed char const>::Span()
Unexecuted instantiation: AK::Detail::Span<short const>::Span()
Unexecuted instantiation: AK::Detail::Span<int const>::Span()
Unexecuted instantiation: AK::Detail::Span<long const>::Span()
Unexecuted instantiation: AK::Detail::Span<double const>::Span()
Unexecuted instantiation: AK::Detail::Span<unsigned short>::Span()
Unexecuted instantiation: AK::Detail::Span<unsigned int>::Span()
Unexecuted instantiation: AK::Detail::Span<unsigned long>::Span()
Unexecuted instantiation: AK::Detail::Span<signed char>::Span()
Unexecuted instantiation: AK::Detail::Span<short>::Span()
Unexecuted instantiation: AK::Detail::Span<int>::Span()
Unexecuted instantiation: AK::Detail::Span<long>::Span()
Unexecuted instantiation: AK::Detail::Span<double>::Span()
Unexecuted instantiation: AK::Detail::Span<Locale::PluralCategory const>::Span()
Unexecuted instantiation: AK::Detail::Span<AK::StringView>::Span()
Unexecuted instantiation: AK::Detail::Span<AK::OptionParser::Option const>::Span()
Unexecuted instantiation: AK::Detail::Span<Web::Painting::BorderRadiiClip const>::Span()
AK::Detail::Span<bool>::Span()
Line
Count
Source
22
3.08M
    ALWAYS_INLINE constexpr Span() = default;
23
24
    ALWAYS_INLINE constexpr Span(T* values, size_t size)
25
5.19G
        : m_values(values)
26
5.19G
        , m_size(size)
27
5.19G
    {
28
5.19G
    }
AK::Detail::Span<AK::Vector<unsigned char, 0ul> const>::Span(AK::Vector<unsigned char, 0ul> const*, unsigned long)
Line
Count
Source
25
219k
        : m_values(values)
26
219k
        , m_size(size)
27
219k
    {
28
219k
    }
AK::Detail::Span<Gfx::JBIG2::Code const>::Span(Gfx::JBIG2::Code const*, unsigned long)
Line
Count
Source
25
74
        : m_values(values)
26
74
        , m_size(size)
27
74
    {
28
74
    }
Unexecuted instantiation: AK::Detail::Span<AK::NonnullRefPtr<Gfx::Symbol> const>::Span(AK::NonnullRefPtr<Gfx::Symbol> const*, unsigned long)
AK::Detail::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::Span(Gfx::JBIG2::AdaptiveTemplatePixel const*, unsigned long)
Line
Count
Source
25
73.0M
        : m_values(values)
26
73.0M
        , m_size(size)
27
73.0M
    {
28
73.0M
    }
AK::Detail::Span<Gfx::JBIG2::Code>::Span(Gfx::JBIG2::Code*, unsigned long)
Line
Count
Source
25
45
        : m_values(values)
26
45
        , m_size(size)
27
45
    {
28
45
    }
AK::Detail::Span<unsigned short const>::Span(unsigned short const*, unsigned long)
Line
Count
Source
25
49.9k
        : m_values(values)
26
49.9k
        , m_size(size)
27
49.9k
    {
28
49.9k
    }
AK::Detail::Span<unsigned int const>::Span(unsigned int const*, unsigned long)
Line
Count
Source
25
102
        : m_values(values)
26
102
        , m_size(size)
27
102
    {
28
102
    }
AK::Detail::Span<float const>::Span(float const*, unsigned long)
Line
Count
Source
25
77.8M
        : m_values(values)
26
77.8M
        , m_size(size)
27
77.8M
    {
28
77.8M
    }
CCITTDecoder.cpp:AK::Detail::Span<Gfx::CCITT::(anonymous namespace)::Change>::Span(Gfx::CCITT::(anonymous namespace)::Change*, unsigned long)
Line
Count
Source
25
85.3k
        : m_values(values)
26
85.3k
        , m_size(size)
27
85.3k
    {
28
85.3k
    }
AK::Detail::Span<Gfx::JPEG2000::SubBand const>::Span(Gfx::JPEG2000::SubBand const*, unsigned long)
Line
Count
Source
25
17.1k
        : m_values(values)
26
17.1k
        , m_size(size)
27
17.1k
    {
28
17.1k
    }
AK::Detail::Span<float>::Span(float*, unsigned long)
Line
Count
Source
25
8.04M
        : m_values(values)
26
8.04M
        , m_size(size)
27
8.04M
    {
28
8.04M
    }
Unexecuted instantiation: AK::Detail::Span<Gfx::ChannelInfo const>::Span(Gfx::ChannelInfo const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Gfx::ChannelInfo>::Span(Gfx::ChannelInfo*, unsigned long)
AK::Detail::Span<int>::Span(int*, unsigned long)
Line
Count
Source
25
36.5M
        : m_values(values)
26
36.5M
        , m_size(size)
27
36.5M
    {
28
36.5M
    }
Unexecuted instantiation: AK::Detail::Span<Gfx::Channel>::Span(Gfx::Channel*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Gfx::Frame>::Span(Gfx::Frame*, unsigned long)
AK::Detail::Span<unsigned int>::Span(unsigned int*, unsigned long)
Line
Count
Source
25
743
        : m_values(values)
26
743
        , m_size(size)
27
743
    {
28
743
    }
AK::Detail::Span<Gfx::Color const>::Span(Gfx::Color const*, unsigned long)
Line
Count
Source
25
1.27k
        : m_values(values)
26
1.27k
        , m_size(size)
27
1.27k
    {
28
1.27k
    }
AK::Detail::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::Span(Gfx::TinyVGDecodedImageData::DrawCommand const*, unsigned long)
Line
Count
Source
25
730
        : m_values(values)
26
730
        , m_size(size)
27
730
    {
28
730
    }
AK::Detail::Span<Gfx::Line<float> const>::Span(Gfx::Line<float> const*, unsigned long)
Line
Count
Source
25
1.77M
        : m_values(values)
26
1.77M
        , m_size(size)
27
1.77M
    {
28
1.77M
    }
AK::Detail::Span<Gfx::Color>::Span(Gfx::Color*, unsigned long)
Line
Count
Source
25
1.27k
        : m_values(values)
26
1.27k
        , m_size(size)
27
1.27k
    {
28
1.27k
    }
AK::Detail::Span<Gfx::ColorStop const>::Span(Gfx::ColorStop const*, unsigned long)
Line
Count
Source
25
11.5M
        : m_values(values)
26
11.5M
        , m_size(size)
27
11.5M
    {
28
11.5M
    }
Unexecuted instantiation: AK::Detail::Span<AK::BigEndian<unsigned int> const>::Span(AK::BigEndian<unsigned int> const*, unsigned long)
AK::Detail::Span<OpenType::Hmtx::LongHorMetric const>::Span(OpenType::Hmtx::LongHorMetric const*, unsigned long)
Line
Count
Source
25
602
        : m_values(values)
26
602
        , m_size(size)
27
602
    {
28
602
    }
AK::Detail::Span<AK::BigEndian<short> const>::Span(AK::BigEndian<short> const*, unsigned long)
Line
Count
Source
25
393
        : m_values(values)
26
393
        , m_size(size)
27
393
    {
28
393
    }
AK::Detail::Span<OpenType::Name::NameRecord const>::Span(OpenType::Name::NameRecord const*, unsigned long)
Line
Count
Source
25
843
        : m_values(values)
26
843
        , m_size(size)
27
843
    {
28
843
    }
AK::Detail::Span<OpenType::CBLC::BitmapSize const>::Span(OpenType::CBLC::BitmapSize const*, unsigned long)
Line
Count
Source
25
242
        : m_values(values)
26
242
        , m_size(size)
27
242
    {
28
242
    }
Unexecuted instantiation: AK::Detail::Span<OpenType::EBLC::IndexSubTableArray const>::Span(OpenType::EBLC::IndexSubTableArray const*, unsigned long)
AK::Detail::Span<AK::BigEndian<unsigned short> const>::Span(AK::BigEndian<unsigned short> const*, unsigned long)
Line
Count
Source
25
606
        : m_values(values)
26
606
        , m_size(size)
27
606
    {
28
606
    }
AK::Detail::Span<OpenType::Kern::Format0Pair const>::Span(OpenType::Kern::Format0Pair const*, unsigned long)
Line
Count
Source
25
824
        : m_values(values)
26
824
        , m_size(size)
27
824
    {
28
824
    }
AK::Detail::Span<OpenType::ScriptRecord const>::Span(OpenType::ScriptRecord const*, unsigned long)
Line
Count
Source
25
659
        : m_values(values)
26
659
        , m_size(size)
27
659
    {
28
659
    }
AK::Detail::Span<OpenType::FeatureRecord const>::Span(OpenType::FeatureRecord const*, unsigned long)
Line
Count
Source
25
623
        : m_values(values)
26
623
        , m_size(size)
27
623
    {
28
623
    }
AK::Detail::Span<Gfx::Point<float> const>::Span(Gfx::Point<float> const*, unsigned long)
Line
Count
Source
25
3.75G
        : m_values(values)
26
3.75G
        , m_size(size)
27
3.75G
    {
28
3.75G
    }
AK::Detail::Span<unsigned long const>::Span(unsigned long const*, unsigned long)
Line
Count
Source
25
782M
        : m_values(values)
26
782M
        , m_size(size)
27
782M
    {
28
782M
    }
Unexecuted instantiation: AK::Detail::Span<Gfx::PathSegment::Command const>::Span(Gfx::PathSegment::Command const*, unsigned long)
AK::Detail::Span<AK::TypeErasedParameter const>::Span(AK::TypeErasedParameter const*, unsigned long)
Line
Count
Source
25
192M
        : m_values(values)
26
192M
        , m_size(size)
27
192M
    {
28
192M
    }
AK::Detail::Span<AK::StringView const>::Span(AK::StringView const*, unsigned long)
Line
Count
Source
25
2.41k
        : m_values(values)
26
2.41k
        , m_size(size)
27
2.41k
    {
28
2.41k
    }
AK::Detail::Span<unsigned long>::Span(unsigned long*, unsigned long)
Line
Count
Source
25
131M
        : m_values(values)
26
131M
        , m_size(size)
27
131M
    {
28
131M
    }
Unexecuted instantiation: AK::Detail::Span<addrinfo const>::Span(addrinfo const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<pollfd>::Span(pollfd*, unsigned long)
Unexecuted instantiation: EventLoopImplementationUnix.cpp:AK::Detail::Span<Core::(anonymous namespace)::EventLoopTimeout* const>::Span(Core::(anonymous namespace)::EventLoopTimeout* const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Unicode::BlockName>::Span(Unicode::BlockName*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Unicode::BlockName const>::Span(Unicode::BlockName const*, unsigned long)
AK::Detail::Span<Unicode::SpecialCasing const>::Span(Unicode::SpecialCasing const*, unsigned long)
Line
Count
Source
25
4.83k
        : m_values(values)
26
4.83k
        , m_size(size)
27
4.83k
    {
28
4.83k
    }
Unexecuted instantiation: AK::Detail::Span<Unicode::CaseFolding const>::Span(Unicode::CaseFolding const*, unsigned long)
AK::Detail::Span<short const>::Span(short const*, unsigned long)
Line
Count
Source
25
5.70k
        : m_values(values)
26
5.70k
        , m_size(size)
27
5.70k
    {
28
5.70k
    }
AK::Detail::Span<char const>::Span(char const*, unsigned long)
Line
Count
Source
25
252
        : m_values(values)
26
252
        , m_size(size)
27
252
    {
28
252
    }
AK::Detail::Span<AK::Variant<XML::ElementDeclaration, XML::AttributeListDeclaration, AK::Variant<XML::GEDeclaration, XML::PEDeclaration>, XML::NotationDeclaration> const>::Span(AK::Variant<XML::ElementDeclaration, XML::AttributeListDeclaration, AK::Variant<XML::GEDeclaration, XML::PEDeclaration>, XML::NotationDeclaration> const*, unsigned long)
Line
Count
Source
25
1.95k
        : m_values(values)
26
1.95k
        , m_size(size)
27
1.95k
    {
28
1.95k
    }
Unexecuted instantiation: AK::Detail::Span<JS::Value const>::Span(JS::Value const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<JS::Bytecode::Operand const>::Span(JS::Bytecode::Operand const*, unsigned long)
AK::Detail::Span<JS::Value>::Span(JS::Value*, unsigned long)
Line
Count
Source
25
48
        : m_values(values)
26
48
        , m_size(size)
27
48
    {
28
48
    }
AK::Detail::Span<JS::CallExpressionArgument const>::Span(JS::CallExpressionArgument const*, unsigned long)
Line
Count
Source
25
1.98k
        : m_values(values)
26
1.98k
        , m_size(size)
27
1.98k
    {
28
1.98k
    }
AK::Detail::Span<JS::Bytecode::ScopedOperand const>::Span(JS::Bytecode::ScopedOperand const*, unsigned long)
Line
Count
Source
25
3
        : m_values(values)
26
3
        , m_size(size)
27
3
    {
28
3
    }
Unexecuted instantiation: AK::Detail::Span<AK::Optional<JS::Bytecode::ScopedOperand> const>::Span(AK::Optional<JS::Bytecode::ScopedOperand> const*, unsigned long)
AK::Detail::Span<AK::NonnullRefPtr<JS::Identifier> const>::Span(AK::NonnullRefPtr<JS::Identifier> const*, unsigned long)
Line
Count
Source
25
1.32k
        : m_values(values)
26
1.32k
        , m_size(size)
27
1.32k
    {
28
1.32k
    }
AK::Detail::Span<JS::ParserError const>::Span(JS::ParserError const*, unsigned long)
Line
Count
Source
25
83
        : m_values(values)
26
83
        , m_size(size)
27
83
    {
28
83
    }
AK::Detail::Span<JS::CallExpressionArgument>::Span(JS::CallExpressionArgument*, unsigned long)
Line
Count
Source
25
990
        : m_values(values)
26
990
        , m_size(size)
27
990
    {
28
990
    }
Unexecuted instantiation: AK::Detail::Span<JS::DeclarativeEnvironment::Binding>::Span(JS::DeclarativeEnvironment::Binding*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<JS::DeclarativeEnvironment::Binding const>::Span(JS::DeclarativeEnvironment::Binding const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::String const>::Span(AK::String const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Locale::CalendarRangePattern const>::Span(Locale::CalendarRangePattern const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<JS::Intl::PatternPartition const>::Span(JS::Intl::PatternPartition const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::StringView>::Span(AK::StringView*, unsigned long)
AK::Detail::Span<int const>::Span(int const*, unsigned long)
Line
Count
Source
25
54.9k
        : m_values(values)
26
54.9k
        , m_size(size)
27
54.9k
    {
28
54.9k
    }
Unexecuted instantiation: AK::Detail::Span<signed char const>::Span(signed char const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<long const>::Span(long const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<double const>::Span(double const*, unsigned long)
AK::Detail::Span<unsigned short>::Span(unsigned short*, unsigned long)
Line
Count
Source
25
55.2M
        : m_values(values)
26
55.2M
        , m_size(size)
27
55.2M
    {
28
55.2M
    }
Unexecuted instantiation: AK::Detail::Span<signed char>::Span(signed char*, unsigned long)
AK::Detail::Span<short>::Span(short*, unsigned long)
Line
Count
Source
25
1.72M
        : m_values(values)
26
1.72M
        , m_size(size)
27
1.72M
    {
28
1.72M
    }
AK::Detail::Span<long>::Span(long*, unsigned long)
Line
Count
Source
25
19.7M
        : m_values(values)
26
19.7M
        , m_size(size)
27
19.7M
    {
28
19.7M
    }
Unexecuted instantiation: AK::Detail::Span<double>::Span(double*, unsigned long)
AK::Detail::Span<JS::Position>::Span(JS::Position*, unsigned long)
Line
Count
Source
25
599
        : m_values(values)
26
599
        , m_size(size)
27
599
    {
28
599
    }
Unexecuted instantiation: AK::Detail::Span<JS::ImportEntry const>::Span(JS::ImportEntry const*, unsigned long)
AK::Detail::Span<regex::ByteCode>::Span(regex::ByteCode*, unsigned long)
Line
Count
Source
25
1.98M
        : m_values(values)
26
1.98M
        , m_size(size)
27
1.98M
    {
28
1.98M
    }
AK::Detail::Span<AK::Vector<unsigned long, 0ul> const>::Span(AK::Vector<unsigned long, 0ul> const*, unsigned long)
Line
Count
Source
25
1.21M
        : m_values(values)
26
1.21M
        , m_size(size)
27
1.21M
    {
28
1.21M
    }
Unexecuted instantiation: AK::Detail::Span<regex::CompareTypeAndValuePair const>::Span(regex::CompareTypeAndValuePair const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Locale::PluralCategory const>::Span(Locale::PluralCategory const*, unsigned long)
AK::Detail::Span<Audio::Sample>::Span(Audio::Sample*, unsigned long)
Line
Count
Source
25
502k
        : m_values(values)
26
502k
        , m_size(size)
27
502k
    {
28
502k
    }
Unexecuted instantiation: AK::Detail::Span<Audio::SeekPoint const>::Span(Audio::SeekPoint const*, unsigned long)
AK::Detail::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanVWXY> const>::Span(Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanVWXY> const*, unsigned long)
Line
Count
Source
25
118k
        : m_values(values)
26
118k
        , m_size(size)
27
118k
    {
28
118k
    }
AK::Detail::Span<Audio::MP3::Tables::ScaleFactorBand const>::Span(Audio::MP3::Tables::ScaleFactorBand const*, unsigned long)
Line
Count
Source
25
277k
        : m_values(values)
26
277k
        , m_size(size)
27
277k
    {
28
277k
    }
AK::Detail::Span<Shell::AST::Position const>::Span(Shell::AST::Position const*, unsigned long)
Line
Count
Source
25
891k
        : m_values(values)
26
891k
        , m_size(size)
27
891k
    {
28
891k
    }
AK::Detail::Span<Shell::AST::Position>::Span(Shell::AST::Position*, unsigned long)
Line
Count
Source
25
891k
        : m_values(values)
26
891k
        , m_size(size)
27
891k
    {
28
891k
    }
Unexecuted instantiation: AK::Detail::Span<Shell::AST::VariableDeclarations::Variable const>::Span(Shell::AST::VariableDeclarations::Variable const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::NonnullRefPtr<Shell::AST::Redirection> const>::Span(AK::NonnullRefPtr<Shell::AST::Redirection> const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Shell::AST::Command const>::Span(Shell::AST::Command const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::NonnullRefPtr<Shell::AST::Value> const>::Span(AK::NonnullRefPtr<Shell::AST::Value> const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::Variant<AK::String, long, Shell::Arithmetic::Operator> >::Span(AK::Variant<AK::String, long, Shell::Arithmetic::Operator>*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::NonnullRefPtr<Shell::AST::Node> const>::Span(AK::NonnullRefPtr<Shell::AST::Node> const*, unsigned long)
AK::Detail::Span<Shell::Posix::Token const>::Span(Shell::Posix::Token const*, unsigned long)
Line
Count
Source
25
17.5M
        : m_values(values)
26
17.5M
        , m_size(size)
27
17.5M
    {
28
17.5M
    }
AK::Detail::Span<Shell::Posix::Token>::Span(Shell::Posix::Token*, unsigned long)
Line
Count
Source
25
17.5M
        : m_values(values)
26
17.5M
        , m_size(size)
27
17.5M
    {
28
17.5M
    }
Unexecuted instantiation: AK::Detail::Span<Shell::Shell::RunnablePath>::Span(Shell::Shell::RunnablePath*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Line::XtermSuggestionDisplay::PageRange>::Span(Line::XtermSuggestionDisplay::PageRange*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::OptionParser::Option const>::Span(AK::OptionParser::Option const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Web::CSS::Parser::ComponentValue const>::Span(Web::CSS::Parser::ComponentValue const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Web::CSS::PropertyID const>::Span(Web::CSS::PropertyID const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Web::CSS::Parser::Token const>::Span(Web::CSS::Parser::Token const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue> const>::Span(Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue> const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue const> const>::Span(Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue const> const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::Span(AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::Span<unsigned char const> >::Span(AK::Span<unsigned char const>*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Web::Bindings::KeyUsage const>::Span(Web::Bindings::KeyUsage const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Web::Bindings::KeyUsage>::Span(Web::Bindings::KeyUsage*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::String>::Span(AK::String*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<JS::NonnullGCPtr<JS::PromiseCapability> >::Span(JS::NonnullGCPtr<JS::PromiseCapability>*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<JS::NonnullGCPtr<JS::PromiseCapability> const>::Span(JS::NonnullGCPtr<JS::PromiseCapability> const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<JS::NonnullGCPtr<Web::HTML::VideoTrack> >::Span(JS::NonnullGCPtr<Web::HTML::VideoTrack>*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::NonnullRefPtr<Web::HTML::IdleCallback> const>::Span(AK::NonnullRefPtr<Web::HTML::IdleCallback> const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<JS::NonnullGCPtr<Web::FileAPI::Blob> const>::Span(JS::NonnullGCPtr<Web::FileAPI::Blob> const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<JS::Handle<Web::PerformanceTimeline::PerformanceEntry> const>::Span(JS::Handle<Web::PerformanceTimeline::PerformanceEntry> const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::FlyString const>::Span(AK::FlyString const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::Variant<Web::CSS::FilterOperation::Blur, Web::CSS::FilterOperation::DropShadow, Web::CSS::FilterOperation::HueRotate, Web::CSS::FilterOperation::Color> const>::Span(AK::Variant<Web::CSS::FilterOperation::Blur, Web::CSS::FilterOperation::DropShadow, Web::CSS::FilterOperation::HueRotate, Web::CSS::FilterOperation::Color> const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::ByteString const>::Span(AK::ByteString const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Web::HTML::DragDataStoreItem const>::Span(Web::HTML::DragDataStoreItem const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::Variant<Web::CSS::ResolvedFilter::Blur, Web::CSS::ResolvedFilter::DropShadow, Web::CSS::ResolvedFilter::HueRotate, Web::CSS::ResolvedFilter::Color> const>::Span(AK::Variant<Web::CSS::ResolvedFilter::Blur, Web::CSS::ResolvedFilter::DropShadow, Web::CSS::ResolvedFilter::HueRotate, Web::CSS::ResolvedFilter::Color> const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Web::Painting::BorderRadiiClip const>::Span(Web::Painting::BorderRadiiClip const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Web::SVG::Transform const>::Span(Web::SVG::Transform const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Web::SVG::PathInstruction const>::Span(Web::SVG::PathInstruction const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::Optional<int> const>::Span(AK::Optional<int> const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<JS::NonnullGCPtr<Web::UIEvents::PointerEvent> const>::Span(JS::NonnullGCPtr<Web::UIEvents::PointerEvent> const*, unsigned long)
AK::Detail::Span<bool>::Span(bool*, unsigned long)
Line
Count
Source
25
4.63M
        : m_values(values)
26
4.63M
        , m_size(size)
27
4.63M
    {
28
4.63M
    }
Unexecuted instantiation: AK::Detail::Span<Wasm::ValueType const>::Span(Wasm::ValueType const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::DistinctNumeric<unsigned long, Wasm::__FunctionAddress_tag, AK::DistinctNumericFeature::Arithmetic, AK::DistinctNumericFeature::Comparison, AK::DistinctNumericFeature::Increment> const>::Span(AK::DistinctNumeric<unsigned long, Wasm::__FunctionAddress_tag, AK::DistinctNumericFeature::Arithmetic, AK::DistinctNumericFeature::Comparison, AK::DistinctNumericFeature::Increment> const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Wasm::Value>::Span(Wasm::Value*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Wasm::Validator::StackEntry const>::Span(Wasm::Validator::StackEntry const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Wasm::FunctionType const>::Span(Wasm::FunctionType const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<SQL::TupleElementDescriptor const>::Span(SQL::TupleElementDescriptor const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<SQL::Value const>::Span(SQL::Value const*, unsigned long)
29
30
    template<size_t size>
31
    ALWAYS_INLINE constexpr Span(T (&values)[size])
32
271M
        : m_values(values)
33
271M
        , m_size(size)
34
271M
    {
35
271M
    }
AK::Detail::Span<short const>::Span<64ul>(short const (&) [64ul])
Line
Count
Source
32
18.0M
        : m_values(values)
33
18.0M
        , m_size(size)
34
18.0M
    {
35
18.0M
    }
AK::Detail::Span<short>::Span<64ul>(short (&) [64ul])
Line
Count
Source
32
18.0M
        : m_values(values)
33
18.0M
        , m_size(size)
34
18.0M
    {
35
18.0M
    }
AK::Detail::Span<signed char const>::Span<6ul>(signed char const (&) [6ul])
Line
Count
Source
32
17.4M
        : m_values(values)
33
17.4M
        , m_size(size)
34
17.4M
    {
35
17.4M
    }
AK::Detail::Span<signed char const>::Span<8ul>(signed char const (&) [8ul])
Line
Count
Source
32
13.4M
        : m_values(values)
33
13.4M
        , m_size(size)
34
13.4M
    {
35
13.4M
    }
AK::Detail::Span<signed char const>::Span<18ul>(signed char const (&) [18ul])
Line
Count
Source
32
198M
        : m_values(values)
33
198M
        , m_size(size)
34
198M
    {
35
198M
    }
AK::Detail::Span<signed char const>::Span<22ul>(signed char const (&) [22ul])
Line
Count
Source
32
6.10M
        : m_values(values)
33
6.10M
        , m_size(size)
34
6.10M
    {
35
6.10M
    }
Unexecuted instantiation: AK::Detail::Span<AK::StringView const>::Span<2ul>(AK::StringView const (&) [2ul])
Unexecuted instantiation: AK::Detail::Span<AK::StringView const>::Span<3ul>(AK::StringView const (&) [3ul])
Unexecuted instantiation: AK::Detail::Span<AK::StringView const>::Span<4ul>(AK::StringView const (&) [4ul])
Unexecuted instantiation: AK::Detail::Span<AK::StringView const>::Span<6ul>(AK::StringView const (&) [6ul])
Unexecuted instantiation: AK::Detail::Span<AK::StringView const>::Span<5ul>(AK::StringView const (&) [5ul])
Unexecuted instantiation: AK::Detail::Span<AK::StringView const>::Span<9ul>(AK::StringView const (&) [9ul])
Unexecuted instantiation: AK::Detail::Span<JS::Temporal::TimeZoneMethod const>::Span<2ul>(JS::Temporal::TimeZoneMethod const (&) [2ul])
Unexecuted instantiation: AK::Detail::Span<JS::Temporal::TimeZoneMethod const>::Span<1ul>(JS::Temporal::TimeZoneMethod const (&) [1ul])
Unexecuted instantiation: AK::Detail::Span<JS::Temporal::CalendarMethod const>::Span<2ul>(JS::Temporal::CalendarMethod const (&) [2ul])
Unexecuted instantiation: AK::Detail::Span<JS::Temporal::CalendarMethod const>::Span<4ul>(JS::Temporal::CalendarMethod const (&) [4ul])
Unexecuted instantiation: AK::Detail::Span<JS::Value const>::Span<1ul>(JS::Value const (&) [1ul])
Unexecuted instantiation: AK::Detail::Span<AK::StringView>::Span<2ul>(AK::StringView (&) [2ul])
Unexecuted instantiation: AK::Detail::Span<Web::Bindings::KeyUsage const>::Span<2ul>(Web::Bindings::KeyUsage const (&) [2ul])
Unexecuted instantiation: AK::Detail::Span<Web::Bindings::KeyUsage const>::Span<1ul>(Web::Bindings::KeyUsage const (&) [1ul])
36
37
    template<size_t size>
38
    ALWAYS_INLINE constexpr Span(Array<T, size>& array)
39
1.71M
        : m_values(array.data())
40
1.71M
        , m_size(size)
41
1.71M
    {
42
1.71M
    }
43
44
    template<size_t size>
45
    requires(IsConst<T>)
46
    ALWAYS_INLINE constexpr Span(Array<T, size> const& array)
47
        : m_values(array.data())
48
        , m_size(size)
49
    {
50
    }
51
52
protected:
53
    T* m_values { nullptr };
54
    size_t m_size { 0 };
55
};
56
57
template<>
58
class Span<u8> {
59
public:
60
335k
    ALWAYS_INLINE constexpr Span() = default;
61
62
    ALWAYS_INLINE constexpr Span(u8* values, size_t size)
63
3.78G
        : m_values(values)
64
3.78G
        , m_size(size)
65
3.78G
    {
66
3.78G
    }
67
68
    ALWAYS_INLINE Span(void* values, size_t size)
69
736M
        : m_values(reinterpret_cast<u8*>(values))
70
736M
        , m_size(size)
71
736M
    {
72
736M
    }
73
74
    template<size_t size>
75
    ALWAYS_INLINE constexpr Span(u8 (&values)[size])
76
335k
        : m_values(values)
77
335k
        , m_size(size)
78
335k
    {
79
335k
    }
Unexecuted instantiation: AK::Detail::Span<unsigned char>::Span<3ul>(unsigned char (&) [3ul])
AK::Detail::Span<unsigned char>::Span<256ul>(unsigned char (&) [256ul])
Line
Count
Source
76
111k
        : m_values(values)
77
111k
        , m_size(size)
78
111k
    {
79
111k
    }
AK::Detail::Span<unsigned char>::Span<64ul>(unsigned char (&) [64ul])
Line
Count
Source
76
223k
        : m_values(values)
77
223k
        , m_size(size)
78
223k
    {
79
223k
    }
Unexecuted instantiation: AK::Detail::Span<unsigned char>::Span<16ul>(unsigned char (&) [16ul])
Unexecuted instantiation: AK::Detail::Span<unsigned char>::Span<4096ul>(unsigned char (&) [4096ul])
80
81
protected:
82
    u8* m_values { nullptr };
83
    size_t m_size { 0 };
84
};
85
86
template<>
87
class Span<u8 const> {
88
public:
89
7.33M
    ALWAYS_INLINE constexpr Span() = default;
90
91
    ALWAYS_INLINE constexpr Span(u8 const* values, size_t size)
92
7.19G
        : m_values(values)
93
7.19G
        , m_size(size)
94
7.19G
    {
95
7.19G
    }
96
97
    ALWAYS_INLINE Span(void const* values, size_t size)
98
15.2M
        : m_values(reinterpret_cast<u8 const*>(values))
99
15.2M
        , m_size(size)
100
15.2M
    {
101
15.2M
    }
102
103
    ALWAYS_INLINE Span(char const* values, size_t size)
104
98.0M
        : m_values(reinterpret_cast<u8 const*>(values))
105
98.0M
        , m_size(size)
106
98.0M
    {
107
98.0M
    }
108
109
    template<size_t size>
110
    ALWAYS_INLINE constexpr Span(u8 const (&values)[size])
111
238M
        : m_values(values)
112
238M
        , m_size(size)
113
238M
    {
114
238M
    }
AK::Detail::Span<unsigned char const>::Span<8ul>(unsigned char const (&) [8ul])
Line
Count
Source
111
1.35M
        : m_values(values)
112
1.35M
        , m_size(size)
113
1.35M
    {
114
1.35M
    }
AK::Detail::Span<unsigned char const>::Span<3ul>(unsigned char const (&) [3ul])
Line
Count
Source
111
17.4M
        : m_values(values)
112
17.4M
        , m_size(size)
113
17.4M
    {
114
17.4M
    }
AK::Detail::Span<unsigned char const>::Span<4ul>(unsigned char const (&) [4ul])
Line
Count
Source
111
14.6M
        : m_values(values)
112
14.6M
        , m_size(size)
113
14.6M
    {
114
14.6M
    }
AK::Detail::Span<unsigned char const>::Span<12ul>(unsigned char const (&) [12ul])
Line
Count
Source
111
2.22k
        : m_values(values)
112
2.22k
        , m_size(size)
113
2.22k
    {
114
2.22k
    }
AK::Detail::Span<unsigned char const>::Span<9ul>(unsigned char const (&) [9ul])
Line
Count
Source
111
198M
        : m_values(values)
112
198M
        , m_size(size)
113
198M
    {
114
198M
    }
AK::Detail::Span<unsigned char const>::Span<11ul>(unsigned char const (&) [11ul])
Line
Count
Source
111
6.10M
        : m_values(values)
112
6.10M
        , m_size(size)
113
6.10M
    {
114
6.10M
    }
AK::Detail::Span<unsigned char const>::Span<16ul>(unsigned char const (&) [16ul])
Line
Count
Source
111
111k
        : m_values(values)
112
111k
        , m_size(size)
113
111k
    {
114
111k
    }
AK::Detail::Span<unsigned char const>::Span<256ul>(unsigned char const (&) [256ul])
Line
Count
Source
111
111k
        : m_values(values)
112
111k
        , m_size(size)
113
111k
    {
114
111k
    }
AK::Detail::Span<unsigned char const>::Span<64ul>(unsigned char const (&) [64ul])
Line
Count
Source
111
223k
        : m_values(values)
112
223k
        , m_size(size)
113
223k
    {
114
223k
    }
115
116
protected:
117
    u8 const* m_values { nullptr };
118
    size_t m_size { 0 };
119
};
120
121
}
122
123
template<typename T>
124
class Span : public Detail::Span<T> {
125
public:
126
    using Detail::Span<T>::Span;
127
128
11.6M
    constexpr Span() = default;
AK::Span<unsigned char const>::Span()
Line
Count
Source
128
7.33M
    constexpr Span() = default;
AK::Span<float>::Span()
Line
Count
Source
128
766k
    constexpr Span() = default;
AK::Span<float const>::Span()
Line
Count
Source
128
155k
    constexpr Span() = default;
AK::Span<unsigned char>::Span()
Line
Count
Source
128
335k
    constexpr Span() = default;
AK::Span<AK::BigEndian<short> const>::Span()
Line
Count
Source
128
602
    constexpr Span() = default;
Unexecuted instantiation: AK::Span<unsigned short const>::Span()
Unexecuted instantiation: AK::Span<TimeZone::TimeZoneIdentifier const>::Span()
AK::Span<unsigned int const>::Span()
Line
Count
Source
128
1
    constexpr Span() = default;
Unexecuted instantiation: AK::Span<Unicode::BlockName const>::Span()
AK::Span<Unicode::SpecialCasing const>::Span()
Line
Count
Source
128
18.0k
    constexpr Span() = default;
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::Span()
AK::Span<JS::Value>::Span()
Line
Count
Source
128
122
    constexpr Span() = default;
Unexecuted instantiation: AK::Span<JS::Value const>::Span()
Unexecuted instantiation: AK::Span<AK::String const>::Span()
Unexecuted instantiation: AK::Span<AK::StringView const>::Span()
Unexecuted instantiation: AK::Span<unsigned long const>::Span()
Unexecuted instantiation: AK::Span<signed char const>::Span()
Unexecuted instantiation: AK::Span<short const>::Span()
Unexecuted instantiation: AK::Span<int const>::Span()
Unexecuted instantiation: AK::Span<long const>::Span()
Unexecuted instantiation: AK::Span<double const>::Span()
Unexecuted instantiation: AK::Span<unsigned short>::Span()
Unexecuted instantiation: AK::Span<unsigned int>::Span()
Unexecuted instantiation: AK::Span<unsigned long>::Span()
Unexecuted instantiation: AK::Span<signed char>::Span()
Unexecuted instantiation: AK::Span<short>::Span()
Unexecuted instantiation: AK::Span<int>::Span()
Unexecuted instantiation: AK::Span<long>::Span()
Unexecuted instantiation: AK::Span<double>::Span()
Unexecuted instantiation: AK::Span<Locale::PluralCategory const>::Span()
Unexecuted instantiation: AK::Span<AK::StringView>::Span()
Unexecuted instantiation: AK::Span<AK::OptionParser::Option const>::Span()
Unexecuted instantiation: AK::Span<Web::Painting::BorderRadiiClip const>::Span()
AK::Span<bool>::Span()
Line
Count
Source
128
3.08M
    constexpr Span() = default;
129
130
3.37G
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<unsigned char>::data() const
Line
Count
Source
130
854M
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<unsigned char const>::data() const
Line
Count
Source
130
2.43G
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
Unexecuted instantiation: AK::Span<unsigned short const>::data() const
AK::Span<Gfx::JBIG2::Code>::data() const
Line
Count
Source
130
45
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<float const>::data() const
Line
Count
Source
130
660k
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<short const>::data() const
Line
Count
Source
130
18.0M
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
Unexecuted instantiation: AK::Span<Gfx::ChannelInfo>::data() const
AK::Span<Gfx::Color>::data() const
Line
Count
Source
130
1.27k
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
Unexecuted instantiation: AK::Span<AK::StringView const>::data() const
AK::Span<unsigned long>::data() const
Line
Count
Source
130
49.4M
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<unsigned long const>::data() const
Line
Count
Source
130
16.6k
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
Unexecuted instantiation: AK::Span<unsigned int const>::data() const
AK::Span<unsigned int>::data() const
Line
Count
Source
130
102
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
Unexecuted instantiation: AK::Span<Unicode::BlockName>::data() const
AK::Span<JS::Value>::data() const
Line
Count
Source
130
469k
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<JS::CallExpressionArgument>::data() const
Line
Count
Source
130
990
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
Unexecuted instantiation: AK::Span<JS::DeclarativeEnvironment::Binding>::data() const
Unexecuted instantiation: AK::Span<AK::StringView>::data() const
AK::Span<Shell::AST::Position>::data() const
Line
Count
Source
130
891k
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<Shell::Posix::Token>::data() const
Line
Count
Source
130
17.5M
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<int>::data() const
Line
Count
Source
130
27.3k
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<int const>::data() const
Line
Count
Source
130
51.7k
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
Unexecuted instantiation: AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue> const>::data() const
Unexecuted instantiation: AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue const> const>::data() const
Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::data() const
Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage>::data() const
Unexecuted instantiation: AK::Span<AK::String>::data() const
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> >::data() const
Unexecuted instantiation: AK::Span<float>::data() const
Unexecuted instantiation: AK::Span<double>::data() const
Unexecuted instantiation: AK::Span<AK::Optional<int> const>::data() const
131
5.38G
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<unsigned char const>::data()
Line
Count
Source
131
3.20G
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<unsigned char>::data()
Line
Count
Source
131
2.06G
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<AK::Vector<unsigned char, 0ul> const>::data()
Line
Count
Source
131
219k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Gfx::Symbol> const>::data()
AK::Span<float>::data()
Line
Count
Source
131
660k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<short>::data()
Line
Count
Source
131
18.0M
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
Unexecuted instantiation: AK::Span<Gfx::ChannelInfo const>::data()
Unexecuted instantiation: AK::Span<unsigned int const>::data()
Unexecuted instantiation: AK::Span<Gfx::PathSegment::Command const>::data()
Unexecuted instantiation: AK::Span<Gfx::Point<float> const>::data()
AK::Span<AK::StringView const>::data()
Line
Count
Source
131
46
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
Unexecuted instantiation: AK::Span<char>::data()
Unexecuted instantiation: AK::Span<pollfd>::data()
Unexecuted instantiation: AK::Span<unsigned int>::data()
AK::Span<AK::Variant<XML::ElementDeclaration, XML::AttributeListDeclaration, AK::Variant<XML::GEDeclaration, XML::PEDeclaration>, XML::NotationDeclaration> const>::data()
Line
Count
Source
131
1.95k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<JS::Value>::data()
Line
Count
Source
131
204
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<AK::Vector<unsigned long, 0ul> const>::data()
Line
Count
Source
131
1.21M
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<AK::NonnullRefPtr<JS::Identifier> const>::data()
Line
Count
Source
131
1.32k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<JS::ParserError const>::data()
Line
Count
Source
131
83
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
Unexecuted instantiation: AK::Span<JS::Value const>::data()
Unexecuted instantiation: AK::Span<JS::DeclarativeEnvironment::Binding const>::data()
Unexecuted instantiation: AK::Span<unsigned short const>::data()
Unexecuted instantiation: AK::Span<JS::ImportEntry const>::data()
Unexecuted instantiation: AK::Span<regex::CompareTypeAndValuePair const>::data()
AK::Span<Shell::AST::Position const>::data()
Line
Count
Source
131
891k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
Unexecuted instantiation: AK::Span<Shell::AST::VariableDeclarations::Variable const>::data()
Unexecuted instantiation: AK::Span<AK::String const>::data()
Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Shell::AST::Redirection> const>::data()
Unexecuted instantiation: AK::Span<Shell::AST::Command const>::data()
Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Shell::AST::Value> const>::data()
Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Shell::AST::Node> const>::data()
AK::Span<Shell::Posix::Token const>::data()
Line
Count
Source
131
17.5M
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
Unexecuted instantiation: AK::Span<AK::StringView>::data()
Unexecuted instantiation: AK::Span<int const>::data()
Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Web::HTML::IdleCallback> const>::data()
Unexecuted instantiation: AK::Span<JS::Handle<Web::PerformanceTimeline::PerformanceEntry> const>::data()
Unexecuted instantiation: AK::Span<AK::ByteString const>::data()
Unexecuted instantiation: AK::Span<double const>::data()
Unexecuted instantiation: AK::Span<Wasm::Validator::StackEntry const>::data()
AK::Span<unsigned short>::data()
Line
Count
Source
131
167k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<int>::data()
Line
Count
Source
131
81.1M
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
Unexecuted instantiation: AK::Span<Wasm::ValueType const>::data()
Unexecuted instantiation: AK::Span<AK::DistinctNumeric<unsigned long, Wasm::__FunctionAddress_tag, AK::DistinctNumericFeature::Arithmetic, AK::DistinctNumericFeature::Comparison, AK::DistinctNumericFeature::Increment> const>::data()
Unexecuted instantiation: AK::Span<Wasm::FunctionType const>::data()
Unexecuted instantiation: AK::Span<SQL::TupleElementDescriptor const>::data()
Unexecuted instantiation: AK::Span<SQL::Value const>::data()
132
133
0
    [[nodiscard]] ALWAYS_INLINE constexpr T const* offset_pointer(size_t offset) const { return this->m_values + offset; }
Unexecuted instantiation: AK::Span<unsigned char>::offset_pointer(unsigned long) const
Unexecuted instantiation: AK::Span<unsigned char const>::offset_pointer(unsigned long) const
Unexecuted instantiation: AK::Span<unsigned int const>::offset_pointer(unsigned long) const
134
13.4M
    [[nodiscard]] ALWAYS_INLINE constexpr T* offset_pointer(size_t offset) { return this->m_values + offset; }
AK::Span<unsigned char>::offset_pointer(unsigned long)
Line
Count
Source
134
1.19M
    [[nodiscard]] ALWAYS_INLINE constexpr T* offset_pointer(size_t offset) { return this->m_values + offset; }
AK::Span<unsigned char const>::offset_pointer(unsigned long)
Line
Count
Source
134
12.2M
    [[nodiscard]] ALWAYS_INLINE constexpr T* offset_pointer(size_t offset) { return this->m_values + offset; }
135
136
    using ConstIterator = SimpleIterator<Span const, T const>;
137
    using Iterator = SimpleIterator<Span, T>;
138
139
2.21k
    constexpr ConstIterator begin() const { return ConstIterator::begin(*this); }
Unexecuted instantiation: AK::Span<unsigned char const>::begin() const
AK::Span<Gfx::JBIG2::Code const>::begin() const
Line
Count
Source
139
2.21k
    constexpr ConstIterator begin() const { return ConstIterator::begin(*this); }
Unexecuted instantiation: AK::Span<OpenType::CBLC::BitmapSize const>::begin() const
Unexecuted instantiation: AK::Span<OpenType::FeatureRecord const>::begin() const
Unexecuted instantiation: AK::Span<unsigned int const>::begin() const
Unexecuted instantiation: AK::Span<JS::Value const>::begin() const
Unexecuted instantiation: AK::Span<AK::String const>::begin() const
Unexecuted instantiation: AK::Span<unsigned short const>::begin() const
Unexecuted instantiation: AK::Span<AK::StringView>::begin() const
Unexecuted instantiation: AK::Span<AK::FlyString const>::begin() const
140
85.3M
    constexpr Iterator begin() { return Iterator::begin(*this); }
AK::Span<unsigned char>::begin()
Line
Count
Source
140
181k
    constexpr Iterator begin() { return Iterator::begin(*this); }
AK::Span<unsigned char const>::begin()
Line
Count
Source
140
6.07M
    constexpr Iterator begin() { return Iterator::begin(*this); }
AK::Span<Gfx::JPEG2000::SubBand const>::begin()
Line
Count
Source
140
17.1k
    constexpr Iterator begin() { return Iterator::begin(*this); }
Unexecuted instantiation: AK::Span<Gfx::Channel>::begin()
AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::begin()
Line
Count
Source
140
730
    constexpr Iterator begin() { return Iterator::begin(*this); }
AK::Span<Gfx::Line<float> const>::begin()
Line
Count
Source
140
439k
    constexpr Iterator begin() { return Iterator::begin(*this); }
Unexecuted instantiation: AK::Span<OpenType::EBLC::IndexSubTableArray const>::begin()
Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::begin()
Unexecuted instantiation: AK::Span<Gfx::Point<float> const>::begin()
AK::Span<unsigned short const>::begin()
Line
Count
Source
140
53.3k
    constexpr Iterator begin() { return Iterator::begin(*this); }
AK::Span<unsigned long const>::begin()
Line
Count
Source
140
77.9M
    constexpr Iterator begin() { return Iterator::begin(*this); }
Unexecuted instantiation: AK::Span<addrinfo const>::begin()
Unexecuted instantiation: EventLoopImplementationUnix.cpp:AK::Span<Core::(anonymous namespace)::EventLoopTimeout* const>::begin()
Unexecuted instantiation: AK::Span<pollfd>::begin()
Unexecuted instantiation: AK::Span<unsigned int>::begin()
AK::Span<Unicode::SpecialCasing const>::begin()
Line
Count
Source
140
20.4k
    constexpr Iterator begin() { return Iterator::begin(*this); }
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::begin()
AK::Span<JS::CallExpressionArgument const>::begin()
Line
Count
Source
140
990
    constexpr Iterator begin() { return Iterator::begin(*this); }
Unexecuted instantiation: AK::Span<JS::Value>::begin()
AK::Span<AK::StringView const>::begin()
Line
Count
Source
140
2.36k
    constexpr Iterator begin() { return Iterator::begin(*this); }
Unexecuted instantiation: AK::Span<AK::String const>::begin()
Unexecuted instantiation: AK::Span<TimeZone::TimeZoneIdentifier const>::begin()
Unexecuted instantiation: AK::Span<JS::Intl::PatternPartition const>::begin()
Unexecuted instantiation: AK::Span<Locale::CalendarRangePattern const>::begin()
Unexecuted instantiation: AK::Span<Locale::PluralCategory const>::begin()
Unexecuted instantiation: AK::Span<JS::Temporal::CalendarMethod const>::begin()
Unexecuted instantiation: AK::Span<JS::Temporal::TimeZoneMethod const>::begin()
Unexecuted instantiation: AK::Span<JS::Value const>::begin()
AK::Span<regex::ByteCode>::begin()
Line
Count
Source
140
5.45k
    constexpr Iterator begin() { return Iterator::begin(*this); }
Unexecuted instantiation: AK::Span<unsigned int const>::begin()
AK::Span<unsigned short>::begin()
Line
Count
Source
140
587k
    constexpr Iterator begin() { return Iterator::begin(*this); }
Unexecuted instantiation: AK::Span<Audio::Sample const>::begin()
Unexecuted instantiation: AK::Span<AK::StringView>::begin()
AK::Span<int const>::begin()
Line
Count
Source
140
358
    constexpr Iterator begin() { return Iterator::begin(*this); }
Unexecuted instantiation: AK::Span<Web::CSS::PropertyID const>::begin()
Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::begin()
Unexecuted instantiation: AK::Span<AK::Span<unsigned char const> >::begin()
Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage const>::begin()
Unexecuted instantiation: AK::Span<unsigned long>::begin()
Unexecuted instantiation: AK::Span<Web::HTML::SelectedFile>::begin()
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> const>::begin()
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::HTML::VideoTrack> >::begin()
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::FileAPI::Blob> const>::begin()
Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::FilterOperation::Blur, Web::CSS::FilterOperation::DropShadow, Web::CSS::FilterOperation::HueRotate, Web::CSS::FilterOperation::Color> const>::begin()
Unexecuted instantiation: AK::Span<AK::ByteString const>::begin()
Unexecuted instantiation: AK::Span<Web::HTML::DragDataStoreItem const>::begin()
Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::ResolvedFilter::Blur, Web::CSS::ResolvedFilter::DropShadow, Web::CSS::ResolvedFilter::HueRotate, Web::CSS::ResolvedFilter::Color> const>::begin()
Unexecuted instantiation: AK::Span<Web::SVG::Transform const>::begin()
Unexecuted instantiation: AK::Span<Web::SVG::PathInstruction const>::begin()
Unexecuted instantiation: AK::Span<Wasm::Validator::StackEntry const>::begin()
Unexecuted instantiation: AK::Span<Wasm::ValueType const>::begin()
Unexecuted instantiation: AK::Span<Wasm::Value>::begin()
141
142
2.21k
    constexpr ConstIterator end() const { return ConstIterator::end(*this); }
Unexecuted instantiation: AK::Span<unsigned char const>::end() const
AK::Span<Gfx::JBIG2::Code const>::end() const
Line
Count
Source
142
2.21k
    constexpr ConstIterator end() const { return ConstIterator::end(*this); }
Unexecuted instantiation: AK::Span<OpenType::CBLC::BitmapSize const>::end() const
Unexecuted instantiation: AK::Span<OpenType::FeatureRecord const>::end() const
Unexecuted instantiation: AK::Span<unsigned int const>::end() const
Unexecuted instantiation: AK::Span<JS::Value const>::end() const
Unexecuted instantiation: AK::Span<AK::String const>::end() const
Unexecuted instantiation: AK::Span<unsigned short const>::end() const
Unexecuted instantiation: AK::Span<AK::StringView>::end() const
Unexecuted instantiation: AK::Span<AK::FlyString const>::end() const
143
85.3M
    constexpr Iterator end() { return Iterator::end(*this); }
AK::Span<unsigned char>::end()
Line
Count
Source
143
181k
    constexpr Iterator end() { return Iterator::end(*this); }
AK::Span<unsigned char const>::end()
Line
Count
Source
143
6.07M
    constexpr Iterator end() { return Iterator::end(*this); }
AK::Span<Gfx::JPEG2000::SubBand const>::end()
Line
Count
Source
143
17.1k
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<Gfx::Channel>::end()
AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::end()
Line
Count
Source
143
730
    constexpr Iterator end() { return Iterator::end(*this); }
AK::Span<Gfx::Line<float> const>::end()
Line
Count
Source
143
439k
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<OpenType::EBLC::IndexSubTableArray const>::end()
Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::end()
Unexecuted instantiation: AK::Span<Gfx::Point<float> const>::end()
AK::Span<unsigned short const>::end()
Line
Count
Source
143
53.3k
    constexpr Iterator end() { return Iterator::end(*this); }
AK::Span<unsigned long const>::end()
Line
Count
Source
143
77.9M
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<addrinfo const>::end()
Unexecuted instantiation: EventLoopImplementationUnix.cpp:AK::Span<Core::(anonymous namespace)::EventLoopTimeout* const>::end()
Unexecuted instantiation: AK::Span<pollfd>::end()
Unexecuted instantiation: AK::Span<unsigned int>::end()
AK::Span<Unicode::SpecialCasing const>::end()
Line
Count
Source
143
20.4k
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::end()
AK::Span<JS::CallExpressionArgument const>::end()
Line
Count
Source
143
990
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<JS::Value>::end()
AK::Span<AK::StringView const>::end()
Line
Count
Source
143
2.36k
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<AK::String const>::end()
Unexecuted instantiation: AK::Span<TimeZone::TimeZoneIdentifier const>::end()
Unexecuted instantiation: AK::Span<JS::Intl::PatternPartition const>::end()
Unexecuted instantiation: AK::Span<Locale::CalendarRangePattern const>::end()
Unexecuted instantiation: AK::Span<Locale::PluralCategory const>::end()
Unexecuted instantiation: AK::Span<JS::Temporal::CalendarMethod const>::end()
Unexecuted instantiation: AK::Span<JS::Temporal::TimeZoneMethod const>::end()
Unexecuted instantiation: AK::Span<JS::Value const>::end()
AK::Span<regex::ByteCode>::end()
Line
Count
Source
143
5.45k
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<unsigned int const>::end()
AK::Span<unsigned short>::end()
Line
Count
Source
143
587k
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<Audio::Sample const>::end()
Unexecuted instantiation: AK::Span<AK::StringView>::end()
AK::Span<int const>::end()
Line
Count
Source
143
358
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<Web::CSS::PropertyID const>::end()
Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::end()
Unexecuted instantiation: AK::Span<AK::Span<unsigned char const> >::end()
Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage const>::end()
Unexecuted instantiation: AK::Span<Web::HTML::SelectedFile>::end()
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> const>::end()
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::HTML::VideoTrack> >::end()
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::FileAPI::Blob> const>::end()
Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::FilterOperation::Blur, Web::CSS::FilterOperation::DropShadow, Web::CSS::FilterOperation::HueRotate, Web::CSS::FilterOperation::Color> const>::end()
Unexecuted instantiation: AK::Span<AK::ByteString const>::end()
Unexecuted instantiation: AK::Span<Web::HTML::DragDataStoreItem const>::end()
Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::ResolvedFilter::Blur, Web::CSS::ResolvedFilter::DropShadow, Web::CSS::ResolvedFilter::HueRotate, Web::CSS::ResolvedFilter::Color> const>::end()
Unexecuted instantiation: AK::Span<Web::SVG::Transform const>::end()
Unexecuted instantiation: AK::Span<Web::SVG::PathInstruction const>::end()
Unexecuted instantiation: AK::Span<Wasm::Validator::StackEntry const>::end()
Unexecuted instantiation: AK::Span<Wasm::ValueType const>::end()
Unexecuted instantiation: AK::Span<Wasm::Value>::end()
144
145
45.9G
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<unsigned char const>::size() const
Line
Count
Source
145
26.6G
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<unsigned char>::size() const
Line
Count
Source
145
14.0G
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<unsigned short const>::size() const
Line
Count
Source
145
106k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::Point<float> const>::size() const
Line
Count
Source
145
2.13G
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<AK::Vector<unsigned char, 0ul> const>::size() const
Line
Count
Source
145
658k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::JBIG2::Code const>::size() const
Line
Count
Source
145
2.21k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Gfx::Symbol> const>::size() const
AK::Span<Gfx::JBIG2::Code>::size() const
Line
Count
Source
145
45
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<float const>::size() const
Line
Count
Source
145
79.1M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<unsigned int const>::size() const
CCITTDecoder.cpp:AK::Span<Gfx::CCITT::(anonymous namespace)::Change>::size() const
Line
Count
Source
145
275k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::JPEG2000::SubBand const>::size() const
Line
Count
Source
145
17.1k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<float>::size() const
Line
Count
Source
145
8.88M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<short>::size() const
Line
Count
Source
145
19.8M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<short const>::size() const
Line
Count
Source
145
36.1M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<Gfx::ChannelInfo const>::size() const
Unexecuted instantiation: AK::Span<Gfx::ChannelInfo>::size() const
AK::Span<int>::size() const
Line
Count
Source
145
16.6M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<Gfx::Channel>::size() const
Unexecuted instantiation: AK::Span<Gfx::Frame>::size() const
AK::Span<unsigned int>::size() const
Line
Count
Source
145
32.6M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::Color>::size() const
Line
Count
Source
145
1.27k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::Color const>::size() const
Line
Count
Source
145
180k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::size() const
Line
Count
Source
145
730
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::ColorStop const>::size() const
Line
Count
Source
145
97.6M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::Line<float> const>::size() const
Line
Count
Source
145
872k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<Gfx::Point<int> const>::size() const
Unexecuted instantiation: AK::Span<OpenType::Hmtx::LongHorMetric const>::size() const
Unexecuted instantiation: AK::Span<AK::BigEndian<short> const>::size() const
Unexecuted instantiation: AK::Span<OpenType::Kern::Format0Pair const>::size() const
Unexecuted instantiation: AK::Span<OpenType::CBLC::BitmapSize const>::size() const
Unexecuted instantiation: AK::Span<OpenType::EBLC::IndexSubTableArray const>::size() const
Unexecuted instantiation: AK::Span<OpenType::FeatureRecord const>::size() const
Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::size() const
AK::Span<unsigned long const>::size() const
Line
Count
Source
145
2.30G
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<Gfx::PathSegment::Command const>::size() const
AK::Span<AK::StringView const>::size() const
Line
Count
Source
145
2.50k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<unsigned long>::size() const
Line
Count
Source
145
334M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<addrinfo const>::size() const
Unexecuted instantiation: EventLoopImplementationUnix.cpp:AK::Span<Core::(anonymous namespace)::EventLoopTimeout* const>::size() const
Unexecuted instantiation: AK::Span<char>::size() const
Unexecuted instantiation: AK::Span<pollfd>::size() const
AK::Span<Unicode::SpecialCasing const>::size() const
Line
Count
Source
145
22.8k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::size() const
Unexecuted instantiation: AK::Span<Unicode::BlockName>::size() const
AK::Span<AK::Variant<XML::ElementDeclaration, XML::AttributeListDeclaration, AK::Variant<XML::GEDeclaration, XML::PEDeclaration>, XML::NotationDeclaration> const>::size() const
Line
Count
Source
145
5.87k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<JS::Value>::size() const
Unexecuted instantiation: AK::Span<JS::Bytecode::Operand const>::size() const
Unexecuted instantiation: AK::Span<JS::Value const>::size() const
AK::Span<JS::Bytecode::ScopedOperand const>::size() const
Line
Count
Source
145
3
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<AK::Optional<JS::Bytecode::ScopedOperand> const>::size() const
AK::Span<AK::Vector<unsigned long, 0ul> const>::size() const
Line
Count
Source
145
3.64M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<JS::CallExpressionArgument const>::size() const
Line
Count
Source
145
5.44k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<AK::NonnullRefPtr<JS::Identifier> const>::size() const
Line
Count
Source
145
3.98k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<JS::CallExpressionArgument>::size() const
Line
Count
Source
145
990
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<JS::ParserError const>::size() const
Line
Count
Source
145
249
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<JS::DeclarativeEnvironment::Binding>::size() const
Unexecuted instantiation: AK::Span<JS::DeclarativeEnvironment::Binding const>::size() const
Unexecuted instantiation: AK::Span<AK::String const>::size() const
Unexecuted instantiation: AK::Span<TimeZone::TimeZoneIdentifier const>::size() const
Unexecuted instantiation: AK::Span<JS::Intl::PatternPartition const>::size() const
Unexecuted instantiation: AK::Span<Locale::CalendarRangePattern const>::size() const
Unexecuted instantiation: AK::Span<AK::StringView>::size() const
AK::Span<int const>::size() const
Line
Count
Source
145
80.8k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<Locale::PluralCategory const>::size() const
Unexecuted instantiation: AK::Span<JS::Temporal::CalendarMethod const>::size() const
Unexecuted instantiation: AK::Span<JS::Temporal::TimeZoneMethod const>::size() const
AK::Span<JS::Position>::size() const
Line
Count
Source
145
1.19k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<JS::ImportEntry const>::size() const
AK::Span<regex::ByteCode>::size() const
Line
Count
Source
145
38.7M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<regex::CompareTypeAndValuePair const>::size() const
AK::Span<unsigned short>::size() const
Line
Count
Source
145
38.2M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<Audio::Sample const>::size() const
AK::Span<Audio::Sample>::size() const
Line
Count
Source
145
3.20M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Audio::MP3::Tables::ScaleFactorBand const>::size() const
Line
Count
Source
145
500k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Shell::AST::Position>::size() const
Line
Count
Source
145
891k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Shell::AST::Position const>::size() const
Line
Count
Source
145
2.67M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<Shell::AST::VariableDeclarations::Variable const>::size() const
Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Shell::AST::Redirection> const>::size() const
Unexecuted instantiation: AK::Span<Shell::AST::Command const>::size() const
Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Shell::AST::Value> const>::size() const
Unexecuted instantiation: AK::Span<AK::Variant<AK::String, long, Shell::Arithmetic::Operator> >::size() const
Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Shell::AST::Node> const>::size() const
AK::Span<Shell::Posix::Token>::size() const
Line
Count
Source
145
17.5M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Shell::Posix::Token const>::size() const
Line
Count
Source
145
52.5M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<Shell::Shell::RunnablePath>::size() const
Unexecuted instantiation: AK::Span<Line::XtermSuggestionDisplay::PageRange>::size() const
Unexecuted instantiation: AK::Span<AK::OptionParser::Option const>::size() const
Unexecuted instantiation: AK::Span<Web::CSS::Parser::ComponentValue const>::size() const
Unexecuted instantiation: AK::Span<Web::CSS::Parser::Token const>::size() const
Unexecuted instantiation: AK::Span<Web::CSS::PropertyID const>::size() const
Unexecuted instantiation: AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue> const>::size() const
Unexecuted instantiation: AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue const> const>::size() const
Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::size() const
Unexecuted instantiation: AK::Span<AK::Span<unsigned char const> >::size() const
Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage const>::size() const
Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage>::size() const
Unexecuted instantiation: AK::Span<AK::String>::size() const
Unexecuted instantiation: AK::Span<Web::HTML::SelectedFile>::size() const
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> >::size() const
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> const>::size() const
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::HTML::VideoTrack> >::size() const
Unexecuted instantiation: AK::Span<double>::size() const
Unexecuted instantiation: AK::Span<double const>::size() const
Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Web::HTML::IdleCallback> const>::size() const
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::FileAPI::Blob> const>::size() const
Unexecuted instantiation: AK::Span<JS::Handle<Web::PerformanceTimeline::PerformanceEntry> const>::size() const
Unexecuted instantiation: AK::Span<AK::FlyString const>::size() const
Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::FilterOperation::Blur, Web::CSS::FilterOperation::DropShadow, Web::CSS::FilterOperation::HueRotate, Web::CSS::FilterOperation::Color> const>::size() const
Unexecuted instantiation: AK::Span<AK::ByteString const>::size() const
Unexecuted instantiation: AK::Span<Web::HTML::DragDataStoreItem const>::size() const
Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::ResolvedFilter::Blur, Web::CSS::ResolvedFilter::DropShadow, Web::CSS::ResolvedFilter::HueRotate, Web::CSS::ResolvedFilter::Color> const>::size() const
Unexecuted instantiation: AK::Span<Web::Painting::BorderRadiiClip const>::size() const
Unexecuted instantiation: AK::Span<Web::SVG::Transform const>::size() const
Unexecuted instantiation: AK::Span<Web::SVG::PathInstruction const>::size() const
Unexecuted instantiation: AK::Span<AK::Optional<int> const>::size() const
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::UIEvents::PointerEvent> const>::size() const
Unexecuted instantiation: AK::Span<Wasm::Validator::StackEntry const>::size() const
AK::Span<bool>::size() const
Line
Count
Source
145
61.4M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<Wasm::ValueType const>::size() const
Unexecuted instantiation: AK::Span<AK::DistinctNumeric<unsigned long, Wasm::__FunctionAddress_tag, AK::DistinctNumericFeature::Arithmetic, AK::DistinctNumericFeature::Comparison, AK::DistinctNumericFeature::Increment> const>::size() const
Unexecuted instantiation: AK::Span<Wasm::Value>::size() const
Unexecuted instantiation: AK::Span<Wasm::FunctionType const>::size() const
Unexecuted instantiation: AK::Span<SQL::Value const>::size() const
Unexecuted instantiation: AK::Span<SQL::TupleElementDescriptor const>::size() const
146
0
    [[nodiscard]] ALWAYS_INLINE constexpr bool is_null() const { return this->m_values == nullptr; }
Unexecuted instantiation: AK::Span<unsigned short const>::is_null() const
Unexecuted instantiation: AK::Span<unsigned char>::is_null() const
Unexecuted instantiation: AK::Span<unsigned short>::is_null() const
Unexecuted instantiation: AK::Span<unsigned int>::is_null() const
Unexecuted instantiation: AK::Span<unsigned long>::is_null() const
Unexecuted instantiation: AK::Span<signed char>::is_null() const
Unexecuted instantiation: AK::Span<short>::is_null() const
Unexecuted instantiation: AK::Span<int>::is_null() const
Unexecuted instantiation: AK::Span<long>::is_null() const
Unexecuted instantiation: AK::Span<float>::is_null() const
Unexecuted instantiation: AK::Span<double>::is_null() const
Unexecuted instantiation: AK::Span<unsigned char const>::is_null() const
147
964M
    [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }
AK::Span<unsigned char>::is_empty() const
Line
Count
Source
147
95.6M
    [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }
AK::Span<unsigned char const>::is_empty() const
Line
Count
Source
147
629k
    [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }
Unexecuted instantiation: AK::Span<unsigned short const>::is_empty() const
CCITTDecoder.cpp:AK::Span<Gfx::CCITT::(anonymous namespace)::Change>::is_empty() const
Line
Count
Source
147
152k
    [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }
AK::Span<Gfx::ColorStop const>::is_empty() const
Line
Count
Source
147
256k
    [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }
AK::Span<Gfx::Line<float> const>::is_empty() const
Line
Count
Source
147
442k
    [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }
AK::Span<unsigned int const>::is_empty() const
Line
Count
Source
147
52
    [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }
Unexecuted instantiation: AK::Span<JS::Value const>::is_empty() const
Unexecuted instantiation: AK::Span<JS::CallExpressionArgument const>::is_empty() const
Unexecuted instantiation: AK::Span<JS::Value>::is_empty() const
Unexecuted instantiation: AK::Span<AK::StringView const>::is_empty() const
AK::Span<unsigned long>::is_empty() const
Line
Count
Source
147
41.9M
    [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }
AK::Span<unsigned long const>::is_empty() const
Line
Count
Source
147
819M
    [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanXY> const>::is_empty() const
Line
Count
Source
147
6.21M
    [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }
Unexecuted instantiation: AK::Span<AK::Variant<AK::String, long, Shell::Arithmetic::Operator> >::is_empty() const
Unexecuted instantiation: AK::Span<AK::StringView>::is_empty() const
Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::is_empty() const
Unexecuted instantiation: AK::Span<Web::HTML::SelectedFile>::is_empty() const
148
149
    [[nodiscard]] ALWAYS_INLINE constexpr Span slice(size_t start, size_t length) const
150
4.61G
    {
151
4.61G
        VERIFY(start + length <= size());
152
4.61G
        return { this->m_values + start, length };
153
4.61G
    }
AK::Span<unsigned char const>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
1.56G
    {
151
1.56G
        VERIFY(start + length <= size());
152
1.56G
        return { this->m_values + start, length };
153
1.56G
    }
AK::Span<Gfx::Point<float> const>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
1.87G
    {
151
1.87G
        VERIFY(start + length <= size());
152
1.87G
        return { this->m_values + start, length };
153
1.87G
    }
Unexecuted instantiation: AK::Span<unsigned short const>::slice(unsigned long, unsigned long) const
AK::Span<unsigned char>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
995M
    {
151
995M
        VERIFY(start + length <= size());
152
995M
        return { this->m_values + start, length };
153
995M
    }
AK::Span<float const>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
73.0M
    {
151
73.0M
        VERIFY(start + length <= size());
152
73.0M
        return { this->m_values + start, length };
153
73.0M
    }
AK::Span<float>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
2.37M
    {
151
2.37M
        VERIFY(start + length <= size());
152
2.37M
        return { this->m_values + start, length };
153
2.37M
    }
Unexecuted instantiation: AK::Span<unsigned long const>::slice(unsigned long, unsigned long) const
AK::Span<Unicode::SpecialCasing const>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
2.41k
    {
151
2.41k
        VERIFY(start + length <= size());
152
2.41k
        return { this->m_values + start, length };
153
2.41k
    }
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::slice(unsigned long, unsigned long) const
Unexecuted instantiation: AK::Span<JS::DeclarativeEnvironment::Binding>::slice(unsigned long, unsigned long) const
Unexecuted instantiation: AK::Span<JS::Value>::slice(unsigned long, unsigned long) const
AK::Span<unsigned long>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
78.4M
    {
151
78.4M
        VERIFY(start + length <= size());
152
78.4M
        return { this->m_values + start, length };
153
78.4M
    }
Unexecuted instantiation: AK::Span<unsigned int>::slice(unsigned long, unsigned long) const
AK::Span<unsigned short>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
17.0M
    {
151
17.0M
        VERIFY(start + length <= size());
152
17.0M
        return { this->m_values + start, length };
153
17.0M
    }
AK::Span<short>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
864k
    {
151
864k
        VERIFY(start + length <= size());
152
864k
        return { this->m_values + start, length };
153
864k
    }
Unexecuted instantiation: AK::Span<AK::StringView>::slice(unsigned long, unsigned long) const
AK::Span<bool>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
3.08M
    {
151
3.08M
        VERIFY(start + length <= size());
152
3.08M
        return { this->m_values + start, length };
153
3.08M
    }
154
    [[nodiscard]] ALWAYS_INLINE constexpr Span slice(size_t start) const
155
3.28G
    {
156
3.28G
        VERIFY(start <= size());
157
3.28G
        return { this->m_values + start, size() - start };
158
3.28G
    }
AK::Span<unsigned char>::slice(unsigned long) const
Line
Count
Source
155
1.17G
    {
156
1.17G
        VERIFY(start <= size());
157
1.17G
        return { this->m_values + start, size() - start };
158
1.17G
    }
AK::Span<unsigned char const>::slice(unsigned long) const
Line
Count
Source
155
2.10G
    {
156
2.10G
        VERIFY(start <= size());
157
2.10G
        return { this->m_values + start, size() - start };
158
2.10G
    }
CCITTDecoder.cpp:AK::Span<Gfx::CCITT::(anonymous namespace)::Change>::slice(unsigned long) const
Line
Count
Source
155
61.6k
    {
156
61.6k
        VERIFY(start <= size());
157
61.6k
        return { this->m_values + start, size() - start };
158
61.6k
    }
AK::Span<float>::slice(unsigned long) const
Line
Count
Source
155
766k
    {
156
766k
        VERIFY(start <= size());
157
766k
        return { this->m_values + start, size() - start };
158
766k
    }
AK::Span<unsigned int>::slice(unsigned long) const
Line
Count
Source
155
102
    {
156
102
        VERIFY(start <= size());
157
102
        return { this->m_values + start, size() - start };
158
102
    }
Unexecuted instantiation: AK::Span<JS::Value>::slice(unsigned long) const
Unexecuted instantiation: AK::Span<AK::Variant<AK::String, long, Shell::Arithmetic::Operator> >::slice(unsigned long) const
Unexecuted instantiation: AK::Span<AK::StringView>::slice(unsigned long) const
Unexecuted instantiation: AK::Span<unsigned long>::slice(unsigned long) const
159
    [[nodiscard]] ALWAYS_INLINE constexpr Span slice_from_end(size_t count) const
160
64.1k
    {
161
64.1k
        VERIFY(count <= size());
162
64.1k
        return { this->m_values + size() - count, count };
163
64.1k
    }
AK::Span<unsigned char>::slice_from_end(unsigned long) const
Line
Count
Source
160
64.1k
    {
161
64.1k
        VERIFY(count <= size());
162
64.1k
        return { this->m_values + size() - count, count };
163
64.1k
    }
Unexecuted instantiation: AK::Span<unsigned char const>::slice_from_end(unsigned long) const
Unexecuted instantiation: AK::Span<Wasm::Value>::slice_from_end(unsigned long) const
164
165
    [[nodiscard]] ALWAYS_INLINE constexpr Span trim(size_t length) const
166
1.50G
    {
167
1.50G
        return { this->m_values, min(size(), length) };
168
1.50G
    }
AK::Span<unsigned char>::trim(unsigned long) const
Line
Count
Source
166
437M
    {
167
437M
        return { this->m_values, min(size(), length) };
168
437M
    }
AK::Span<unsigned char const>::trim(unsigned long) const
Line
Count
Source
166
1.05G
    {
167
1.05G
        return { this->m_values, min(size(), length) };
168
1.05G
    }
Unexecuted instantiation: AK::Span<AK::StringView const>::trim(unsigned long) const
Unexecuted instantiation: AK::Span<unsigned int>::trim(unsigned long) const
AK::Span<Audio::Sample>::trim(unsigned long) const
Line
Count
Source
166
250k
    {
167
250k
        return { this->m_values, min(size(), length) };
168
250k
    }
Unexecuted instantiation: AK::Span<unsigned long>::trim(unsigned long) const
AK::Span<unsigned short>::trim(unsigned long) const
Line
Count
Source
166
167k
    {
167
167k
        return { this->m_values, min(size(), length) };
168
167k
    }
AK::Span<int>::trim(unsigned long) const
Line
Count
Source
166
14.6M
    {
167
14.6M
        return { this->m_values, min(size(), length) };
168
14.6M
    }
169
170
    [[nodiscard]] Span align_to(size_t alignment) const
171
    {
172
        auto* start = reinterpret_cast<T*>(align_up_to((FlatPtr)data(), alignment));
173
        auto* end = reinterpret_cast<T*>(align_down_to((FlatPtr)(data() + size()), alignment));
174
        if (end < start)
175
            return {};
176
        size_t length = end - start;
177
        return { start, length };
178
    }
179
180
    [[nodiscard]] ALWAYS_INLINE constexpr T* offset(size_t start) const
181
8.98M
    {
182
8.98M
        VERIFY(start < this->m_size);
183
8.98M
        return this->m_values + start;
184
8.98M
    }
AK::Span<unsigned char const>::offset(unsigned long) const
Line
Count
Source
181
8.97M
    {
182
8.97M
        VERIFY(start < this->m_size);
183
8.97M
        return this->m_values + start;
184
8.97M
    }
Unexecuted instantiation: AK::Span<Audio::Sample>::offset(unsigned long) const
AK::Span<unsigned char>::offset(unsigned long) const
Line
Count
Source
181
9.64k
    {
182
9.64k
        VERIFY(start < this->m_size);
183
9.64k
        return this->m_values + start;
184
9.64k
    }
185
186
    ALWAYS_INLINE constexpr void overwrite(size_t offset, void const* data, size_t data_size)
187
145k
    {
188
        // make sure we're not told to write past the end
189
145k
        VERIFY(offset + data_size <= size());
190
145k
        __builtin_memmove(this->data() + offset, data, data_size);
191
145k
    }
192
193
    ALWAYS_INLINE constexpr size_t copy_to(Span<RemoveConst<T>> other) const
194
224M
    {
195
224M
        VERIFY(other.size() >= size());
196
224M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size());
197
224M
    }
AK::Span<unsigned char const>::copy_to(AK::Span<unsigned char>) const
Line
Count
Source
194
40.0M
    {
195
40.0M
        VERIFY(other.size() >= size());
196
40.0M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size());
197
40.0M
    }
AK::Span<float const>::copy_to(AK::Span<float>) const
Line
Count
Source
194
660k
    {
195
660k
        VERIFY(other.size() >= size());
196
660k
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size());
197
660k
    }
AK::Span<short const>::copy_to(AK::Span<short>) const
Line
Count
Source
194
18.0M
    {
195
18.0M
        VERIFY(other.size() >= size());
196
18.0M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size());
197
18.0M
    }
AK::Span<unsigned char>::copy_to(AK::Span<unsigned char>) const
Line
Count
Source
194
165M
    {
195
165M
        VERIFY(other.size() >= size());
196
165M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size());
197
165M
    }
Unexecuted instantiation: AK::Span<AK::StringView>::copy_to(AK::Span<AK::StringView>) const
Unexecuted instantiation: AK::Span<float>::copy_to(AK::Span<float>) const
198
199
    ALWAYS_INLINE constexpr size_t copy_trimmed_to(Span<RemoveConst<T>> other) const
200
1.85G
    {
201
1.85G
        auto const count = min(size(), other.size());
202
1.85G
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), count);
203
1.85G
    }
AK::Span<unsigned char>::copy_trimmed_to(AK::Span<unsigned char>) const
Line
Count
Source
200
667M
    {
201
667M
        auto const count = min(size(), other.size());
202
667M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), count);
203
667M
    }
AK::Span<unsigned char const>::copy_trimmed_to(AK::Span<unsigned char>) const
Line
Count
Source
200
1.18G
    {
201
1.18G
        auto const count = min(size(), other.size());
202
1.18G
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), count);
203
1.18G
    }
204
205
    ALWAYS_INLINE constexpr size_t fill(T const& value)
206
2
    {
207
5
        for (size_t idx = 0; idx < size(); ++idx)
208
3
            data()[idx] = value;
209
210
2
        return size();
211
2
    }
212
213
    template<typename V>
214
    [[nodiscard]] constexpr bool contains_slow(V const& value) const
215
1.81k
    {
216
3.08k
        for (size_t i = 0; i < size(); ++i) {
217
3.05k
            if (Traits<RemoveReference<T>>::equals(at(i), value))
218
1.78k
                return true;
219
3.05k
        }
220
34
        return false;
221
1.81k
    }
Unexecuted instantiation: bool AK::Span<AK::StringView const>::contains_slow<AK::String>(AK::String const&) const
Unexecuted instantiation: bool AK::Span<AK::StringView const>::contains_slow<AK::StringView>(AK::StringView const&) const
Unexecuted instantiation: bool AK::Span<AK::StringView>::contains_slow<AK::StringView>(AK::StringView const&) const
Unexecuted instantiation: bool AK::Span<int const>::contains_slow<int>(int const&) const
bool AK::Span<int>::contains_slow<unsigned short>(unsigned short const&) const
Line
Count
Source
215
1.81k
    {
216
3.08k
        for (size_t i = 0; i < size(); ++i) {
217
3.05k
            if (Traits<RemoveReference<T>>::equals(at(i), value))
218
1.78k
                return true;
219
3.05k
        }
220
34
        return false;
221
1.81k
    }
Unexecuted instantiation: bool AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::contains_slow<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > >(AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const&) const
Unexecuted instantiation: bool AK::Span<int const>::contains_slow<unsigned char>(unsigned char const&) const
Unexecuted instantiation: bool AK::Span<unsigned char>::contains_slow<unsigned char>(unsigned char const&) const
Unexecuted instantiation: bool AK::Span<Web::Bindings::KeyUsage const>::contains_slow<Web::Bindings::KeyUsage>(Web::Bindings::KeyUsage const&) const
Unexecuted instantiation: bool AK::Span<unsigned char const>::contains_slow<unsigned char>(unsigned char const&) const
Unexecuted instantiation: bool AK::Span<AK::StringView const>::contains_slow<AK::ByteString>(AK::ByteString const&) const
222
223
    template<typename V>
224
    [[nodiscard]] constexpr bool filled_with(V const& value) const
225
    {
226
        for (size_t i = 0; i < size(); ++i) {
227
            if (!Traits<RemoveReference<T>>::equals(at(i), value))
228
                return false;
229
        }
230
        return true;
231
    }
232
233
    [[nodiscard]] constexpr bool starts_with(ReadonlySpan<T> other) const
234
6.86k
    {
235
6.86k
        if (size() < other.size())
236
4
            return false;
237
238
6.86k
        return TypedTransfer<T>::compare(data(), other.data(), other.size());
239
6.86k
    }
AK::Span<unsigned char const>::starts_with(AK::Span<unsigned char const>) const
Line
Count
Source
234
6.86k
    {
235
6.86k
        if (size() < other.size())
236
4
            return false;
237
238
6.86k
        return TypedTransfer<T>::compare(data(), other.data(), other.size());
239
6.86k
    }
Unexecuted instantiation: AK::Span<unsigned char>::starts_with(AK::Span<unsigned char const>) const
240
241
    [[nodiscard]] constexpr size_t matching_prefix_length(ReadonlySpan<T> other) const
242
162M
    {
243
162M
        auto maximum_length = min(size(), other.size());
244
245
1.21G
        for (size_t i = 0; i < maximum_length; i++) {
246
1.20G
            if (data()[i] != other.data()[i])
247
157M
                return i;
248
1.20G
        }
249
250
5.86M
        return maximum_length;
251
162M
    }
252
253
    [[nodiscard]] ALWAYS_INLINE constexpr T const& at(size_t index) const
254
1.13G
    {
255
1.13G
        VERIFY(index < this->m_size);
256
1.13G
        return this->m_values[index];
257
1.13G
    }
AK::Span<unsigned char const>::at(unsigned long) const
Line
Count
Source
254
53.3M
    {
255
53.3M
        VERIFY(index < this->m_size);
256
53.3M
        return this->m_values[index];
257
53.3M
    }
AK::Span<Gfx::Point<float> const>::at(unsigned long) const
Line
Count
Source
254
171M
    {
255
171M
        VERIFY(index < this->m_size);
256
171M
        return this->m_values[index];
257
171M
    }
AK::Span<Gfx::JBIG2::Code const>::at(unsigned long) const
Line
Count
Source
254
8.67k
    {
255
8.67k
        VERIFY(index < this->m_size);
256
8.67k
        return this->m_values[index];
257
8.67k
    }
Unexecuted instantiation: AK::Span<unsigned int const>::at(unsigned long) const
AK::Span<unsigned char>::at(unsigned long) const
Line
Count
Source
254
1
    {
255
1
        VERIFY(index < this->m_size);
256
1
        return this->m_values[index];
257
1
    }
AK::Span<Gfx::ColorStop const>::at(unsigned long) const
Line
Count
Source
254
85.6M
    {
255
85.6M
        VERIFY(index < this->m_size);
256
85.6M
        return this->m_values[index];
257
85.6M
    }
Unexecuted instantiation: AK::Span<OpenType::Hmtx::LongHorMetric const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<AK::BigEndian<short> const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<OpenType::Name::NameRecord const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<OpenType::Kern::Format0Pair const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<OpenType::CBLC::BitmapSize const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<OpenType::FeatureRecord const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::at(unsigned long) const
AK::Span<unsigned long>::at(unsigned long) const
Line
Count
Source
254
2.93M
    {
255
2.93M
        VERIFY(index < this->m_size);
256
2.93M
        return this->m_values[index];
257
2.93M
    }
AK::Span<unsigned long const>::at(unsigned long) const
Line
Count
Source
254
819M
    {
255
819M
        VERIFY(index < this->m_size);
256
819M
        return this->m_values[index];
257
819M
    }
Unexecuted instantiation: AK::Span<unsigned short const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<JS::Value const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<AK::String const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<AK::StringView const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<AK::StringView>::at(unsigned long) const
Unexecuted instantiation: AK::Span<int const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<unsigned int>::at(unsigned long) const
AK::Span<Audio::MP3::Tables::ScaleFactorBand const>::at(unsigned long) const
Line
Count
Source
254
6.09M
    {
255
6.09M
        VERIFY(index < this->m_size);
256
6.09M
        return this->m_values[index];
257
6.09M
    }
Unexecuted instantiation: AK::Span<AK::OptionParser::Option const>::at(unsigned long) const
AK::Span<int>::at(unsigned long) const
Line
Count
Source
254
3.05k
    {
255
3.05k
        VERIFY(index < this->m_size);
256
3.05k
        return this->m_values[index];
257
3.05k
    }
Unexecuted instantiation: AK::Span<Web::CSS::Parser::ComponentValue const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<Web::CSS::Parser::Token const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<AK::FlyString const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<Web::Painting::BorderRadiiClip const>::at(unsigned long) const
258
259
    [[nodiscard]] ALWAYS_INLINE constexpr T& at(size_t index)
260
66.7G
    {
261
66.7G
        VERIFY(index < this->m_size);
262
66.7G
        return this->m_values[index];
263
66.7G
    }
AK::Span<unsigned char>::at(unsigned long)
Line
Count
Source
260
10.7G
    {
261
10.7G
        VERIFY(index < this->m_size);
262
10.7G
        return this->m_values[index];
263
10.7G
    }
AK::Span<unsigned char const>::at(unsigned long)
Line
Count
Source
260
23.8G
    {
261
23.8G
        VERIFY(index < this->m_size);
262
23.8G
        return this->m_values[index];
263
23.8G
    }
AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::at(unsigned long)
Line
Count
Source
260
321M
    {
261
321M
        VERIFY(index < this->m_size);
262
321M
        return this->m_values[index];
263
321M
    }
AK::Span<float const>::at(unsigned long)
Line
Count
Source
260
2.53G
    {
261
2.53G
        VERIFY(index < this->m_size);
262
2.53G
        return this->m_values[index];
263
2.53G
    }
AK::Span<unsigned short const>::at(unsigned long)
Line
Count
Source
260
11.4M
    {
261
11.4M
        VERIFY(index < this->m_size);
262
11.4M
        return this->m_values[index];
263
11.4M
    }
CCITTDecoder.cpp:AK::Span<Gfx::CCITT::(anonymous namespace)::Change>::at(unsigned long)
Line
Count
Source
260
151k
    {
261
151k
        VERIFY(index < this->m_size);
262
151k
        return this->m_values[index];
263
151k
    }
AK::Span<Gfx::JPEG2000::SubBand const>::at(unsigned long)
Line
Count
Source
260
39.4k
    {
261
39.4k
        VERIFY(index < this->m_size);
262
39.4k
        return this->m_values[index];
263
39.4k
    }
AK::Span<float>::at(unsigned long)
Line
Count
Source
260
2.65G
    {
261
2.65G
        VERIFY(index < this->m_size);
262
2.65G
        return this->m_values[index];
263
2.65G
    }
Unexecuted instantiation: AK::Span<Gfx::ChannelInfo>::at(unsigned long)
Unexecuted instantiation: AK::Span<Gfx::Channel>::at(unsigned long)
AK::Span<int>::at(unsigned long)
Line
Count
Source
260
23.1G
    {
261
23.1G
        VERIFY(index < this->m_size);
262
23.1G
        return this->m_values[index];
263
23.1G
    }
Unexecuted instantiation: AK::Span<Gfx::Frame>::at(unsigned long)
AK::Span<unsigned int>::at(unsigned long)
Line
Count
Source
260
32.8M
    {
261
32.8M
        VERIFY(index < this->m_size);
262
32.8M
        return this->m_values[index];
263
32.8M
    }
AK::Span<Gfx::Color const>::at(unsigned long)
Line
Count
Source
260
180k
    {
261
180k
        VERIFY(index < this->m_size);
262
180k
        return this->m_values[index];
263
180k
    }
AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::at(unsigned long)
Line
Count
Source
260
440k
    {
261
440k
        VERIFY(index < this->m_size);
262
440k
        return this->m_values[index];
263
440k
    }
AK::Span<Gfx::ColorStop const>::at(unsigned long)
Line
Count
Source
260
16.4M
    {
261
16.4M
        VERIFY(index < this->m_size);
262
16.4M
        return this->m_values[index];
263
16.4M
    }
AK::Span<Gfx::Line<float> const>::at(unsigned long)
Line
Count
Source
260
88.9M
    {
261
88.9M
        VERIFY(index < this->m_size);
262
88.9M
        return this->m_values[index];
263
88.9M
    }
AK::Span<signed char const>::at(unsigned long)
Line
Count
Source
260
267M
    {
261
267M
        VERIFY(index < this->m_size);
262
267M
        return this->m_values[index];
263
267M
    }
Unexecuted instantiation: AK::Span<Gfx::Point<int> const>::at(unsigned long)
Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned int> const>::at(unsigned long)
Unexecuted instantiation: AK::Span<OpenType::EBLC::IndexSubTableArray const>::at(unsigned long)
Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::at(unsigned long)
Unexecuted instantiation: AK::Span<Gfx::Point<float> const>::at(unsigned long)
AK::Span<unsigned long const>::at(unsigned long)
Line
Count
Source
260
1.99G
    {
261
1.99G
        VERIFY(index < this->m_size);
262
1.99G
        return this->m_values[index];
263
1.99G
    }
AK::Span<AK::TypeErasedParameter const>::at(unsigned long)
Line
Count
Source
260
192M
    {
261
192M
        VERIFY(index < this->m_size);
262
192M
        return this->m_values[index];
263
192M
    }
AK::Span<unsigned long>::at(unsigned long)
Line
Count
Source
260
46.8M
    {
261
46.8M
        VERIFY(index < this->m_size);
262
46.8M
        return this->m_values[index];
263
46.8M
    }
Unexecuted instantiation: AK::Span<addrinfo const>::at(unsigned long)
Unexecuted instantiation: EventLoopImplementationUnix.cpp:AK::Span<Core::(anonymous namespace)::EventLoopTimeout* const>::at(unsigned long)
AK::Span<AK::StringView const>::at(unsigned long)
Line
Count
Source
260
6.04k
    {
261
6.04k
        VERIFY(index < this->m_size);
262
6.04k
        return this->m_values[index];
263
6.04k
    }
Unexecuted instantiation: AK::Span<pollfd>::at(unsigned long)
AK::Span<unsigned int const>::at(unsigned long)
Line
Count
Source
260
51
    {
261
51
        VERIFY(index < this->m_size);
262
51
        return this->m_values[index];
263
51
    }
AK::Span<Unicode::SpecialCasing const>::at(unsigned long)
Line
Count
Source
260
5.73k
    {
261
5.73k
        VERIFY(index < this->m_size);
262
5.73k
        return this->m_values[index];
263
5.73k
    }
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::at(unsigned long)
AK::Span<short const>::at(unsigned long)
Line
Count
Source
260
65.5M
    {
261
65.5M
        VERIFY(index < this->m_size);
262
65.5M
        return this->m_values[index];
263
65.5M
    }
AK::Span<char const>::at(unsigned long)
Line
Count
Source
260
50.3M
    {
261
50.3M
        VERIFY(index < this->m_size);
262
50.3M
        return this->m_values[index];
263
50.3M
    }
Unexecuted instantiation: AK::Span<JS::Bytecode::Operand const>::at(unsigned long)
Unexecuted instantiation: AK::Span<JS::Value const>::at(unsigned long)
AK::Span<JS::Bytecode::ScopedOperand const>::at(unsigned long)
Line
Count
Source
260
469k
    {
261
469k
        VERIFY(index < this->m_size);
262
469k
        return this->m_values[index];
263
469k
    }
Unexecuted instantiation: AK::Span<AK::Optional<JS::Bytecode::ScopedOperand> const>::at(unsigned long)
AK::Span<JS::CallExpressionArgument const>::at(unsigned long)
Line
Count
Source
260
996
    {
261
996
        VERIFY(index < this->m_size);
262
996
        return this->m_values[index];
263
996
    }
Unexecuted instantiation: AK::Span<JS::Value>::at(unsigned long)
Unexecuted instantiation: AK::Span<AK::String const>::at(unsigned long)
Unexecuted instantiation: AK::Span<TimeZone::TimeZoneIdentifier const>::at(unsigned long)
Unexecuted instantiation: AK::Span<JS::Intl::PatternPartition const>::at(unsigned long)
Unexecuted instantiation: AK::Span<Locale::CalendarRangePattern const>::at(unsigned long)
Unexecuted instantiation: AK::Span<Locale::PluralCategory const>::at(unsigned long)
AK::Span<int const>::at(unsigned long)
Line
Count
Source
260
564k
    {
261
564k
        VERIFY(index < this->m_size);
262
564k
        return this->m_values[index];
263
564k
    }
Unexecuted instantiation: AK::Span<long const>::at(unsigned long)
Unexecuted instantiation: AK::Span<double const>::at(unsigned long)
Unexecuted instantiation: AK::Span<JS::Temporal::CalendarMethod const>::at(unsigned long)
Unexecuted instantiation: AK::Span<JS::Temporal::TimeZoneMethod const>::at(unsigned long)
AK::Span<JS::Position>::at(unsigned long)
Line
Count
Source
260
5.45k
    {
261
5.45k
        VERIFY(index < this->m_size);
262
5.45k
        return this->m_values[index];
263
5.45k
    }
AK::Span<regex::ByteCode>::at(unsigned long)
Line
Count
Source
260
54.4M
    {
261
54.4M
        VERIFY(index < this->m_size);
262
54.4M
        return this->m_values[index];
263
54.4M
    }
AK::Span<unsigned short>::at(unsigned long)
Line
Count
Source
260
605M
    {
261
605M
        VERIFY(index < this->m_size);
262
605M
        return this->m_values[index];
263
605M
    }
Unexecuted instantiation: AK::Span<Audio::Sample const>::at(unsigned long)
AK::Span<Audio::Sample>::at(unsigned long)
Line
Count
Source
260
5.54M
    {
261
5.54M
        VERIFY(index < this->m_size);
262
5.54M
        return this->m_values[index];
263
5.54M
    }
AK::Span<short>::at(unsigned long)
Line
Count
Source
260
17.2M
    {
261
17.2M
        VERIFY(index < this->m_size);
262
17.2M
        return this->m_values[index];
263
17.2M
    }
AK::Span<Audio::MP3::Tables::ScaleFactorBand const>::at(unsigned long)
Line
Count
Source
260
13.1M
    {
261
13.1M
        VERIFY(index < this->m_size);
262
13.1M
        return this->m_values[index];
263
13.1M
    }
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanXY> const>::at(unsigned long)
Line
Count
Source
260
12.4M
    {
261
12.4M
        VERIFY(index < this->m_size);
262
12.4M
        return this->m_values[index];
263
12.4M
    }
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanVWXY> const>::at(unsigned long)
Line
Count
Source
260
3.11M
    {
261
3.11M
        VERIFY(index < this->m_size);
262
3.11M
        return this->m_values[index];
263
3.11M
    }
Unexecuted instantiation: AK::Span<AK::Variant<AK::String, long, Shell::Arithmetic::Operator> >::at(unsigned long)
Unexecuted instantiation: AK::Span<Shell::Shell::RunnablePath>::at(unsigned long)
Unexecuted instantiation: AK::Span<AK::StringView>::at(unsigned long)
Unexecuted instantiation: AK::Span<Line::XtermSuggestionDisplay::PageRange>::at(unsigned long)
Unexecuted instantiation: AK::Span<Web::CSS::PropertyID const>::at(unsigned long)
Unexecuted instantiation: AK::Span<Web::CSS::Parser::ComponentValue const>::at(unsigned long)
Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::at(unsigned long)
Unexecuted instantiation: AK::Span<AK::Span<unsigned char const> >::at(unsigned long)
Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage const>::at(unsigned long)
Unexecuted instantiation: AK::Span<Web::HTML::SelectedFile>::at(unsigned long)
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> const>::at(unsigned long)
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::HTML::VideoTrack> >::at(unsigned long)
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::FileAPI::Blob> const>::at(unsigned long)
Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::FilterOperation::Blur, Web::CSS::FilterOperation::DropShadow, Web::CSS::FilterOperation::HueRotate, Web::CSS::FilterOperation::Color> const>::at(unsigned long)
Unexecuted instantiation: AK::Span<AK::ByteString const>::at(unsigned long)
Unexecuted instantiation: AK::Span<Web::HTML::DragDataStoreItem const>::at(unsigned long)
Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::ResolvedFilter::Blur, Web::CSS::ResolvedFilter::DropShadow, Web::CSS::ResolvedFilter::HueRotate, Web::CSS::ResolvedFilter::Color> const>::at(unsigned long)
Unexecuted instantiation: AK::Span<Web::SVG::Transform const>::at(unsigned long)
Unexecuted instantiation: AK::Span<Web::SVG::PathInstruction const>::at(unsigned long)
Unexecuted instantiation: AK::Span<AK::FlyString const>::at(unsigned long)
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::UIEvents::PointerEvent> const>::at(unsigned long)
Unexecuted instantiation: AK::Span<Wasm::Validator::StackEntry const>::at(unsigned long)
AK::Span<long>::at(unsigned long)
Line
Count
Source
260
59.3M
    {
261
59.3M
        VERIFY(index < this->m_size);
262
59.3M
        return this->m_values[index];
263
59.3M
    }
AK::Span<bool>::at(unsigned long)
Line
Count
Source
260
67.0M
    {
261
67.0M
        VERIFY(index < this->m_size);
262
67.0M
        return this->m_values[index];
263
67.0M
    }
Unexecuted instantiation: AK::Span<Gfx::Color>::at(unsigned long)
Unexecuted instantiation: AK::Span<Wasm::ValueType const>::at(unsigned long)
Unexecuted instantiation: AK::Span<Wasm::Value>::at(unsigned long)
Unexecuted instantiation: AK::Span<SQL::Value const>::at(unsigned long)
264
265
    [[nodiscard]] ALWAYS_INLINE constexpr T const& first() const
266
529k
    {
267
529k
        return this->at(0);
268
529k
    }
269
270
    [[nodiscard]] ALWAYS_INLINE constexpr T& first()
271
152k
    {
272
152k
        return this->at(0);
273
152k
    }
Unexecuted instantiation: AK::Span<Gfx::ColorStop const>::first()
AK::Span<Gfx::Line<float> const>::first()
Line
Count
Source
271
152k
    {
272
152k
        return this->at(0);
273
152k
    }
Unexecuted instantiation: AK::Span<unsigned char const>::first()
Unexecuted instantiation: AK::Span<AK::Variant<AK::String, long, Shell::Arithmetic::Operator> >::first()
274
275
    [[nodiscard]] ALWAYS_INLINE constexpr T const& last() const
276
166M
    {
277
166M
        return this->at(this->size() - 1);
278
166M
    }
AK::Span<Gfx::Point<float> const>::last() const
Line
Count
Source
276
81.5M
    {
277
81.5M
        return this->at(this->size() - 1);
278
81.5M
    }
AK::Span<Gfx::ColorStop const>::last() const
Line
Count
Source
276
85.0M
    {
277
85.0M
        return this->at(this->size() - 1);
278
85.0M
    }
Unexecuted instantiation: AK::Span<OpenType::Hmtx::LongHorMetric const>::last() const
Unexecuted instantiation: AK::Span<unsigned long>::last() const
Unexecuted instantiation: AK::Span<unsigned long const>::last() const
Unexecuted instantiation: AK::Span<unsigned int>::last() const
279
280
    [[nodiscard]] ALWAYS_INLINE constexpr T& last()
281
11.2M
    {
282
11.2M
        return this->at(this->size() - 1);
283
11.2M
    }
Unexecuted instantiation: AK::Span<unsigned char const>::last()
AK::Span<Gfx::ColorStop const>::last()
Line
Count
Source
281
11.2M
    {
282
11.2M
        return this->at(this->size() - 1);
283
11.2M
    }
AK::Span<unsigned char>::last()
Line
Count
Source
281
5.33k
    {
282
5.33k
        return this->at(this->size() - 1);
283
5.33k
    }
Unexecuted instantiation: AK::Span<JS::Value>::last()
Unexecuted instantiation: AK::Span<AK::StringView>::last()
284
285
    [[nodiscard]] ALWAYS_INLINE constexpr T const& operator[](size_t index) const
286
939M
    {
287
939M
        return at(index);
288
939M
    }
AK::Span<unsigned char const>::operator[](unsigned long) const
Line
Count
Source
286
21.1M
    {
287
21.1M
        return at(index);
288
21.1M
    }
AK::Span<Gfx::Point<float> const>::operator[](unsigned long) const
Line
Count
Source
286
90.2M
    {
287
90.2M
        return at(index);
288
90.2M
    }
AK::Span<Gfx::JBIG2::Code const>::operator[](unsigned long) const
Line
Count
Source
286
8.67k
    {
287
8.67k
        return at(index);
288
8.67k
    }
Unexecuted instantiation: AK::Span<unsigned int const>::operator[](unsigned long) const
AK::Span<unsigned char>::operator[](unsigned long) const
Line
Count
Source
286
1
    {
287
1
        return at(index);
288
1
    }
Unexecuted instantiation: AK::Span<OpenType::Hmtx::LongHorMetric const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<AK::BigEndian<short> const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<OpenType::Name::NameRecord const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<OpenType::Kern::Format0Pair const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<OpenType::CBLC::BitmapSize const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<OpenType::FeatureRecord const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::operator[](unsigned long) const
AK::Span<unsigned long>::operator[](unsigned long) const
Line
Count
Source
286
2.93M
    {
287
2.93M
        return at(index);
288
2.93M
    }
AK::Span<unsigned long const>::operator[](unsigned long) const
Line
Count
Source
286
819M
    {
287
819M
        return at(index);
288
819M
    }
Unexecuted instantiation: AK::Span<unsigned short const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<JS::Value const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<AK::String const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<unsigned int>::operator[](unsigned long) const
AK::Span<Audio::MP3::Tables::ScaleFactorBand const>::operator[](unsigned long) const
Line
Count
Source
286
6.09M
    {
287
6.09M
        return at(index);
288
6.09M
    }
Unexecuted instantiation: AK::Span<AK::StringView>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<AK::OptionParser::Option const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<Web::CSS::Parser::ComponentValue const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<Web::CSS::Parser::Token const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<AK::FlyString const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<Web::Painting::BorderRadiiClip const>::operator[](unsigned long) const
289
290
    void reverse()
291
    {
292
        for (size_t i = 0; i < size() / 2; ++i)
293
            AK::swap(at(i), at(size() - i - 1));
294
    }
295
296
    [[nodiscard]] ALWAYS_INLINE constexpr T& operator[](size_t index)
297
66.5G
    {
298
66.5G
        return at(index);
299
66.5G
    }
AK::Span<unsigned char>::operator[](unsigned long)
Line
Count
Source
297
10.7G
    {
298
10.7G
        return at(index);
299
10.7G
    }
AK::Span<unsigned char const>::operator[](unsigned long)
Line
Count
Source
297
23.7G
    {
298
23.7G
        return at(index);
299
23.7G
    }
AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::operator[](unsigned long)
Line
Count
Source
297
321M
    {
298
321M
        return at(index);
299
321M
    }
AK::Span<float const>::operator[](unsigned long)
Line
Count
Source
297
2.53G
    {
298
2.53G
        return at(index);
299
2.53G
    }
AK::Span<unsigned short const>::operator[](unsigned long)
Line
Count
Source
297
11.4M
    {
298
11.4M
        return at(index);
299
11.4M
    }
CCITTDecoder.cpp:AK::Span<Gfx::CCITT::(anonymous namespace)::Change>::operator[](unsigned long)
Line
Count
Source
297
151k
    {
298
151k
        return at(index);
299
151k
    }
AK::Span<Gfx::JPEG2000::SubBand const>::operator[](unsigned long)
Line
Count
Source
297
39.4k
    {
298
39.4k
        return at(index);
299
39.4k
    }
AK::Span<float>::operator[](unsigned long)
Line
Count
Source
297
2.65G
    {
298
2.65G
        return at(index);
299
2.65G
    }
Unexecuted instantiation: AK::Span<Gfx::ChannelInfo>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Gfx::Channel>::operator[](unsigned long)
AK::Span<int>::operator[](unsigned long)
Line
Count
Source
297
23.1G
    {
298
23.1G
        return at(index);
299
23.1G
    }
Unexecuted instantiation: AK::Span<Gfx::Frame>::operator[](unsigned long)
AK::Span<unsigned int>::operator[](unsigned long)
Line
Count
Source
297
32.8M
    {
298
32.8M
        return at(index);
299
32.8M
    }
AK::Span<Gfx::Color const>::operator[](unsigned long)
Line
Count
Source
297
180k
    {
298
180k
        return at(index);
299
180k
    }
AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::operator[](unsigned long)
Line
Count
Source
297
440k
    {
298
440k
        return at(index);
299
440k
    }
AK::Span<Gfx::ColorStop const>::operator[](unsigned long)
Line
Count
Source
297
5.20M
    {
298
5.20M
        return at(index);
299
5.20M
    }
AK::Span<Gfx::Line<float> const>::operator[](unsigned long)
Line
Count
Source
297
88.7M
    {
298
88.7M
        return at(index);
299
88.7M
    }
AK::Span<signed char const>::operator[](unsigned long)
Line
Count
Source
297
267M
    {
298
267M
        return at(index);
299
267M
    }
Unexecuted instantiation: AK::Span<Gfx::Point<int> const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned int> const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<OpenType::EBLC::IndexSubTableArray const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Gfx::Point<float> const>::operator[](unsigned long)
AK::Span<unsigned long const>::operator[](unsigned long)
Line
Count
Source
297
1.99G
    {
298
1.99G
        return at(index);
299
1.99G
    }
AK::Span<unsigned long>::operator[](unsigned long)
Line
Count
Source
297
4.87M
    {
298
4.87M
        return at(index);
299
4.87M
    }
Unexecuted instantiation: AK::Span<addrinfo const>::operator[](unsigned long)
Unexecuted instantiation: EventLoopImplementationUnix.cpp:AK::Span<Core::(anonymous namespace)::EventLoopTimeout* const>::operator[](unsigned long)
AK::Span<AK::StringView const>::operator[](unsigned long)
Line
Count
Source
297
6.04k
    {
298
6.04k
        return at(index);
299
6.04k
    }
Unexecuted instantiation: AK::Span<pollfd>::operator[](unsigned long)
AK::Span<unsigned int const>::operator[](unsigned long)
Line
Count
Source
297
51
    {
298
51
        return at(index);
299
51
    }
AK::Span<Unicode::SpecialCasing const>::operator[](unsigned long)
Line
Count
Source
297
5.73k
    {
298
5.73k
        return at(index);
299
5.73k
    }
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::operator[](unsigned long)
AK::Span<short const>::operator[](unsigned long)
Line
Count
Source
297
65.5M
    {
298
65.5M
        return at(index);
299
65.5M
    }
AK::Span<char const>::operator[](unsigned long)
Line
Count
Source
297
50.3M
    {
298
50.3M
        return at(index);
299
50.3M
    }
Unexecuted instantiation: AK::Span<JS::Bytecode::Operand const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<JS::Value const>::operator[](unsigned long)
AK::Span<JS::Bytecode::ScopedOperand const>::operator[](unsigned long)
Line
Count
Source
297
469k
    {
298
469k
        return at(index);
299
469k
    }
Unexecuted instantiation: AK::Span<AK::Optional<JS::Bytecode::ScopedOperand> const>::operator[](unsigned long)
AK::Span<JS::CallExpressionArgument const>::operator[](unsigned long)
Line
Count
Source
297
996
    {
298
996
        return at(index);
299
996
    }
Unexecuted instantiation: AK::Span<JS::Value>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<AK::String const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<TimeZone::TimeZoneIdentifier const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<JS::Intl::PatternPartition const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Locale::CalendarRangePattern const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Locale::PluralCategory const>::operator[](unsigned long)
AK::Span<int const>::operator[](unsigned long)
Line
Count
Source
297
564k
    {
298
564k
        return at(index);
299
564k
    }
Unexecuted instantiation: AK::Span<long const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<double const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<JS::Temporal::CalendarMethod const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<JS::Temporal::TimeZoneMethod const>::operator[](unsigned long)
AK::Span<JS::Position>::operator[](unsigned long)
Line
Count
Source
297
5.45k
    {
298
5.45k
        return at(index);
299
5.45k
    }
AK::Span<regex::ByteCode>::operator[](unsigned long)
Line
Count
Source
297
54.4M
    {
298
54.4M
        return at(index);
299
54.4M
    }
AK::Span<unsigned short>::operator[](unsigned long)
Line
Count
Source
297
605M
    {
298
605M
        return at(index);
299
605M
    }
Unexecuted instantiation: AK::Span<Audio::Sample const>::operator[](unsigned long)
AK::Span<Audio::Sample>::operator[](unsigned long)
Line
Count
Source
297
5.54M
    {
298
5.54M
        return at(index);
299
5.54M
    }
AK::Span<short>::operator[](unsigned long)
Line
Count
Source
297
17.2M
    {
298
17.2M
        return at(index);
299
17.2M
    }
AK::Span<Audio::MP3::Tables::ScaleFactorBand const>::operator[](unsigned long)
Line
Count
Source
297
13.1M
    {
298
13.1M
        return at(index);
299
13.1M
    }
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanXY> const>::operator[](unsigned long)
Line
Count
Source
297
12.4M
    {
298
12.4M
        return at(index);
299
12.4M
    }
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanVWXY> const>::operator[](unsigned long)
Line
Count
Source
297
3.11M
    {
298
3.11M
        return at(index);
299
3.11M
    }
Unexecuted instantiation: AK::Span<Shell::Shell::RunnablePath>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<AK::StringView>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Line::XtermSuggestionDisplay::PageRange>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Web::CSS::PropertyID const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<AK::Span<unsigned char const> >::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Web::HTML::SelectedFile>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::HTML::VideoTrack> >::operator[](unsigned long)
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::FileAPI::Blob> const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::FilterOperation::Blur, Web::CSS::FilterOperation::DropShadow, Web::CSS::FilterOperation::HueRotate, Web::CSS::FilterOperation::Color> const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<AK::ByteString const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Web::HTML::DragDataStoreItem const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::ResolvedFilter::Blur, Web::CSS::ResolvedFilter::DropShadow, Web::CSS::ResolvedFilter::HueRotate, Web::CSS::ResolvedFilter::Color> const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Web::SVG::Transform const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Web::SVG::PathInstruction const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Wasm::Validator::StackEntry const>::operator[](unsigned long)
AK::Span<long>::operator[](unsigned long)
Line
Count
Source
297
59.3M
    {
298
59.3M
        return at(index);
299
59.3M
    }
AK::Span<bool>::operator[](unsigned long)
Line
Count
Source
297
67.0M
    {
298
67.0M
        return at(index);
299
67.0M
    }
Unexecuted instantiation: AK::Span<Wasm::ValueType const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Wasm::Value>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<SQL::Value const>::operator[](unsigned long)
300
301
    constexpr bool operator==(Span const& other) const
302
1.06M
    {
303
1.06M
        if (size() != other.size())
304
18.4k
            return false;
305
306
1.04M
        return TypedTransfer<T>::compare(data(), other.data(), size());
307
1.06M
    }
AK::Span<unsigned char const>::operator==(AK::Span<unsigned char const> const&) const
Line
Count
Source
302
1.03M
    {
303
1.03M
        if (size() != other.size())
304
17.0k
            return false;
305
306
1.01M
        return TypedTransfer<T>::compare(data(), other.data(), size());
307
1.03M
    }
Unexecuted instantiation: AK::Span<unsigned short const>::operator==(AK::Span<unsigned short const> const&) const
Unexecuted instantiation: AK::Span<AK::StringView const>::operator==(AK::Span<AK::StringView const> const&) const
Unexecuted instantiation: AK::Span<unsigned int const>::operator==(AK::Span<unsigned int const> const&) const
AK::Span<int const>::operator==(AK::Span<int const> const&) const
Line
Count
Source
302
27.3k
    {
303
27.3k
        if (size() != other.size())
304
1.43k
            return false;
305
306
25.8k
        return TypedTransfer<T>::compare(data(), other.data(), size());
307
27.3k
    }
Unexecuted instantiation: AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue> const>::operator==(AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue> const> const&) const
Unexecuted instantiation: AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue const> const>::operator==(AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue const> const> const&) const
Unexecuted instantiation: AK::Span<AK::Optional<int> const>::operator==(AK::Span<AK::Optional<int> const> const&) const
308
309
    ALWAYS_INLINE constexpr operator ReadonlySpan<T>() const
310
88.5M
    {
311
88.5M
        return { data(), size() };
312
88.5M
    }
AK::Span<unsigned char>::operator AK::Span<unsigned char const>() const
Line
Count
Source
310
20.6M
    {
311
20.6M
        return { data(), size() };
312
20.6M
    }
AK::Span<Gfx::JBIG2::Code>::operator AK::Span<Gfx::JBIG2::Code const>() const
Line
Count
Source
310
45
    {
311
45
        return { data(), size() };
312
45
    }
Unexecuted instantiation: AK::Span<Gfx::ChannelInfo>::operator AK::Span<Gfx::ChannelInfo const>() const
AK::Span<Gfx::Color>::operator AK::Span<Gfx::Color const>() const
Line
Count
Source
310
1.27k
    {
311
1.27k
        return { data(), size() };
312
1.27k
    }
AK::Span<unsigned int>::operator AK::Span<unsigned int const>() const
Line
Count
Source
310
102
    {
311
102
        return { data(), size() };
312
102
    }
Unexecuted instantiation: AK::Span<Unicode::BlockName>::operator AK::Span<Unicode::BlockName const>() const
Unexecuted instantiation: AK::Span<JS::Value>::operator AK::Span<JS::Value const>() const
AK::Span<JS::CallExpressionArgument>::operator AK::Span<JS::CallExpressionArgument const>() const
Line
Count
Source
310
990
    {
311
990
        return { data(), size() };
312
990
    }
Unexecuted instantiation: AK::Span<JS::DeclarativeEnvironment::Binding>::operator AK::Span<JS::DeclarativeEnvironment::Binding const>() const
Unexecuted instantiation: AK::Span<AK::StringView>::operator AK::Span<AK::StringView const>() const
AK::Span<unsigned long>::operator AK::Span<unsigned long const>() const
Line
Count
Source
310
49.4M
    {
311
49.4M
        return { data(), size() };
312
49.4M
    }
AK::Span<Shell::AST::Position>::operator AK::Span<Shell::AST::Position const>() const
Line
Count
Source
310
891k
    {
311
891k
        return { data(), size() };
312
891k
    }
AK::Span<Shell::Posix::Token>::operator AK::Span<Shell::Posix::Token const>() const
Line
Count
Source
310
17.5M
    {
311
17.5M
        return { data(), size() };
312
17.5M
    }
AK::Span<int>::operator AK::Span<int const>() const
Line
Count
Source
310
27.3k
    {
311
27.3k
        return { data(), size() };
312
27.3k
    }
Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage>::operator AK::Span<Web::Bindings::KeyUsage const>() const
Unexecuted instantiation: AK::Span<AK::String>::operator AK::Span<AK::String const>() const
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> >::operator AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> const>() const
Unexecuted instantiation: AK::Span<float>::operator AK::Span<float const>() const
Unexecuted instantiation: AK::Span<double>::operator AK::Span<double const>() const
313
};
314
315
template<typename T>
316
struct Traits<Span<T>> : public DefaultTraits<Span<T>> {
317
    static unsigned hash(Span<T> const& span)
318
0
    {
319
0
        unsigned hash = 0;
320
0
        for (auto const& value : span) {
321
0
            auto value_hash = Traits<T>::hash(value);
322
0
            hash = pair_int_hash(hash, value_hash);
323
0
        }
324
0
        return hash;
325
0
    }
326
327
0
    constexpr static bool is_trivial() { return true; }
Unexecuted instantiation: AK::Traits<AK::Span<unsigned char const> >::is_trivial()
Unexecuted instantiation: AK::Traits<AK::Span<unsigned long> >::is_trivial()
Unexecuted instantiation: AK::Traits<AK::Span<unsigned long const> >::is_trivial()
328
};
329
330
template<typename T>
331
using ReadonlySpan = Span<T const>;
332
333
using ReadonlyBytes = ReadonlySpan<u8>;
334
using Bytes = Span<u8>;
335
336
template<typename T>
337
requires(IsTrivial<T>)
338
ReadonlyBytes to_readonly_bytes(Span<T> span)
339
{
340
    return ReadonlyBytes { static_cast<void const*>(span.data()), span.size() * sizeof(T) };
341
}
342
343
template<typename T>
344
requires(IsTrivial<T> && !IsConst<T>)
345
Bytes to_bytes(Span<T> span)
346
{
347
    return Bytes { static_cast<void*>(span.data()), span.size() * sizeof(T) };
348
}
349
350
}
351
352
#if USING_AK_GLOBALLY
353
using AK::Bytes;
354
using AK::ReadonlyBytes;
355
using AK::ReadonlySpan;
356
using AK::Span;
357
using AK::to_bytes;
358
using AK::to_readonly_bytes;
359
#endif