Coverage Report

Created: 2026-09-14 07:15

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/serenity/AK/Span.h
Line
Count
Source
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
5.20M
    ALWAYS_INLINE constexpr Span() = default;
AK::Detail::Span<float>::Span()
Line
Count
Source
22
472k
    ALWAYS_INLINE constexpr Span() = default;
AK::Detail::Span<float const>::Span()
Line
Count
Source
22
217k
    ALWAYS_INLINE constexpr Span() = default;
Unexecuted instantiation: AK::Detail::Span<Gfx::Point<unsigned int> >::Span()
AK::Detail::Span<AK::BigEndian<short> const>::Span()
Line
Count
Source
22
801
    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
20.3k
    ALWAYS_INLINE constexpr Span() = default;
Unexecuted instantiation: AK::Detail::Span<Unicode::CaseFolding const>::Span()
AK::Detail::Span<JS::Value>::Span()
Line
Count
Source
22
102
    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
4.49M
    ALWAYS_INLINE constexpr Span() = default;
23
24
    ALWAYS_INLINE constexpr Span(T* values, size_t size)
25
4.30G
        : m_values(values)
26
4.30G
        , m_size(size)
27
4.30G
    {
28
4.30G
    }
AK::Detail::Span<AK::Vector<unsigned char, 0ul> const>::Span(AK::Vector<unsigned char, 0ul> const*, unsigned long)
Line
Count
Source
25
175k
        : m_values(values)
26
175k
        , m_size(size)
27
175k
    {
28
175k
    }
Unexecuted instantiation: AK::Detail::Span<Gfx::BilevelSubImage const>::Span(Gfx::BilevelSubImage const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::Span(Gfx::JBIG2::AdaptiveTemplatePixel const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Gfx::JBIG2::Code const>::Span(Gfx::JBIG2::Code const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Gfx::JBIG2::Code>::Span(Gfx::JBIG2::Code*, unsigned long)
AK::Detail::Span<unsigned short const>::Span(unsigned short const*, unsigned long)
Line
Count
Source
25
52.3k
        : m_values(values)
26
52.3k
        , m_size(size)
27
52.3k
    {
28
52.3k
    }
AK::Detail::Span<unsigned int const>::Span(unsigned int const*, unsigned long)
Line
Count
Source
25
106
        : m_values(values)
26
106
        , m_size(size)
27
106
    {
28
106
    }
AK::Detail::Span<float const>::Span(float const*, unsigned long)
Line
Count
Source
25
121M
        : m_values(values)
26
121M
        , m_size(size)
27
121M
    {
28
121M
    }
AK::Detail::Span<float>::Span(float*, unsigned long)
Line
Count
Source
25
7.38M
        : m_values(values)
26
7.38M
        , m_size(size)
27
7.38M
    {
28
7.38M
    }
Unexecuted instantiation: AK::Detail::Span<Gfx::CCITT::Change>::Span(Gfx::CCITT::Change*, unsigned long)
AK::Detail::Span<Gfx::JPEG2000::SubBand const>::Span(Gfx::JPEG2000::SubBand const*, unsigned long)
Line
Count
Source
25
233k
        : m_values(values)
26
233k
        , m_size(size)
27
233k
    {
28
233k
    }
Unexecuted instantiation: AK::Detail::Span<Gfx::JPEGXL::ChannelInfo const>::Span(Gfx::JPEGXL::ChannelInfo const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Gfx::JPEGXL::ChannelInfo>::Span(Gfx::JPEGXL::ChannelInfo*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Gfx::JPEGXL::Detail::Channel<int> >::Span(Gfx::JPEGXL::Detail::Channel<int>*, unsigned long)
AK::Detail::Span<int>::Span(int*, unsigned long)
Line
Count
Source
25
42.7M
        : m_values(values)
26
42.7M
        , m_size(size)
27
42.7M
    {
28
42.7M
    }
Unexecuted instantiation: AK::Detail::Span<Gfx::Point<unsigned int> >::Span(Gfx::Point<unsigned int>*, unsigned long)
AK::Detail::Span<unsigned int>::Span(unsigned int*, unsigned long)
Line
Count
Source
25
615
        : m_values(values)
26
615
        , m_size(size)
27
615
    {
28
615
    }
Unexecuted instantiation: AK::Detail::Span<Gfx::Point<int> const>::Span(Gfx::Point<int> const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Gfx::JPEGXL::Detail::Channel<float> const>::Span(Gfx::JPEGXL::Detail::Channel<float> const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Gfx::JPEGXL::Detail::Channel<float> >::Span(Gfx::JPEGXL::Detail::Channel<float>*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Gfx::JPEGXL::Frame>::Span(Gfx::JPEGXL::Frame*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Gfx::Point<unsigned int> const>::Span(Gfx::Point<unsigned int> const*, unsigned long)
AK::Detail::Span<Gfx::Color const>::Span(Gfx::Color const*, unsigned long)
Line
Count
Source
25
830
        : m_values(values)
26
830
        , m_size(size)
27
830
    {
28
830
    }
AK::Detail::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::Span(Gfx::TinyVGDecodedImageData::DrawCommand const*, unsigned long)
Line
Count
Source
25
437
        : m_values(values)
26
437
        , m_size(size)
27
437
    {
28
437
    }
AK::Detail::Span<Gfx::Line<float> const>::Span(Gfx::Line<float> const*, unsigned long)
Line
Count
Source
25
1.71M
        : m_values(values)
26
1.71M
        , m_size(size)
27
1.71M
    {
28
1.71M
    }
AK::Detail::Span<Gfx::Color>::Span(Gfx::Color*, unsigned long)
Line
Count
Source
25
830
        : m_values(values)
26
830
        , m_size(size)
27
830
    {
28
830
    }
AK::Detail::Span<Gfx::ColorStop const>::Span(Gfx::ColorStop const*, unsigned long)
Line
Count
Source
25
14.3M
        : m_values(values)
26
14.3M
        , m_size(size)
27
14.3M
    {
28
14.3M
    }
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
801
        : m_values(values)
26
801
        , m_size(size)
27
801
    {
28
801
    }
AK::Detail::Span<AK::BigEndian<short> const>::Span(AK::BigEndian<short> const*, unsigned long)
Line
Count
Source
25
524
        : m_values(values)
26
524
        , m_size(size)
27
524
    {
28
524
    }
AK::Detail::Span<OpenType::Name::NameRecord const>::Span(OpenType::Name::NameRecord const*, unsigned long)
Line
Count
Source
25
1.07k
        : m_values(values)
26
1.07k
        , m_size(size)
27
1.07k
    {
28
1.07k
    }
AK::Detail::Span<OpenType::CBLC::BitmapSize const>::Span(OpenType::CBLC::BitmapSize const*, unsigned long)
Line
Count
Source
25
304
        : m_values(values)
26
304
        , m_size(size)
27
304
    {
28
304
    }
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
715
        : m_values(values)
26
715
        , m_size(size)
27
715
    {
28
715
    }
AK::Detail::Span<OpenType::Kern::Format0Pair const>::Span(OpenType::Kern::Format0Pair const*, unsigned long)
Line
Count
Source
25
543
        : m_values(values)
26
543
        , m_size(size)
27
543
    {
28
543
    }
AK::Detail::Span<OpenType::ScriptRecord const>::Span(OpenType::ScriptRecord const*, unsigned long)
Line
Count
Source
25
780
        : m_values(values)
26
780
        , m_size(size)
27
780
    {
28
780
    }
AK::Detail::Span<OpenType::FeatureRecord const>::Span(OpenType::FeatureRecord const*, unsigned long)
Line
Count
Source
25
734
        : m_values(values)
26
734
        , m_size(size)
27
734
    {
28
734
    }
AK::Detail::Span<Gfx::Point<float> const>::Span(Gfx::Point<float> const*, unsigned long)
Line
Count
Source
25
2.93G
        : m_values(values)
26
2.93G
        , m_size(size)
27
2.93G
    {
28
2.93G
    }
AK::Detail::Span<unsigned long const>::Span(unsigned long const*, unsigned long)
Line
Count
Source
25
806M
        : m_values(values)
26
806M
        , m_size(size)
27
806M
    {
28
806M
    }
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
143M
        : m_values(values)
26
143M
        , m_size(size)
27
143M
    {
28
143M
    }
AK::Detail::Span<AK::StringView const>::Span(AK::StringView const*, unsigned long)
Line
Count
Source
25
2.59k
        : m_values(values)
26
2.59k
        , m_size(size)
27
2.59k
    {
28
2.59k
    }
AK::Detail::Span<unsigned long>::Span(unsigned long*, unsigned long)
Line
Count
Source
25
113M
        : m_values(values)
26
113M
        , m_size(size)
27
113M
    {
28
113M
    }
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
1.93k
        : m_values(values)
26
1.93k
        , m_size(size)
27
1.93k
    {
28
1.93k
    }
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
8.08k
        : m_values(values)
26
8.08k
        , m_size(size)
27
8.08k
    {
28
8.08k
    }
AK::Detail::Span<char const>::Span(char const*, unsigned long)
Line
Count
Source
25
284
        : m_values(values)
26
284
        , m_size(size)
27
284
    {
28
284
    }
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
2.13k
        : m_values(values)
26
2.13k
        , m_size(size)
27
2.13k
    {
28
2.13k
    }
AK::Detail::Span<JS::Value const>::Span(JS::Value 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<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
44
        : m_values(values)
26
44
        , m_size(size)
27
44
    {
28
44
    }
AK::Detail::Span<JS::CallExpressionArgument const>::Span(JS::CallExpressionArgument const*, unsigned long)
Line
Count
Source
25
6.12k
        : m_values(values)
26
6.12k
        , m_size(size)
27
6.12k
    {
28
6.12k
    }
AK::Detail::Span<JS::Bytecode::ScopedOperand const>::Span(JS::Bytecode::ScopedOperand const*, unsigned long)
Line
Count
Source
25
2
        : m_values(values)
26
2
        , m_size(size)
27
2
    {
28
2
    }
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
20.1k
        : m_values(values)
26
20.1k
        , m_size(size)
27
20.1k
    {
28
20.1k
    }
AK::Detail::Span<JS::ParserError const>::Span(JS::ParserError const*, unsigned long)
Line
Count
Source
25
218
        : m_values(values)
26
218
        , m_size(size)
27
218
    {
28
218
    }
AK::Detail::Span<JS::CallExpressionArgument>::Span(JS::CallExpressionArgument*, unsigned long)
Line
Count
Source
25
3.06k
        : m_values(values)
26
3.06k
        , m_size(size)
27
3.06k
    {
28
3.06k
    }
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
62.9k
        : m_values(values)
26
62.9k
        , m_size(size)
27
62.9k
    {
28
62.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
38.1M
        : m_values(values)
26
38.1M
        , m_size(size)
27
38.1M
    {
28
38.1M
    }
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.32M
        : m_values(values)
26
1.32M
        , m_size(size)
27
1.32M
    {
28
1.32M
    }
AK::Detail::Span<long>::Span(long*, unsigned long)
Line
Count
Source
25
35.4M
        : m_values(values)
26
35.4M
        , m_size(size)
27
35.4M
    {
28
35.4M
    }
Unexecuted instantiation: AK::Detail::Span<double>::Span(double*, unsigned long)
AK::Detail::Span<JS::Position>::Span(JS::Position*, unsigned long)
Line
Count
Source
25
1.71k
        : m_values(values)
26
1.71k
        , m_size(size)
27
1.71k
    {
28
1.71k
    }
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.56M
        : m_values(values)
26
1.56M
        , m_size(size)
27
1.56M
    {
28
1.56M
    }
AK::Detail::Span<AK::Vector<unsigned long, 0ul> const>::Span(AK::Vector<unsigned long, 0ul> const*, unsigned long)
Line
Count
Source
25
923k
        : m_values(values)
26
923k
        , m_size(size)
27
923k
    {
28
923k
    }
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
666k
        : m_values(values)
26
666k
        , m_size(size)
27
666k
    {
28
666k
    }
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
108k
        : m_values(values)
26
108k
        , m_size(size)
27
108k
    {
28
108k
    }
AK::Detail::Span<Audio::MP3::Tables::ScaleFactorBand const>::Span(Audio::MP3::Tables::ScaleFactorBand const*, unsigned long)
Line
Count
Source
25
259k
        : m_values(values)
26
259k
        , m_size(size)
27
259k
    {
28
259k
    }
AK::Detail::Span<Shell::AST::Position const>::Span(Shell::AST::Position const*, unsigned long)
Line
Count
Source
25
647k
        : m_values(values)
26
647k
        , m_size(size)
27
647k
    {
28
647k
    }
AK::Detail::Span<Shell::AST::Position>::Span(Shell::AST::Position*, unsigned long)
Line
Count
Source
25
647k
        : m_values(values)
26
647k
        , m_size(size)
27
647k
    {
28
647k
    }
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.3M
        : m_values(values)
26
17.3M
        , m_size(size)
27
17.3M
    {
28
17.3M
    }
AK::Detail::Span<Shell::Posix::Token>::Span(Shell::Posix::Token*, unsigned long)
Line
Count
Source
25
17.3M
        : m_values(values)
26
17.3M
        , m_size(size)
27
17.3M
    {
28
17.3M
    }
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
6.74M
        : m_values(values)
26
6.74M
        , m_size(size)
27
6.74M
    {
28
6.74M
    }
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
1.88M
        : m_values(values)
33
1.88M
        , m_size(size)
34
1.88M
    {
35
1.88M
    }
AK::Detail::Span<short const>::Span<64ul>(short const (&) [64ul])
Line
Count
Source
32
944k
        : m_values(values)
33
944k
        , m_size(size)
34
944k
    {
35
944k
    }
AK::Detail::Span<short>::Span<64ul>(short (&) [64ul])
Line
Count
Source
32
944k
        : m_values(values)
33
944k
        , m_size(size)
34
944k
    {
35
944k
    }
Unexecuted instantiation: AK::Detail::Span<signed char const>::Span<6ul>(signed char const (&) [6ul])
Unexecuted instantiation: AK::Detail::Span<signed char const>::Span<8ul>(signed char const (&) [8ul])
Unexecuted instantiation: AK::Detail::Span<signed char const>::Span<18ul>(signed char const (&) [18ul])
Unexecuted instantiation: AK::Detail::Span<signed char const>::Span<22ul>(signed char const (&) [22ul])
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<char>::Span<16ul>(char (&) [16ul])
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
2.07M
        : m_values(array.data())
40
2.07M
        , m_size(size)
41
2.07M
    {
42
2.07M
    }
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
60.8k
    ALWAYS_INLINE constexpr Span() = default;
61
62
    ALWAYS_INLINE constexpr Span(u8* values, size_t size)
63
2.15G
        : m_values(values)
64
2.15G
        , m_size(size)
65
2.15G
    {
66
2.15G
    }
67
68
    ALWAYS_INLINE Span(void* values, size_t size)
69
158M
        : m_values(reinterpret_cast<u8*>(values))
70
158M
        , m_size(size)
71
158M
    {
72
158M
    }
73
74
    template<size_t size>
75
    ALWAYS_INLINE constexpr Span(u8 (&values)[size])
76
0
        : m_values(values)
77
0
        , m_size(size)
78
0
    {
79
0
    }
Unexecuted instantiation: AK::Detail::Span<unsigned char>::Span<3ul>(unsigned char (&) [3ul])
Unexecuted instantiation: AK::Detail::Span<unsigned char>::Span<4ul>(unsigned char (&) [4ul])
Unexecuted instantiation: AK::Detail::Span<unsigned char>::Span<256ul>(unsigned char (&) [256ul])
Unexecuted instantiation: AK::Detail::Span<unsigned char>::Span<64ul>(unsigned char (&) [64ul])
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
116k
    ALWAYS_INLINE constexpr Span() = default;
90
91
    ALWAYS_INLINE constexpr Span(u8 const* values, size_t size)
92
4.20G
        : m_values(values)
93
4.20G
        , m_size(size)
94
4.20G
    {
95
4.20G
    }
96
97
    ALWAYS_INLINE Span(void const* values, size_t size)
98
14.4M
        : m_values(reinterpret_cast<u8 const*>(values))
99
14.4M
        , m_size(size)
100
14.4M
    {
101
14.4M
    }
102
103
    ALWAYS_INLINE Span(char const* values, size_t size)
104
89.0M
        : m_values(reinterpret_cast<u8 const*>(values))
105
89.0M
        , m_size(size)
106
89.0M
    {
107
89.0M
    }
108
109
    template<size_t size>
110
    ALWAYS_INLINE constexpr Span(u8 const (&values)[size])
111
4.32k
        : m_values(values)
112
4.32k
        , m_size(size)
113
4.32k
    {
114
4.32k
    }
AK::Detail::Span<unsigned char const>::Span<8ul>(unsigned char const (&) [8ul])
Line
Count
Source
111
280
        : m_values(values)
112
280
        , m_size(size)
113
280
    {
114
280
    }
Unexecuted instantiation: AK::Detail::Span<unsigned char const>::Span<3ul>(unsigned char const (&) [3ul])
AK::Detail::Span<unsigned char const>::Span<4ul>(unsigned char const (&) [4ul])
Line
Count
Source
111
2.39k
        : m_values(values)
112
2.39k
        , m_size(size)
113
2.39k
    {
114
2.39k
    }
AK::Detail::Span<unsigned char const>::Span<12ul>(unsigned char const (&) [12ul])
Line
Count
Source
111
1.65k
        : m_values(values)
112
1.65k
        , m_size(size)
113
1.65k
    {
114
1.65k
    }
Unexecuted instantiation: AK::Detail::Span<unsigned char const>::Span<9ul>(unsigned char const (&) [9ul])
Unexecuted instantiation: AK::Detail::Span<unsigned char const>::Span<11ul>(unsigned char const (&) [11ul])
Unexecuted instantiation: AK::Detail::Span<unsigned char const>::Span<16ul>(unsigned char const (&) [16ul])
Unexecuted instantiation: AK::Detail::Span<unsigned char const>::Span<256ul>(unsigned char const (&) [256ul])
Unexecuted instantiation: AK::Detail::Span<unsigned char const>::Span<64ul>(unsigned char const (&) [64ul])
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
5.38M
    constexpr Span() = default;
AK::Span<unsigned char const>::Span()
Line
Count
Source
128
116k
    constexpr Span() = default;
AK::Span<float>::Span()
Line
Count
Source
128
472k
    constexpr Span() = default;
AK::Span<float const>::Span()
Line
Count
Source
128
217k
    constexpr Span() = default;
Unexecuted instantiation: AK::Span<Gfx::Point<unsigned int> >::Span()
AK::Span<unsigned char>::Span()
Line
Count
Source
128
60.8k
    constexpr Span() = default;
AK::Span<AK::BigEndian<short> const>::Span()
Line
Count
Source
128
801
    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
20.3k
    constexpr Span() = default;
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::Span()
AK::Span<JS::Value>::Span()
Line
Count
Source
128
102
    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
4.49M
    constexpr Span() = default;
129
130
2.14G
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<unsigned char>::data() const
Line
Count
Source
130
352M
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<unsigned char const>::data() const
Line
Count
Source
130
1.74G
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
Unexecuted instantiation: AK::Span<unsigned short const>::data() const
Unexecuted instantiation: AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::data() const
Unexecuted instantiation: AK::Span<Gfx::JBIG2::Code>::data() const
AK::Span<float const>::data() const
Line
Count
Source
130
637k
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<short const>::data() const
Line
Count
Source
130
944k
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::ChannelInfo>::data() const
AK::Span<unsigned int>::data() const
Line
Count
Source
130
106
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<Gfx::Color>::data() const
Line
Count
Source
130
830
    [[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
35.8M
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<unsigned long const>::data() const
Line
Count
Source
130
15.1k
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
Unexecuted instantiation: AK::Span<unsigned int const>::data() const
Unexecuted instantiation: AK::Span<Unicode::BlockName>::data() const
AK::Span<JS::Value>::data() const
Line
Count
Source
130
400k
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<JS::CallExpressionArgument>::data() const
Line
Count
Source
130
3.06k
    [[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
647k
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<Shell::Posix::Token>::data() const
Line
Count
Source
130
17.3M
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<int>::data() const
Line
Count
Source
130
31.2k
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<int const>::data() const
Line
Count
Source
130
59.4k
    [[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
2.99G
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<unsigned char const>::data()
Line
Count
Source
131
1.82G
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<unsigned char>::data()
Line
Count
Source
131
1.05G
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<AK::Vector<unsigned char, 0ul> const>::data()
Line
Count
Source
131
175k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
Unexecuted instantiation: AK::Span<Gfx::BilevelSubImage const>::data()
AK::Span<float>::data()
Line
Count
Source
131
637k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<short>::data()
Line
Count
Source
131
944k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::ChannelInfo const>::data()
Unexecuted instantiation: AK::Span<unsigned int const>::data()
Unexecuted instantiation: AK::Span<Gfx::Point<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
38
    [[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
2.13k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<JS::Value>::data()
Line
Count
Source
131
194
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<AK::Vector<unsigned long, 0ul> const>::data()
Line
Count
Source
131
923k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<AK::NonnullRefPtr<JS::Identifier> const>::data()
Line
Count
Source
131
20.1k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<JS::ParserError const>::data()
Line
Count
Source
131
218
    [[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
647k
    [[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.3M
    [[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
184k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<int>::data()
Line
Count
Source
131
94.2M
    [[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
12.8M
    [[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.16M
    [[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
11.6M
    [[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
0
    constexpr ConstIterator begin() const { return ConstIterator::begin(*this); }
Unexecuted instantiation: AK::Span<unsigned char const>::begin() const
Unexecuted instantiation: AK::Span<Gfx::JBIG2::Code const>::begin() const
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
79.8M
    constexpr Iterator begin() { return Iterator::begin(*this); }
AK::Span<unsigned char>::begin()
Line
Count
Source
140
160k
    constexpr Iterator begin() { return Iterator::begin(*this); }
AK::Span<unsigned char const>::begin()
Line
Count
Source
140
2.15M
    constexpr Iterator begin() { return Iterator::begin(*this); }
Unexecuted instantiation: AK::Span<float>::begin()
AK::Span<Gfx::JPEG2000::SubBand const>::begin()
Line
Count
Source
140
233k
    constexpr Iterator begin() { return Iterator::begin(*this); }
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> >::begin()
Unexecuted instantiation: AK::Span<Gfx::Point<int> const>::begin()
AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::begin()
Line
Count
Source
140
437
    constexpr Iterator begin() { return Iterator::begin(*this); }
AK::Span<Gfx::Line<float> const>::begin()
Line
Count
Source
140
107k
    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
55.8k
    constexpr Iterator begin() { return Iterator::begin(*this); }
AK::Span<unsigned long const>::begin()
Line
Count
Source
140
76.4M
    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
21.3k
    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
3.06k
    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.55k
    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
6.82k
    constexpr Iterator begin() { return Iterator::begin(*this); }
Unexecuted instantiation: AK::Span<unsigned int const>::begin()
AK::Span<unsigned short>::begin()
Line
Count
Source
140
642k
    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
412
    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
0
    constexpr ConstIterator end() const { return ConstIterator::end(*this); }
Unexecuted instantiation: AK::Span<unsigned char const>::end() const
Unexecuted instantiation: AK::Span<Gfx::JBIG2::Code const>::end() const
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
79.8M
    constexpr Iterator end() { return Iterator::end(*this); }
AK::Span<unsigned char>::end()
Line
Count
Source
143
160k
    constexpr Iterator end() { return Iterator::end(*this); }
AK::Span<unsigned char const>::end()
Line
Count
Source
143
2.15M
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<float>::end()
AK::Span<Gfx::JPEG2000::SubBand const>::end()
Line
Count
Source
143
233k
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> >::end()
Unexecuted instantiation: AK::Span<Gfx::Point<int> const>::end()
AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::end()
Line
Count
Source
143
437
    constexpr Iterator end() { return Iterator::end(*this); }
AK::Span<Gfx::Line<float> const>::end()
Line
Count
Source
143
107k
    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
55.8k
    constexpr Iterator end() { return Iterator::end(*this); }
AK::Span<unsigned long const>::end()
Line
Count
Source
143
76.4M
    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
21.3k
    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
3.06k
    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.55k
    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
6.82k
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<unsigned int const>::end()
AK::Span<unsigned short>::end()
Line
Count
Source
143
642k
    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
412
    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
49.8G
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<unsigned char const>::size() const
Line
Count
Source
145
37.6G
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<unsigned char>::size() const
Line
Count
Source
145
7.27G
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<unsigned short const>::size() const
Line
Count
Source
145
111k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::Point<float> const>::size() const
Line
Count
Source
145
1.70G
    [[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
527k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<Gfx::BilevelSubImage const>::size() const
Unexecuted instantiation: AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::size() const
Unexecuted instantiation: AK::Span<Gfx::JBIG2::Code>::size() const
Unexecuted instantiation: AK::Span<unsigned int const>::size() const
AK::Span<float const>::size() const
Line
Count
Source
145
123M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<float>::size() const
Line
Count
Source
145
8.41M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<Gfx::CCITT::Change>::size() const
Unexecuted instantiation: AK::Span<Gfx::JBIG2::Code const>::size() const
AK::Span<Gfx::JPEG2000::SubBand const>::size() const
Line
Count
Source
145
233k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<short>::size() const
Line
Count
Source
145
2.26M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<short const>::size() const
Line
Count
Source
145
1.88M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::ChannelInfo const>::size() const
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::ChannelInfo>::size() const
AK::Span<int>::size() const
Line
Count
Source
145
21.1M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<Gfx::Point<unsigned int> >::size() const
AK::Span<unsigned int>::size() const
Line
Count
Source
145
721
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<int> >::size() const
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> >::size() const
Unexecuted instantiation: AK::Span<Gfx::Point<int> const>::size() const
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Frame>::size() const
Unexecuted instantiation: AK::Span<Gfx::Point<unsigned int> const>::size() const
AK::Span<Gfx::Color>::size() const
Line
Count
Source
145
830
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::Color const>::size() const
Line
Count
Source
145
225k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::size() const
Line
Count
Source
145
437
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::ColorStop const>::size() const
Line
Count
Source
145
21.8M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::Line<float> const>::size() const
Line
Count
Source
145
213k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
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.50G
    [[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.67k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<unsigned long>::size() const
Line
Count
Source
145
336M
    [[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.2k
    [[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
6.40k
    [[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
AK::Span<JS::Value const>::size() const
Line
Count
Source
145
3
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<JS::Bytecode::ScopedOperand const>::size() const
Line
Count
Source
145
2
    [[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
2.77M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<JS::CallExpressionArgument const>::size() const
Line
Count
Source
145
16.8k
    [[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
60.3k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<JS::CallExpressionArgument>::size() const
Line
Count
Source
145
3.06k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<JS::ParserError const>::size() const
Line
Count
Source
145
654
    [[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
92.6k
    [[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
3.43k
    [[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
26.8M
    [[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
30.3M
    [[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
5.24M
    [[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
499k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Shell::AST::Position>::size() const
Line
Count
Source
145
647k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Shell::AST::Position const>::size() const
Line
Count
Source
145
1.94M
    [[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.3M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Shell::Posix::Token const>::size() const
Line
Count
Source
145
51.9M
    [[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
71.3M
    [[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
1.12G
    [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }
AK::Span<unsigned char>::is_empty() const
Line
Count
Source
147
92.3M
    [[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
901k
    [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }
Unexecuted instantiation: AK::Span<unsigned short const>::is_empty() const
Unexecuted instantiation: AK::Span<Gfx::CCITT::Change>::is_empty() const
AK::Span<Gfx::ColorStop const>::is_empty() const
Line
Count
Source
147
502k
    [[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
108k
    [[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
54
    [[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
53.1M
    [[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
972M
    [[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
5.36M
    [[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
3.33G
    {
151
3.33G
        VERIFY(start + length <= size());
152
3.33G
        return { this->m_values + start, length };
153
3.33G
    }
AK::Span<unsigned char const>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
997M
    {
151
997M
        VERIFY(start + length <= size());
152
997M
        return { this->m_values + start, length };
153
997M
    }
AK::Span<Gfx::Point<float> const>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
1.46G
    {
151
1.46G
        VERIFY(start + length <= size());
152
1.46G
        return { this->m_values + start, length };
153
1.46G
    }
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
675M
    {
151
675M
        VERIFY(start + length <= size());
152
675M
        return { this->m_values + start, length };
153
675M
    }
AK::Span<float const>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
117M
    {
151
117M
        VERIFY(start + length <= size());
152
117M
        return { this->m_values + start, length };
153
117M
    }
AK::Span<float>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
2.70M
    {
151
2.70M
        VERIFY(start + length <= size());
152
2.70M
        return { this->m_values + start, length };
153
2.70M
    }
Unexecuted instantiation: AK::Span<unsigned int>::slice(unsigned long, unsigned long) const
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
968
    {
151
968
        VERIFY(start + length <= size());
152
968
        return { this->m_values + start, length };
153
968
    }
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
67.6M
    {
151
67.6M
        VERIFY(start + length <= size());
152
67.6M
        return { this->m_values + start, length };
153
67.6M
    }
AK::Span<unsigned short>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
7.77M
    {
151
7.77M
        VERIFY(start + length <= size());
152
7.77M
        return { this->m_values + start, length };
153
7.77M
    }
AK::Span<short>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
660k
    {
151
660k
        VERIFY(start + length <= size());
152
660k
        return { this->m_values + start, length };
153
660k
    }
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
4.49M
    {
151
4.49M
        VERIFY(start + length <= size());
152
4.49M
        return { this->m_values + start, length };
153
4.49M
    }
154
    [[nodiscard]] ALWAYS_INLINE constexpr Span slice(size_t start) const
155
1.03G
    {
156
1.03G
        VERIFY(start <= size());
157
1.03G
        return { this->m_values + start, size() - start };
158
1.03G
    }
AK::Span<unsigned char>::slice(unsigned long) const
Line
Count
Source
155
439M
    {
156
439M
        VERIFY(start <= size());
157
439M
        return { this->m_values + start, size() - start };
158
439M
    }
AK::Span<unsigned char const>::slice(unsigned long) const
Line
Count
Source
155
598M
    {
156
598M
        VERIFY(start <= size());
157
598M
        return { this->m_values + start, size() - start };
158
598M
    }
Unexecuted instantiation: AK::Span<Gfx::CCITT::Change>::slice(unsigned long) const
AK::Span<float>::slice(unsigned long) const
Line
Count
Source
155
472k
    {
156
472k
        VERIFY(start <= size());
157
472k
        return { this->m_values + start, size() - start };
158
472k
    }
AK::Span<unsigned int>::slice(unsigned long) const
Line
Count
Source
155
106
    {
156
106
        VERIFY(start <= size());
157
106
        return { this->m_values + start, size() - start };
158
106
    }
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
80.8k
    {
161
80.8k
        VERIFY(count <= size());
162
80.8k
        return { this->m_values + size() - count, count };
163
80.8k
    }
AK::Span<unsigned char>::slice_from_end(unsigned long) const
Line
Count
Source
160
74.7k
    {
161
74.7k
        VERIFY(count <= size());
162
74.7k
        return { this->m_values + size() - count, count };
163
74.7k
    }
AK::Span<unsigned char const>::slice_from_end(unsigned long) const
Line
Count
Source
160
6.09k
    {
161
6.09k
        VERIFY(count <= size());
162
6.09k
        return { this->m_values + size() - count, count };
163
6.09k
    }
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.04G
    {
167
1.04G
        return { this->m_values, min(size(), length) };
168
1.04G
    }
AK::Span<unsigned char>::trim(unsigned long) const
Line
Count
Source
166
303M
    {
167
303M
        return { this->m_values, min(size(), length) };
168
303M
    }
AK::Span<unsigned char const>::trim(unsigned long) const
Line
Count
Source
166
719M
    {
167
719M
        return { this->m_values, min(size(), length) };
168
719M
    }
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<int> >::trim(unsigned long) const
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
332k
    {
167
332k
        return { this->m_values, min(size(), length) };
168
332k
    }
Unexecuted instantiation: AK::Span<unsigned long>::trim(unsigned long) const
AK::Span<unsigned short>::trim(unsigned long) const
Line
Count
Source
166
184k
    {
167
184k
        return { this->m_values, min(size(), length) };
168
184k
    }
AK::Span<int>::trim(unsigned long) const
Line
Count
Source
166
17.1M
    {
167
17.1M
        return { this->m_values, min(size(), length) };
168
17.1M
    }
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.75M
    {
182
8.75M
        VERIFY(start < this->m_size);
183
8.75M
        return this->m_values + start;
184
8.75M
    }
AK::Span<unsigned char const>::offset(unsigned long) const
Line
Count
Source
181
8.73M
    {
182
8.73M
        VERIFY(start < this->m_size);
183
8.73M
        return this->m_values + start;
184
8.73M
    }
Unexecuted instantiation: AK::Span<Audio::Sample>::offset(unsigned long) const
AK::Span<unsigned char>::offset(unsigned long) const
Line
Count
Source
181
16.8k
    {
182
16.8k
        VERIFY(start < this->m_size);
183
16.8k
        return this->m_values + start;
184
16.8k
    }
185
186
    ALWAYS_INLINE constexpr void overwrite(size_t offset, void const* data, size_t data_size)
187
47.3k
    {
188
        // make sure we're not told to write past the end
189
47.3k
        VERIFY(offset + data_size <= size());
190
47.3k
        __builtin_memmove(this->data() + offset, data, data_size);
191
47.3k
    }
192
193
    ALWAYS_INLINE constexpr size_t copy_to(Span<RemoveConst<T>> other) const
194
160M
    {
195
160M
        VERIFY(other.size() >= size());
196
160M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size());
197
160M
    }
AK::Span<unsigned char const>::copy_to(AK::Span<unsigned char>) const
Line
Count
Source
194
44.1M
    {
195
44.1M
        VERIFY(other.size() >= size());
196
44.1M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size());
197
44.1M
    }
AK::Span<float const>::copy_to(AK::Span<float>) const
Line
Count
Source
194
637k
    {
195
637k
        VERIFY(other.size() >= size());
196
637k
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size());
197
637k
    }
AK::Span<short const>::copy_to(AK::Span<short>) const
Line
Count
Source
194
944k
    {
195
944k
        VERIFY(other.size() >= size());
196
944k
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size());
197
944k
    }
AK::Span<unsigned char>::copy_to(AK::Span<unsigned char>) const
Line
Count
Source
194
114M
    {
195
114M
        VERIFY(other.size() >= size());
196
114M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size());
197
114M
    }
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
808M
    {
201
808M
        auto const count = min(size(), other.size());
202
808M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), count);
203
808M
    }
AK::Span<unsigned char>::copy_trimmed_to(AK::Span<unsigned char>) const
Line
Count
Source
200
133M
    {
201
133M
        auto const count = min(size(), other.size());
202
133M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), count);
203
133M
    }
AK::Span<unsigned char const>::copy_trimmed_to(AK::Span<unsigned char>) const
Line
Count
Source
200
675M
    {
201
675M
        auto const count = min(size(), other.size());
202
675M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), count);
203
675M
    }
204
205
    ALWAYS_INLINE constexpr size_t fill(T const& value)
206
0
    {
207
0
        for (size_t idx = 0; idx < size(); ++idx)
208
0
            data()[idx] = value;
209
210
0
        return size();
211
0
    }
Unexecuted instantiation: AK::Span<float>::fill(float const&)
Unexecuted instantiation: AK::Span<unsigned char>::fill(unsigned char const&)
212
213
    template<typename V>
214
    [[nodiscard]] constexpr bool contains_slow(V const& value) const
215
1.96k
    {
216
3.16k
        for (size_t i = 0; i < size(); ++i) {
217
3.13k
            if (Traits<RemoveReference<T>>::equals(at(i), value))
218
1.92k
                return true;
219
3.13k
        }
220
35
        return false;
221
1.96k
    }
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.96k
    {
216
3.16k
        for (size_t i = 0; i < size(); ++i) {
217
3.13k
            if (Traits<RemoveReference<T>>::equals(at(i), value))
218
1.92k
                return true;
219
3.13k
        }
220
35
        return false;
221
1.96k
    }
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
4.32k
    {
235
4.32k
        if (size() < other.size())
236
0
            return false;
237
238
4.32k
        return TypedTransfer<T>::compare(data(), other.data(), other.size());
239
4.32k
    }
AK::Span<unsigned char const>::starts_with(AK::Span<unsigned char const>) const
Line
Count
Source
234
4.32k
    {
235
4.32k
        if (size() < other.size())
236
0
            return false;
237
238
4.32k
        return TypedTransfer<T>::compare(data(), other.data(), other.size());
239
4.32k
    }
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
160M
    {
243
160M
        auto maximum_length = min(size(), other.size());
244
245
1.02G
        for (size_t i = 0; i < maximum_length; i++) {
246
1.01G
            if (data()[i] != other.data()[i])
247
154M
                return i;
248
1.01G
        }
249
250
5.36M
        return maximum_length;
251
160M
    }
252
253
    [[nodiscard]] ALWAYS_INLINE constexpr T const& at(size_t index) const
254
1.18G
    {
255
1.18G
        VERIFY(index < this->m_size);
256
1.18G
        return this->m_values[index];
257
1.18G
    }
AK::Span<unsigned char const>::at(unsigned long) const
Line
Count
Source
254
36.4M
    {
255
36.4M
        VERIFY(index < this->m_size);
256
36.4M
        return this->m_values[index];
257
36.4M
    }
AK::Span<Gfx::Point<float> const>::at(unsigned long) const
Line
Count
Source
254
163M
    {
255
163M
        VERIFY(index < this->m_size);
256
163M
        return this->m_values[index];
257
163M
    }
Unexecuted instantiation: AK::Span<unsigned int const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<Gfx::JBIG2::Code const>::at(unsigned long) const
Unexecuted instantiation: AK::Span<Gfx::Point<unsigned int> >::at(unsigned long) const
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<int> >::at(unsigned long) const
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> >::at(unsigned long) const
Unexecuted instantiation: AK::Span<unsigned char>::at(unsigned long) const
AK::Span<Gfx::ColorStop const>::at(unsigned long) const
Line
Count
Source
254
8.06M
    {
255
8.06M
        VERIFY(index < this->m_size);
256
8.06M
        return this->m_values[index];
257
8.06M
    }
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.67M
    {
255
2.67M
        VERIFY(index < this->m_size);
256
2.67M
        return this->m_values[index];
257
2.67M
    }
AK::Span<unsigned long const>::at(unsigned long) const
Line
Count
Source
254
972M
    {
255
972M
        VERIFY(index < this->m_size);
256
972M
        return this->m_values[index];
257
972M
    }
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
5.76M
    {
255
5.76M
        VERIFY(index < this->m_size);
256
5.76M
        return this->m_values[index];
257
5.76M
    }
Unexecuted instantiation: AK::Span<AK::OptionParser::Option const>::at(unsigned long) const
AK::Span<int>::at(unsigned long) const
Line
Count
Source
254
3.13k
    {
255
3.13k
        VERIFY(index < this->m_size);
256
3.13k
        return this->m_values[index];
257
3.13k
    }
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
50.4G
    {
261
50.4G
        VERIFY(index < this->m_size);
262
50.4G
        return this->m_values[index];
263
50.4G
    }
AK::Span<unsigned char>::at(unsigned long)
Line
Count
Source
260
1.65G
    {
261
1.65G
        VERIFY(index < this->m_size);
262
1.65G
        return this->m_values[index];
263
1.65G
    }
AK::Span<unsigned char const>::at(unsigned long)
Line
Count
Source
260
20.2G
    {
261
20.2G
        VERIFY(index < this->m_size);
262
20.2G
        return this->m_values[index];
263
20.2G
    }
Unexecuted instantiation: AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::at(unsigned long)
AK::Span<unsigned int const>::at(unsigned long)
Line
Count
Source
260
53
    {
261
53
        VERIFY(index < this->m_size);
262
53
        return this->m_values[index];
263
53
    }
AK::Span<float const>::at(unsigned long)
Line
Count
Source
260
2.30G
    {
261
2.30G
        VERIFY(index < this->m_size);
262
2.30G
        return this->m_values[index];
263
2.30G
    }
AK::Span<float>::at(unsigned long)
Line
Count
Source
260
2.36G
    {
261
2.36G
        VERIFY(index < this->m_size);
262
2.36G
        return this->m_values[index];
263
2.36G
    }
AK::Span<unsigned short const>::at(unsigned long)
Line
Count
Source
260
12.0M
    {
261
12.0M
        VERIFY(index < this->m_size);
262
12.0M
        return this->m_values[index];
263
12.0M
    }
Unexecuted instantiation: AK::Span<Gfx::CCITT::Change>::at(unsigned long)
AK::Span<Gfx::JPEG2000::SubBand const>::at(unsigned long)
Line
Count
Source
260
269k
    {
261
269k
        VERIFY(index < this->m_size);
262
269k
        return this->m_values[index];
263
269k
    }
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::ChannelInfo>::at(unsigned long)
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<int> >::at(unsigned long)
AK::Span<int>::at(unsigned long)
Line
Count
Source
260
20.5G
    {
261
20.5G
        VERIFY(index < this->m_size);
262
20.5G
        return this->m_values[index];
263
20.5G
    }
Unexecuted instantiation: AK::Span<Gfx::Point<unsigned int> >::at(unsigned long)
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> >::at(unsigned long)
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> const>::at(unsigned long)
Unexecuted instantiation: AK::Span<Gfx::Point<int> const>::at(unsigned long)
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Frame>::at(unsigned long)
Unexecuted instantiation: AK::Span<unsigned int>::at(unsigned long)
AK::Span<Gfx::Color const>::at(unsigned long)
Line
Count
Source
260
225k
    {
261
225k
        VERIFY(index < this->m_size);
262
225k
        return this->m_values[index];
263
225k
    }
AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::at(unsigned long)
Line
Count
Source
260
544k
    {
261
544k
        VERIFY(index < this->m_size);
262
544k
        return this->m_values[index];
263
544k
    }
AK::Span<Gfx::ColorStop const>::at(unsigned long)
Line
Count
Source
260
14.7M
    {
261
14.7M
        VERIFY(index < this->m_size);
262
14.7M
        return this->m_values[index];
263
14.7M
    }
AK::Span<Gfx::Line<float> const>::at(unsigned long)
Line
Count
Source
260
67.7M
    {
261
67.7M
        VERIFY(index < this->m_size);
262
67.7M
        return this->m_values[index];
263
67.7M
    }
Unexecuted instantiation: AK::Span<signed char 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
2.13G
    {
261
2.13G
        VERIFY(index < this->m_size);
262
2.13G
        return this->m_values[index];
263
2.13G
    }
AK::Span<AK::TypeErasedParameter const>::at(unsigned long)
Line
Count
Source
260
143M
    {
261
143M
        VERIFY(index < this->m_size);
262
143M
        return this->m_values[index];
263
143M
    }
AK::Span<unsigned long>::at(unsigned long)
Line
Count
Source
260
57.6M
    {
261
57.6M
        VERIFY(index < this->m_size);
262
57.6M
        return this->m_values[index];
263
57.6M
    }
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.51k
    {
261
6.51k
        VERIFY(index < this->m_size);
262
6.51k
        return this->m_values[index];
263
6.51k
    }
Unexecuted instantiation: AK::Span<pollfd>::at(unsigned long)
AK::Span<Unicode::SpecialCasing const>::at(unsigned long)
Line
Count
Source
260
1.09k
    {
261
1.09k
        VERIFY(index < this->m_size);
262
1.09k
        return this->m_values[index];
263
1.09k
    }
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::at(unsigned long)
AK::Span<short const>::at(unsigned long)
Line
Count
Source
260
65.8M
    {
261
65.8M
        VERIFY(index < this->m_size);
262
65.8M
        return this->m_values[index];
263
65.8M
    }
AK::Span<char const>::at(unsigned long)
Line
Count
Source
260
51.1M
    {
261
51.1M
        VERIFY(index < this->m_size);
262
51.1M
        return this->m_values[index];
263
51.1M
    }
Unexecuted instantiation: AK::Span<JS::Bytecode::Operand const>::at(unsigned long)
AK::Span<JS::Value const>::at(unsigned long)
Line
Count
Source
260
262k
    {
261
262k
        VERIFY(index < this->m_size);
262
262k
        return this->m_values[index];
263
262k
    }
AK::Span<JS::Bytecode::ScopedOperand const>::at(unsigned long)
Line
Count
Source
260
400k
    {
261
400k
        VERIFY(index < this->m_size);
262
400k
        return this->m_values[index];
263
400k
    }
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
3.03k
    {
261
3.03k
        VERIFY(index < this->m_size);
262
3.03k
        return this->m_values[index];
263
3.03k
    }
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
779k
    {
261
779k
        VERIFY(index < this->m_size);
262
779k
        return this->m_values[index];
263
779k
    }
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
15.3k
    {
261
15.3k
        VERIFY(index < this->m_size);
262
15.3k
        return this->m_values[index];
263
15.3k
    }
AK::Span<regex::ByteCode>::at(unsigned long)
Line
Count
Source
260
37.0M
    {
261
37.0M
        VERIFY(index < this->m_size);
262
37.0M
        return this->m_values[index];
263
37.0M
    }
AK::Span<unsigned short>::at(unsigned long)
Line
Count
Source
260
582M
    {
261
582M
        VERIFY(index < this->m_size);
262
582M
        return this->m_values[index];
263
582M
    }
Unexecuted instantiation: AK::Span<Audio::Sample const>::at(unsigned long)
AK::Span<Audio::Sample>::at(unsigned long)
Line
Count
Source
260
7.99M
    {
261
7.99M
        VERIFY(index < this->m_size);
262
7.99M
        return this->m_values[index];
263
7.99M
    }
AK::Span<short>::at(unsigned long)
Line
Count
Source
260
13.2M
    {
261
13.2M
        VERIFY(index < this->m_size);
262
13.2M
        return this->m_values[index];
263
13.2M
    }
AK::Span<Audio::MP3::Tables::ScaleFactorBand const>::at(unsigned long)
Line
Count
Source
260
14.5M
    {
261
14.5M
        VERIFY(index < this->m_size);
262
14.5M
        return this->m_values[index];
263
14.5M
    }
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanXY> const>::at(unsigned long)
Line
Count
Source
260
10.4M
    {
261
10.4M
        VERIFY(index < this->m_size);
262
10.4M
        return this->m_values[index];
263
10.4M
    }
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanVWXY> const>::at(unsigned long)
Line
Count
Source
260
2.81M
    {
261
2.81M
        VERIFY(index < this->m_size);
262
2.81M
        return this->m_values[index];
263
2.81M
    }
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
106M
    {
261
106M
        VERIFY(index < this->m_size);
262
106M
        return this->m_values[index];
263
106M
    }
AK::Span<bool>::at(unsigned long)
Line
Count
Source
260
78.4M
    {
261
78.4M
        VERIFY(index < this->m_size);
262
78.4M
        return this->m_values[index];
263
78.4M
    }
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
291k
    {
267
291k
        return this->at(0);
268
291k
    }
269
270
    [[nodiscard]] ALWAYS_INLINE constexpr T& first()
271
35.3k
    {
272
35.3k
        return this->at(0);
273
35.3k
    }
Unexecuted instantiation: AK::Span<Gfx::ColorStop const>::first()
AK::Span<Gfx::Line<float> const>::first()
Line
Count
Source
271
35.3k
    {
272
35.3k
        return this->at(0);
273
35.3k
    }
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
87.3M
    {
277
87.3M
        return this->at(this->size() - 1);
278
87.3M
    }
AK::Span<Gfx::Point<float> const>::last() const
Line
Count
Source
276
79.5M
    {
277
79.5M
        return this->at(this->size() - 1);
278
79.5M
    }
AK::Span<Gfx::ColorStop const>::last() const
Line
Count
Source
276
7.77M
    {
277
7.77M
        return this->at(this->size() - 1);
278
7.77M
    }
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
13.8M
    {
282
13.8M
        return this->at(this->size() - 1);
283
13.8M
    }
Unexecuted instantiation: AK::Span<unsigned char const>::last()
AK::Span<Gfx::ColorStop const>::last()
Line
Count
Source
281
13.8M
    {
282
13.8M
        return this->at(this->size() - 1);
283
13.8M
    }
AK::Span<unsigned char>::last()
Line
Count
Source
281
8.91k
    {
282
8.91k
        return this->at(this->size() - 1);
283
8.91k
    }
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
1.07G
    {
287
1.07G
        return at(index);
288
1.07G
    }
AK::Span<unsigned char const>::operator[](unsigned long) const
Line
Count
Source
286
10.4M
    {
287
10.4M
        return at(index);
288
10.4M
    }
AK::Span<Gfx::Point<float> const>::operator[](unsigned long) const
Line
Count
Source
286
84.3M
    {
287
84.3M
        return at(index);
288
84.3M
    }
Unexecuted instantiation: AK::Span<unsigned int const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<Gfx::JBIG2::Code const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<Gfx::Point<unsigned int> >::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<int> >::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> >::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<unsigned char>::operator[](unsigned long) const
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.67M
    {
287
2.67M
        return at(index);
288
2.67M
    }
AK::Span<unsigned long const>::operator[](unsigned long) const
Line
Count
Source
286
972M
    {
287
972M
        return at(index);
288
972M
    }
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
5.76M
    {
287
5.76M
        return at(index);
288
5.76M
    }
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
50.1G
    {
298
50.1G
        return at(index);
299
50.1G
    }
AK::Span<unsigned char>::operator[](unsigned long)
Line
Count
Source
297
1.65G
    {
298
1.65G
        return at(index);
299
1.65G
    }
AK::Span<unsigned char const>::operator[](unsigned long)
Line
Count
Source
297
20.1G
    {
298
20.1G
        return at(index);
299
20.1G
    }
Unexecuted instantiation: AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::operator[](unsigned long)
AK::Span<unsigned int const>::operator[](unsigned long)
Line
Count
Source
297
53
    {
298
53
        return at(index);
299
53
    }
AK::Span<float const>::operator[](unsigned long)
Line
Count
Source
297
2.30G
    {
298
2.30G
        return at(index);
299
2.30G
    }
AK::Span<float>::operator[](unsigned long)
Line
Count
Source
297
2.36G
    {
298
2.36G
        return at(index);
299
2.36G
    }
AK::Span<unsigned short const>::operator[](unsigned long)
Line
Count
Source
297
12.0M
    {
298
12.0M
        return at(index);
299
12.0M
    }
Unexecuted instantiation: AK::Span<Gfx::CCITT::Change>::operator[](unsigned long)
AK::Span<Gfx::JPEG2000::SubBand const>::operator[](unsigned long)
Line
Count
Source
297
269k
    {
298
269k
        return at(index);
299
269k
    }
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::ChannelInfo>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<int> >::operator[](unsigned long)
AK::Span<int>::operator[](unsigned long)
Line
Count
Source
297
20.4G
    {
298
20.4G
        return at(index);
299
20.4G
    }
Unexecuted instantiation: AK::Span<Gfx::Point<unsigned int> >::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> >::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Gfx::Point<int> const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Frame>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<unsigned int>::operator[](unsigned long)
AK::Span<Gfx::Color const>::operator[](unsigned long)
Line
Count
Source
297
225k
    {
298
225k
        return at(index);
299
225k
    }
AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::operator[](unsigned long)
Line
Count
Source
297
544k
    {
298
544k
        return at(index);
299
544k
    }
AK::Span<Gfx::ColorStop const>::operator[](unsigned long)
Line
Count
Source
297
846k
    {
298
846k
        return at(index);
299
846k
    }
AK::Span<Gfx::Line<float> const>::operator[](unsigned long)
Line
Count
Source
297
67.7M
    {
298
67.7M
        return at(index);
299
67.7M
    }
Unexecuted instantiation: AK::Span<signed char 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
2.13G
    {
298
2.13G
        return at(index);
299
2.13G
    }
AK::Span<unsigned long>::operator[](unsigned long)
Line
Count
Source
297
4.45M
    {
298
4.45M
        return at(index);
299
4.45M
    }
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.51k
    {
298
6.51k
        return at(index);
299
6.51k
    }
Unexecuted instantiation: AK::Span<pollfd>::operator[](unsigned long)
AK::Span<Unicode::SpecialCasing const>::operator[](unsigned long)
Line
Count
Source
297
1.09k
    {
298
1.09k
        return at(index);
299
1.09k
    }
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::operator[](unsigned long)
AK::Span<short const>::operator[](unsigned long)
Line
Count
Source
297
65.8M
    {
298
65.8M
        return at(index);
299
65.8M
    }
AK::Span<char const>::operator[](unsigned long)
Line
Count
Source
297
51.1M
    {
298
51.1M
        return at(index);
299
51.1M
    }
Unexecuted instantiation: AK::Span<JS::Bytecode::Operand const>::operator[](unsigned long)
AK::Span<JS::Value const>::operator[](unsigned long)
Line
Count
Source
297
262k
    {
298
262k
        return at(index);
299
262k
    }
AK::Span<JS::Bytecode::ScopedOperand const>::operator[](unsigned long)
Line
Count
Source
297
400k
    {
298
400k
        return at(index);
299
400k
    }
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
3.03k
    {
298
3.03k
        return at(index);
299
3.03k
    }
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
779k
    {
298
779k
        return at(index);
299
779k
    }
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
15.3k
    {
298
15.3k
        return at(index);
299
15.3k
    }
AK::Span<regex::ByteCode>::operator[](unsigned long)
Line
Count
Source
297
37.0M
    {
298
37.0M
        return at(index);
299
37.0M
    }
AK::Span<unsigned short>::operator[](unsigned long)
Line
Count
Source
297
582M
    {
298
582M
        return at(index);
299
582M
    }
Unexecuted instantiation: AK::Span<Audio::Sample const>::operator[](unsigned long)
AK::Span<Audio::Sample>::operator[](unsigned long)
Line
Count
Source
297
7.99M
    {
298
7.99M
        return at(index);
299
7.99M
    }
AK::Span<short>::operator[](unsigned long)
Line
Count
Source
297
13.2M
    {
298
13.2M
        return at(index);
299
13.2M
    }
AK::Span<Audio::MP3::Tables::ScaleFactorBand const>::operator[](unsigned long)
Line
Count
Source
297
14.5M
    {
298
14.5M
        return at(index);
299
14.5M
    }
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanXY> const>::operator[](unsigned long)
Line
Count
Source
297
10.4M
    {
298
10.4M
        return at(index);
299
10.4M
    }
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanVWXY> const>::operator[](unsigned long)
Line
Count
Source
297
2.81M
    {
298
2.81M
        return at(index);
299
2.81M
    }
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
106M
    {
298
106M
        return at(index);
299
106M
    }
AK::Span<bool>::operator[](unsigned long)
Line
Count
Source
297
78.4M
    {
298
78.4M
        return at(index);
299
78.4M
    }
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.07M
    {
303
1.07M
        if (size() != other.size())
304
10.1k
            return false;
305
306
1.06M
        return TypedTransfer<T>::compare(data(), other.data(), size());
307
1.07M
    }
AK::Span<unsigned char const>::operator==(AK::Span<unsigned char const> const&) const
Line
Count
Source
302
1.04M
    {
303
1.04M
        if (size() != other.size())
304
8.65k
            return false;
305
306
1.03M
        return TypedTransfer<T>::compare(data(), other.data(), size());
307
1.04M
    }
Unexecuted instantiation: AK::Span<unsigned short const>::operator==(AK::Span<unsigned short const> const&) const
Unexecuted instantiation: AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::operator==(AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel 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
31.2k
    {
303
31.2k
        if (size() != other.size())
304
1.52k
            return false;
305
306
29.7k
        return TypedTransfer<T>::compare(data(), other.data(), size());
307
31.2k
    }
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
158M
    {
311
158M
        return { data(), size() };
312
158M
    }
AK::Span<unsigned char>::operator AK::Span<unsigned char const>() const
Line
Count
Source
310
104M
    {
311
104M
        return { data(), size() };
312
104M
    }
Unexecuted instantiation: AK::Span<Gfx::JBIG2::Code>::operator AK::Span<Gfx::JBIG2::Code const>() const
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::ChannelInfo>::operator AK::Span<Gfx::JPEGXL::ChannelInfo const>() const
AK::Span<unsigned int>::operator AK::Span<unsigned int const>() const
Line
Count
Source
310
106
    {
311
106
        return { data(), size() };
312
106
    }
AK::Span<Gfx::Color>::operator AK::Span<Gfx::Color const>() const
Line
Count
Source
310
830
    {
311
830
        return { data(), size() };
312
830
    }
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
3.06k
    {
311
3.06k
        return { data(), size() };
312
3.06k
    }
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
35.8M
    {
311
35.8M
        return { data(), size() };
312
35.8M
    }
AK::Span<Shell::AST::Position>::operator AK::Span<Shell::AST::Position const>() const
Line
Count
Source
310
647k
    {
311
647k
        return { data(), size() };
312
647k
    }
AK::Span<Shell::Posix::Token>::operator AK::Span<Shell::Posix::Token const>() const
Line
Count
Source
310
17.3M
    {
311
17.3M
        return { data(), size() };
312
17.3M
    }
AK::Span<int>::operator AK::Span<int const>() const
Line
Count
Source
310
31.2k
    {
311
31.2k
        return { data(), size() };
312
31.2k
    }
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