Coverage Report

Created: 2026-02-14 08:01

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.31M
    ALWAYS_INLINE constexpr Span() = default;
AK::Detail::Span<float>::Span()
Line
Count
Source
22
2.27M
    ALWAYS_INLINE constexpr Span() = default;
AK::Detail::Span<float const>::Span()
Line
Count
Source
22
953k
    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
721
    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
23.3k
    ALWAYS_INLINE constexpr Span() = default;
Unexecuted instantiation: AK::Detail::Span<Unicode::CaseFolding const>::Span()
Unexecuted instantiation: AK::Detail::Span<JS::Value>::Span()
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
2.07M
    ALWAYS_INLINE constexpr Span() = default;
23
24
    ALWAYS_INLINE constexpr Span(T* values, size_t size)
25
4.41G
        : m_values(values)
26
4.41G
        , m_size(size)
27
4.41G
    {
28
4.41G
    }
AK::Detail::Span<AK::Vector<unsigned char, 0ul> const>::Span(AK::Vector<unsigned char, 0ul> const*, unsigned long)
Line
Count
Source
25
281k
        : m_values(values)
26
281k
        , m_size(size)
27
281k
    {
28
281k
    }
AK::Detail::Span<Gfx::BilevelSubImage const>::Span(Gfx::BilevelSubImage const*, unsigned long)
Line
Count
Source
25
2
        : m_values(values)
26
2
        , m_size(size)
27
2
    {
28
2
    }
AK::Detail::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::Span(Gfx::JBIG2::AdaptiveTemplatePixel const*, unsigned long)
Line
Count
Source
25
3
        : m_values(values)
26
3
        , m_size(size)
27
3
    {
28
3
    }
AK::Detail::Span<Gfx::JBIG2::Code const>::Span(Gfx::JBIG2::Code const*, unsigned long)
Line
Count
Source
25
19
        : m_values(values)
26
19
        , m_size(size)
27
19
    {
28
19
    }
AK::Detail::Span<Gfx::JBIG2::Code>::Span(Gfx::JBIG2::Code*, unsigned long)
Line
Count
Source
25
2
        : m_values(values)
26
2
        , m_size(size)
27
2
    {
28
2
    }
AK::Detail::Span<unsigned short const>::Span(unsigned short const*, unsigned long)
Line
Count
Source
25
50.3k
        : m_values(values)
26
50.3k
        , m_size(size)
27
50.3k
    {
28
50.3k
    }
AK::Detail::Span<unsigned int const>::Span(unsigned int const*, unsigned long)
Line
Count
Source
25
78
        : m_values(values)
26
78
        , m_size(size)
27
78
    {
28
78
    }
AK::Detail::Span<float const>::Span(float const*, unsigned long)
Line
Count
Source
25
87.6M
        : m_values(values)
26
87.6M
        , m_size(size)
27
87.6M
    {
28
87.6M
    }
AK::Detail::Span<float>::Span(float*, unsigned long)
Line
Count
Source
25
12.2M
        : m_values(values)
26
12.2M
        , m_size(size)
27
12.2M
    {
28
12.2M
    }
AK::Detail::Span<Gfx::CCITT::Change>::Span(Gfx::CCITT::Change*, unsigned long)
Line
Count
Source
25
45.9k
        : m_values(values)
26
45.9k
        , m_size(size)
27
45.9k
    {
28
45.9k
    }
AK::Detail::Span<Gfx::JPEG2000::SubBand const>::Span(Gfx::JPEG2000::SubBand const*, unsigned long)
Line
Count
Source
25
21.1k
        : m_values(values)
26
21.1k
        , m_size(size)
27
21.1k
    {
28
21.1k
    }
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
55.8M
        : m_values(values)
26
55.8M
        , m_size(size)
27
55.8M
    {
28
55.8M
    }
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
1.10k
        : m_values(values)
26
1.10k
        , m_size(size)
27
1.10k
    {
28
1.10k
    }
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
1.33k
        : m_values(values)
26
1.33k
        , m_size(size)
27
1.33k
    {
28
1.33k
    }
AK::Detail::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::Span(Gfx::TinyVGDecodedImageData::DrawCommand const*, unsigned long)
Line
Count
Source
25
734
        : m_values(values)
26
734
        , m_size(size)
27
734
    {
28
734
    }
AK::Detail::Span<Gfx::Line<float> const>::Span(Gfx::Line<float> const*, unsigned long)
Line
Count
Source
25
2.11M
        : m_values(values)
26
2.11M
        , m_size(size)
27
2.11M
    {
28
2.11M
    }
AK::Detail::Span<Gfx::Color>::Span(Gfx::Color*, unsigned long)
Line
Count
Source
25
1.33k
        : m_values(values)
26
1.33k
        , m_size(size)
27
1.33k
    {
28
1.33k
    }
AK::Detail::Span<Gfx::ColorStop const>::Span(Gfx::ColorStop const*, unsigned long)
Line
Count
Source
25
19.2M
        : m_values(values)
26
19.2M
        , m_size(size)
27
19.2M
    {
28
19.2M
    }
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
721
        : m_values(values)
26
721
        , m_size(size)
27
721
    {
28
721
    }
AK::Detail::Span<AK::BigEndian<short> const>::Span(AK::BigEndian<short> const*, unsigned long)
Line
Count
Source
25
424
        : m_values(values)
26
424
        , m_size(size)
27
424
    {
28
424
    }
AK::Detail::Span<OpenType::Name::NameRecord const>::Span(OpenType::Name::NameRecord const*, unsigned long)
Line
Count
Source
25
987
        : m_values(values)
26
987
        , m_size(size)
27
987
    {
28
987
    }
AK::Detail::Span<OpenType::CBLC::BitmapSize const>::Span(OpenType::CBLC::BitmapSize const*, unsigned long)
Line
Count
Source
25
466
        : m_values(values)
26
466
        , m_size(size)
27
466
    {
28
466
    }
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
613
        : m_values(values)
26
613
        , m_size(size)
27
613
    {
28
613
    }
AK::Detail::Span<OpenType::Kern::Format0Pair const>::Span(OpenType::Kern::Format0Pair const*, unsigned long)
Line
Count
Source
25
1.37k
        : m_values(values)
26
1.37k
        , m_size(size)
27
1.37k
    {
28
1.37k
    }
AK::Detail::Span<OpenType::ScriptRecord const>::Span(OpenType::ScriptRecord const*, unsigned long)
Line
Count
Source
25
675
        : m_values(values)
26
675
        , m_size(size)
27
675
    {
28
675
    }
AK::Detail::Span<OpenType::FeatureRecord const>::Span(OpenType::FeatureRecord const*, unsigned long)
Line
Count
Source
25
634
        : m_values(values)
26
634
        , m_size(size)
27
634
    {
28
634
    }
AK::Detail::Span<Gfx::Point<float> const>::Span(Gfx::Point<float> const*, unsigned long)
Line
Count
Source
25
3.36G
        : m_values(values)
26
3.36G
        , m_size(size)
27
3.36G
    {
28
3.36G
    }
AK::Detail::Span<unsigned long const>::Span(unsigned long const*, unsigned long)
Line
Count
Source
25
624M
        : m_values(values)
26
624M
        , m_size(size)
27
624M
    {
28
624M
    }
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
108M
        : m_values(values)
26
108M
        , m_size(size)
27
108M
    {
28
108M
    }
AK::Detail::Span<AK::StringView const>::Span(AK::StringView const*, unsigned long)
Line
Count
Source
25
2.61k
        : m_values(values)
26
2.61k
        , m_size(size)
27
2.61k
    {
28
2.61k
    }
AK::Detail::Span<unsigned long>::Span(unsigned long*, unsigned long)
Line
Count
Source
25
77.7M
        : m_values(values)
26
77.7M
        , m_size(size)
27
77.7M
    {
28
77.7M
    }
Unexecuted instantiation: AK::Detail::Span<addrinfo const>::Span(addrinfo const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<pollfd>::Span(pollfd*, unsigned long)
Unexecuted instantiation: EventLoopImplementationUnix.cpp:AK::Detail::Span<Core::(anonymous namespace)::EventLoopTimeout* const>::Span(Core::(anonymous namespace)::EventLoopTimeout* const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Unicode::BlockName>::Span(Unicode::BlockName*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<Unicode::BlockName const>::Span(Unicode::BlockName const*, unsigned long)
AK::Detail::Span<Unicode::SpecialCasing const>::Span(Unicode::SpecialCasing const*, unsigned long)
Line
Count
Source
25
4.83k
        : m_values(values)
26
4.83k
        , m_size(size)
27
4.83k
    {
28
4.83k
    }
Unexecuted instantiation: AK::Detail::Span<Unicode::CaseFolding const>::Span(Unicode::CaseFolding const*, unsigned long)
AK::Detail::Span<short const>::Span(short const*, unsigned long)
Line
Count
Source
25
6.90k
        : m_values(values)
26
6.90k
        , m_size(size)
27
6.90k
    {
28
6.90k
    }
AK::Detail::Span<char const>::Span(char const*, unsigned long)
Line
Count
Source
25
286
        : m_values(values)
26
286
        , m_size(size)
27
286
    {
28
286
    }
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.00k
        : m_values(values)
26
2.00k
        , m_size(size)
27
2.00k
    {
28
2.00k
    }
Unexecuted instantiation: AK::Detail::Span<JS::Value const>::Span(JS::Value const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<JS::Bytecode::Operand const>::Span(JS::Bytecode::Operand const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<JS::Value>::Span(JS::Value*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<JS::CallExpressionArgument const>::Span(JS::CallExpressionArgument const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<JS::Bytecode::ScopedOperand const>::Span(JS::Bytecode::ScopedOperand const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::Optional<JS::Bytecode::ScopedOperand> const>::Span(AK::Optional<JS::Bytecode::ScopedOperand> const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<AK::NonnullRefPtr<JS::Identifier> const>::Span(AK::NonnullRefPtr<JS::Identifier> const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<JS::ParserError const>::Span(JS::ParserError const*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<JS::CallExpressionArgument>::Span(JS::CallExpressionArgument*, unsigned long)
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
69.0k
        : m_values(values)
26
69.0k
        , m_size(size)
27
69.0k
    {
28
69.0k
    }
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
20.1M
        : m_values(values)
26
20.1M
        , m_size(size)
27
20.1M
    {
28
20.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.33M
        : m_values(values)
26
1.33M
        , m_size(size)
27
1.33M
    {
28
1.33M
    }
AK::Detail::Span<long>::Span(long*, unsigned long)
Line
Count
Source
25
15.8M
        : m_values(values)
26
15.8M
        , m_size(size)
27
15.8M
    {
28
15.8M
    }
Unexecuted instantiation: AK::Detail::Span<double>::Span(double*, unsigned long)
Unexecuted instantiation: AK::Detail::Span<JS::Position>::Span(JS::Position*, unsigned long)
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.10M
        : m_values(values)
26
1.10M
        , m_size(size)
27
1.10M
    {
28
1.10M
    }
AK::Detail::Span<AK::Vector<unsigned long, 0ul> const>::Span(AK::Vector<unsigned long, 0ul> const*, unsigned long)
Line
Count
Source
25
751k
        : m_values(values)
26
751k
        , m_size(size)
27
751k
    {
28
751k
    }
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
507k
        : m_values(values)
26
507k
        , m_size(size)
27
507k
    {
28
507k
    }
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
112k
        : m_values(values)
26
112k
        , m_size(size)
27
112k
    {
28
112k
    }
AK::Detail::Span<Audio::MP3::Tables::ScaleFactorBand const>::Span(Audio::MP3::Tables::ScaleFactorBand const*, unsigned long)
Line
Count
Source
25
268k
        : m_values(values)
26
268k
        , m_size(size)
27
268k
    {
28
268k
    }
AK::Detail::Span<Shell::AST::Position const>::Span(Shell::AST::Position const*, unsigned long)
Line
Count
Source
25
584k
        : m_values(values)
26
584k
        , m_size(size)
27
584k
    {
28
584k
    }
AK::Detail::Span<Shell::AST::Position>::Span(Shell::AST::Position*, unsigned long)
Line
Count
Source
25
584k
        : m_values(values)
26
584k
        , m_size(size)
27
584k
    {
28
584k
    }
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
7.27M
        : m_values(values)
26
7.27M
        , m_size(size)
27
7.27M
    {
28
7.27M
    }
AK::Detail::Span<Shell::Posix::Token>::Span(Shell::Posix::Token*, unsigned long)
Line
Count
Source
25
7.27M
        : m_values(values)
26
7.27M
        , m_size(size)
27
7.27M
    {
28
7.27M
    }
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
3.11M
        : m_values(values)
26
3.11M
        , m_size(size)
27
3.11M
    {
28
3.11M
    }
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
391M
        : m_values(values)
33
391M
        , m_size(size)
34
391M
    {
35
391M
    }
AK::Detail::Span<short const>::Span<64ul>(short const (&) [64ul])
Line
Count
Source
32
465k
        : m_values(values)
33
465k
        , m_size(size)
34
465k
    {
35
465k
    }
AK::Detail::Span<short>::Span<64ul>(short (&) [64ul])
Line
Count
Source
32
465k
        : m_values(values)
33
465k
        , m_size(size)
34
465k
    {
35
465k
    }
AK::Detail::Span<signed char const>::Span<6ul>(signed char const (&) [6ul])
Line
Count
Source
32
26.2M
        : m_values(values)
33
26.2M
        , m_size(size)
34
26.2M
    {
35
26.2M
    }
AK::Detail::Span<signed char const>::Span<8ul>(signed char const (&) [8ul])
Line
Count
Source
32
22.1M
        : m_values(values)
33
22.1M
        , m_size(size)
34
22.1M
    {
35
22.1M
    }
AK::Detail::Span<signed char const>::Span<18ul>(signed char const (&) [18ul])
Line
Count
Source
32
337M
        : m_values(values)
33
337M
        , m_size(size)
34
337M
    {
35
337M
    }
AK::Detail::Span<signed char const>::Span<22ul>(signed char const (&) [22ul])
Line
Count
Source
32
4.90M
        : m_values(values)
33
4.90M
        , m_size(size)
34
4.90M
    {
35
4.90M
    }
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.02M
        : m_values(array.data())
40
2.02M
        , m_size(size)
41
2.02M
    {
42
2.02M
    }
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
258k
    ALWAYS_INLINE constexpr Span() = default;
61
62
    ALWAYS_INLINE constexpr Span(u8* values, size_t size)
63
3.09G
        : m_values(values)
64
3.09G
        , m_size(size)
65
3.09G
    {
66
3.09G
    }
67
68
    ALWAYS_INLINE Span(void* values, size_t size)
69
790M
        : m_values(reinterpret_cast<u8*>(values))
70
790M
        , m_size(size)
71
790M
    {
72
790M
    }
73
74
    template<size_t size>
75
    ALWAYS_INLINE constexpr Span(u8 (&values)[size])
76
262k
        : m_values(values)
77
262k
        , m_size(size)
78
262k
    {
79
262k
    }
Unexecuted instantiation: AK::Detail::Span<unsigned char>::Span<3ul>(unsigned char (&) [3ul])
Unexecuted instantiation: AK::Detail::Span<unsigned char>::Span<4ul>(unsigned char (&) [4ul])
AK::Detail::Span<unsigned char>::Span<256ul>(unsigned char (&) [256ul])
Line
Count
Source
76
87.6k
        : m_values(values)
77
87.6k
        , m_size(size)
78
87.6k
    {
79
87.6k
    }
AK::Detail::Span<unsigned char>::Span<64ul>(unsigned char (&) [64ul])
Line
Count
Source
76
175k
        : m_values(values)
77
175k
        , m_size(size)
78
175k
    {
79
175k
    }
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
8.43M
    ALWAYS_INLINE constexpr Span() = default;
90
91
    ALWAYS_INLINE constexpr Span(u8 const* values, size_t size)
92
4.84G
        : m_values(values)
93
4.84G
        , m_size(size)
94
4.84G
    {
95
4.84G
    }
96
97
    ALWAYS_INLINE Span(void const* values, size_t size)
98
14.0M
        : m_values(reinterpret_cast<u8 const*>(values))
99
14.0M
        , m_size(size)
100
14.0M
    {
101
14.0M
    }
102
103
    ALWAYS_INLINE Span(char const* values, size_t size)
104
77.7M
        : m_values(reinterpret_cast<u8 const*>(values))
105
77.7M
        , m_size(size)
106
77.7M
    {
107
77.7M
    }
108
109
    template<size_t size>
110
    ALWAYS_INLINE constexpr Span(u8 const (&values)[size])
111
392M
        : m_values(values)
112
392M
        , m_size(size)
113
392M
    {
114
392M
    }
AK::Detail::Span<unsigned char const>::Span<8ul>(unsigned char const (&) [8ul])
Line
Count
Source
111
855k
        : m_values(values)
112
855k
        , m_size(size)
113
855k
    {
114
855k
    }
AK::Detail::Span<unsigned char const>::Span<3ul>(unsigned char const (&) [3ul])
Line
Count
Source
111
26.2M
        : m_values(values)
112
26.2M
        , m_size(size)
113
26.2M
    {
114
26.2M
    }
AK::Detail::Span<unsigned char const>::Span<4ul>(unsigned char const (&) [4ul])
Line
Count
Source
111
22.8M
        : m_values(values)
112
22.8M
        , m_size(size)
113
22.8M
    {
114
22.8M
    }
AK::Detail::Span<unsigned char const>::Span<12ul>(unsigned char const (&) [12ul])
Line
Count
Source
111
2.77k
        : m_values(values)
112
2.77k
        , m_size(size)
113
2.77k
    {
114
2.77k
    }
AK::Detail::Span<unsigned char const>::Span<9ul>(unsigned char const (&) [9ul])
Line
Count
Source
111
337M
        : m_values(values)
112
337M
        , m_size(size)
113
337M
    {
114
337M
    }
AK::Detail::Span<unsigned char const>::Span<11ul>(unsigned char const (&) [11ul])
Line
Count
Source
111
4.90M
        : m_values(values)
112
4.90M
        , m_size(size)
113
4.90M
    {
114
4.90M
    }
AK::Detail::Span<unsigned char const>::Span<16ul>(unsigned char const (&) [16ul])
Line
Count
Source
111
87.6k
        : m_values(values)
112
87.6k
        , m_size(size)
113
87.6k
    {
114
87.6k
    }
AK::Detail::Span<unsigned char const>::Span<256ul>(unsigned char const (&) [256ul])
Line
Count
Source
111
87.6k
        : m_values(values)
112
87.6k
        , m_size(size)
113
87.6k
    {
114
87.6k
    }
AK::Detail::Span<unsigned char const>::Span<64ul>(unsigned char const (&) [64ul])
Line
Count
Source
111
175k
        : m_values(values)
112
175k
        , m_size(size)
113
175k
    {
114
175k
    }
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
14.0M
    constexpr Span() = default;
AK::Span<unsigned char const>::Span()
Line
Count
Source
128
8.43M
    constexpr Span() = default;
AK::Span<float>::Span()
Line
Count
Source
128
2.27M
    constexpr Span() = default;
AK::Span<float const>::Span()
Line
Count
Source
128
953k
    constexpr Span() = default;
Unexecuted instantiation: AK::Span<Gfx::Point<unsigned int> >::Span()
AK::Span<unsigned char>::Span()
Line
Count
Source
128
258k
    constexpr Span() = default;
AK::Span<AK::BigEndian<short> const>::Span()
Line
Count
Source
128
721
    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
23.3k
    constexpr Span() = default;
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::Span()
Unexecuted instantiation: AK::Span<JS::Value>::Span()
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
2.07M
    constexpr Span() = default;
129
130
2.64G
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<unsigned char>::data() const
Line
Count
Source
130
961M
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<unsigned char const>::data() const
Line
Count
Source
130
1.65G
    [[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
AK::Span<Gfx::JBIG2::Code>::data() const
Line
Count
Source
130
2
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<float const>::data() const
Line
Count
Source
130
1.19M
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<short const>::data() const
Line
Count
Source
130
465k
    [[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
78
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<Gfx::Color>::data() const
Line
Count
Source
130
1.33k
    [[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
23.8M
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<unsigned long const>::data() const
Line
Count
Source
130
17.4k
    [[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
Unexecuted instantiation: AK::Span<JS::Value>::data() const
Unexecuted instantiation: AK::Span<JS::CallExpressionArgument>::data() const
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
584k
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<Shell::Posix::Token>::data() const
Line
Count
Source
130
7.27M
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<int>::data() const
Line
Count
Source
130
34.3k
    [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }
AK::Span<int const>::data() const
Line
Count
Source
130
65.5k
    [[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
3.97G
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<unsigned char const>::data()
Line
Count
Source
131
2.09G
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<unsigned char>::data()
Line
Count
Source
131
1.77G
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<AK::Vector<unsigned char, 0ul> const>::data()
Line
Count
Source
131
281k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<Gfx::BilevelSubImage const>::data()
Line
Count
Source
131
2
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<float>::data()
Line
Count
Source
131
1.19M
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<short>::data()
Line
Count
Source
131
465k
    [[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
46
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
Unexecuted instantiation: AK::Span<char>::data()
Unexecuted instantiation: AK::Span<pollfd>::data()
Unexecuted instantiation: AK::Span<unsigned int>::data()
AK::Span<AK::Variant<XML::ElementDeclaration, XML::AttributeListDeclaration, AK::Variant<XML::GEDeclaration, XML::PEDeclaration>, XML::NotationDeclaration> const>::data()
Line
Count
Source
131
2.00k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
Unexecuted instantiation: AK::Span<JS::Value>::data()
AK::Span<AK::Vector<unsigned long, 0ul> const>::data()
Line
Count
Source
131
751k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<JS::Identifier> const>::data()
Unexecuted instantiation: AK::Span<JS::ParserError const>::data()
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
584k
    [[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
7.27M
    [[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
183k
    [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }
AK::Span<int>::data()
Line
Count
Source
131
96.5M
    [[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.5M
    [[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.11M
    [[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.4M
    [[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
751
    constexpr ConstIterator begin() const { return ConstIterator::begin(*this); }
Unexecuted instantiation: AK::Span<unsigned char const>::begin() const
AK::Span<Gfx::JBIG2::Code const>::begin() const
Line
Count
Source
139
751
    constexpr ConstIterator begin() const { return ConstIterator::begin(*this); }
Unexecuted instantiation: AK::Span<OpenType::CBLC::BitmapSize const>::begin() const
Unexecuted instantiation: AK::Span<OpenType::FeatureRecord const>::begin() const
Unexecuted instantiation: AK::Span<unsigned int const>::begin() const
Unexecuted instantiation: AK::Span<JS::Value const>::begin() const
Unexecuted instantiation: AK::Span<AK::String const>::begin() const
Unexecuted instantiation: AK::Span<unsigned short const>::begin() const
Unexecuted instantiation: AK::Span<AK::StringView>::begin() const
Unexecuted instantiation: AK::Span<AK::FlyString const>::begin() const
140
56.0M
    constexpr Iterator begin() { return Iterator::begin(*this); }
AK::Span<unsigned char>::begin()
Line
Count
Source
140
208k
    constexpr Iterator begin() { return Iterator::begin(*this); }
AK::Span<unsigned char const>::begin()
Line
Count
Source
140
3.53M
    constexpr Iterator begin() { return Iterator::begin(*this); }
Unexecuted instantiation: AK::Span<float>::begin()
AK::Span<Gfx::JPEG2000::SubBand const>::begin()
Line
Count
Source
140
21.1k
    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
734
    constexpr Iterator begin() { return Iterator::begin(*this); }
AK::Span<Gfx::Line<float> const>::begin()
Line
Count
Source
140
165k
    constexpr Iterator begin() { return Iterator::begin(*this); }
Unexecuted instantiation: AK::Span<OpenType::EBLC::IndexSubTableArray const>::begin()
Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::begin()
Unexecuted instantiation: AK::Span<Gfx::Point<float> const>::begin()
AK::Span<unsigned short const>::begin()
Line
Count
Source
140
53.8k
    constexpr Iterator begin() { return Iterator::begin(*this); }
AK::Span<unsigned long const>::begin()
Line
Count
Source
140
51.3M
    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
25.7k
    constexpr Iterator begin() { return Iterator::begin(*this); }
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::begin()
Unexecuted instantiation: AK::Span<JS::CallExpressionArgument const>::begin()
Unexecuted instantiation: AK::Span<JS::Value>::begin()
AK::Span<AK::StringView const>::begin()
Line
Count
Source
140
2.56k
    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
4.84k
    constexpr Iterator begin() { return Iterator::begin(*this); }
Unexecuted instantiation: AK::Span<unsigned int const>::begin()
AK::Span<unsigned short>::begin()
Line
Count
Source
140
627k
    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
410
    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
751
    constexpr ConstIterator end() const { return ConstIterator::end(*this); }
Unexecuted instantiation: AK::Span<unsigned char const>::end() const
AK::Span<Gfx::JBIG2::Code const>::end() const
Line
Count
Source
142
751
    constexpr ConstIterator end() const { return ConstIterator::end(*this); }
Unexecuted instantiation: AK::Span<OpenType::CBLC::BitmapSize const>::end() const
Unexecuted instantiation: AK::Span<OpenType::FeatureRecord const>::end() const
Unexecuted instantiation: AK::Span<unsigned int const>::end() const
Unexecuted instantiation: AK::Span<JS::Value const>::end() const
Unexecuted instantiation: AK::Span<AK::String const>::end() const
Unexecuted instantiation: AK::Span<unsigned short const>::end() const
Unexecuted instantiation: AK::Span<AK::StringView>::end() const
Unexecuted instantiation: AK::Span<AK::FlyString const>::end() const
143
56.0M
    constexpr Iterator end() { return Iterator::end(*this); }
AK::Span<unsigned char>::end()
Line
Count
Source
143
208k
    constexpr Iterator end() { return Iterator::end(*this); }
AK::Span<unsigned char const>::end()
Line
Count
Source
143
3.53M
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<float>::end()
AK::Span<Gfx::JPEG2000::SubBand const>::end()
Line
Count
Source
143
21.1k
    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
734
    constexpr Iterator end() { return Iterator::end(*this); }
AK::Span<Gfx::Line<float> const>::end()
Line
Count
Source
143
165k
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<OpenType::EBLC::IndexSubTableArray const>::end()
Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::end()
Unexecuted instantiation: AK::Span<Gfx::Point<float> const>::end()
AK::Span<unsigned short const>::end()
Line
Count
Source
143
53.8k
    constexpr Iterator end() { return Iterator::end(*this); }
AK::Span<unsigned long const>::end()
Line
Count
Source
143
51.3M
    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
25.7k
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::end()
Unexecuted instantiation: AK::Span<JS::CallExpressionArgument const>::end()
Unexecuted instantiation: AK::Span<JS::Value>::end()
AK::Span<AK::StringView const>::end()
Line
Count
Source
143
2.56k
    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
4.84k
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<unsigned int const>::end()
AK::Span<unsigned short>::end()
Line
Count
Source
143
627k
    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
410
    constexpr Iterator end() { return Iterator::end(*this); }
Unexecuted instantiation: AK::Span<Web::CSS::PropertyID const>::end()
Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::end()
Unexecuted instantiation: AK::Span<AK::Span<unsigned char const> >::end()
Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage const>::end()
Unexecuted instantiation: AK::Span<Web::HTML::SelectedFile>::end()
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> const>::end()
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::HTML::VideoTrack> >::end()
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::FileAPI::Blob> const>::end()
Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::FilterOperation::Blur, Web::CSS::FilterOperation::DropShadow, Web::CSS::FilterOperation::HueRotate, Web::CSS::FilterOperation::Color> const>::end()
Unexecuted instantiation: AK::Span<AK::ByteString const>::end()
Unexecuted instantiation: AK::Span<Web::HTML::DragDataStoreItem const>::end()
Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::ResolvedFilter::Blur, Web::CSS::ResolvedFilter::DropShadow, Web::CSS::ResolvedFilter::HueRotate, Web::CSS::ResolvedFilter::Color> const>::end()
Unexecuted instantiation: AK::Span<Web::SVG::Transform const>::end()
Unexecuted instantiation: AK::Span<Web::SVG::PathInstruction const>::end()
Unexecuted instantiation: AK::Span<Wasm::Validator::StackEntry const>::end()
Unexecuted instantiation: AK::Span<Wasm::ValueType const>::end()
Unexecuted instantiation: AK::Span<Wasm::Value>::end()
144
145
45.6G
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<unsigned char const>::size() const
Line
Count
Source
145
28.7G
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<unsigned char>::size() const
Line
Count
Source
145
12.3G
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<unsigned short const>::size() const
Line
Count
Source
145
107k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::Point<float> const>::size() const
Line
Count
Source
145
2.04G
    [[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
844k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::BilevelSubImage const>::size() const
Line
Count
Source
145
6
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::size() const
AK::Span<Gfx::JBIG2::Code>::size() const
Line
Count
Source
145
2
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<unsigned int const>::size() const
AK::Span<float const>::size() const
Line
Count
Source
145
89.7M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<float>::size() const
Line
Count
Source
145
13.2M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::CCITT::Change>::size() const
Line
Count
Source
145
157k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::JBIG2::Code const>::size() const
Line
Count
Source
145
751
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::JPEG2000::SubBand const>::size() const
Line
Count
Source
145
21.1k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<short>::size() const
Line
Count
Source
145
1.80M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<short const>::size() const
Line
Count
Source
145
931k
    [[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
24.9M
    [[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
20.2M
    [[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
1.33k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::Color const>::size() const
Line
Count
Source
145
203k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::size() const
Line
Count
Source
145
734
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::ColorStop const>::size() const
Line
Count
Source
145
91.1M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Gfx::Line<float> const>::size() const
Line
Count
Source
145
326k
    [[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
1.82G
    [[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.70k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<unsigned long>::size() const
Line
Count
Source
145
234M
    [[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
28.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.00k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<JS::Value>::size() const
Unexecuted instantiation: AK::Span<JS::Bytecode::Operand const>::size() const
Unexecuted instantiation: AK::Span<JS::Value const>::size() const
Unexecuted instantiation: AK::Span<JS::Bytecode::ScopedOperand const>::size() const
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.25M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
Unexecuted instantiation: AK::Span<JS::CallExpressionArgument const>::size() const
Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<JS::Identifier> const>::size() const
Unexecuted instantiation: AK::Span<JS::CallExpressionArgument>::size() const
Unexecuted instantiation: AK::Span<JS::ParserError const>::size() const
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
101k
    [[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
Unexecuted instantiation: AK::Span<JS::Position>::size() const
Unexecuted instantiation: AK::Span<JS::ImportEntry const>::size() const
AK::Span<regex::ByteCode>::size() const
Line
Count
Source
145
16.0M
    [[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
18.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
3.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
497k
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Shell::AST::Position>::size() const
Line
Count
Source
145
584k
    [[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.75M
    [[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
7.27M
    [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }
AK::Span<Shell::Posix::Token const>::size() const
Line
Count
Source
145
21.8M
    [[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
72.1M
    [[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
752M
    [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }
AK::Span<unsigned char>::is_empty() const
Line
Count
Source
147
86.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
690k
    [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }
Unexecuted instantiation: AK::Span<unsigned short const>::is_empty() const
AK::Span<Gfx::CCITT::Change>::is_empty() const
Line
Count
Source
147
81.6k
    [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }
AK::Span<Gfx::ColorStop const>::is_empty() const
Line
Count
Source
147
594k
    [[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
166k
    [[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
40
    [[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
37.0M
    [[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
621M
    [[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.81M
    [[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.63G
    {
151
3.63G
        VERIFY(start + length <= size());
152
3.63G
        return { this->m_values + start, length };
153
3.63G
    }
AK::Span<unsigned char const>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
1.01G
    {
151
1.01G
        VERIFY(start + length <= size());
152
1.01G
        return { this->m_values + start, length };
153
1.01G
    }
AK::Span<Gfx::Point<float> const>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
1.68G
    {
151
1.68G
        VERIFY(start + length <= size());
152
1.68G
        return { this->m_values + start, length };
153
1.68G
    }
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
804M
    {
151
804M
        VERIFY(start + length <= size());
152
804M
        return { this->m_values + start, length };
153
804M
    }
AK::Span<float const>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
81.0M
    {
151
81.0M
        VERIFY(start + length <= size());
152
81.0M
        return { this->m_values + start, length };
153
81.0M
    }
AK::Span<float>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
3.21M
    {
151
3.21M
        VERIFY(start + length <= size());
152
3.21M
        return { this->m_values + start, length };
153
3.21M
    }
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
2.41k
    {
151
2.41k
        VERIFY(start + length <= size());
152
2.41k
        return { this->m_values + start, length };
153
2.41k
    }
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::slice(unsigned long, unsigned long) const
Unexecuted instantiation: AK::Span<JS::DeclarativeEnvironment::Binding>::slice(unsigned long, unsigned long) const
Unexecuted instantiation: AK::Span<JS::Value>::slice(unsigned long, unsigned long) const
AK::Span<unsigned long>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
47.4M
    {
151
47.4M
        VERIFY(start + length <= size());
152
47.4M
        return { this->m_values + start, length };
153
47.4M
    }
AK::Span<unsigned short>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
1.80M
    {
151
1.80M
        VERIFY(start + length <= size());
152
1.80M
        return { this->m_values + start, length };
153
1.80M
    }
AK::Span<short>::slice(unsigned long, unsigned long) const
Line
Count
Source
150
668k
    {
151
668k
        VERIFY(start + length <= size());
152
668k
        return { this->m_values + start, length };
153
668k
    }
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
2.07M
    {
151
2.07M
        VERIFY(start + length <= size());
152
2.07M
        return { this->m_values + start, length };
153
2.07M
    }
154
    [[nodiscard]] ALWAYS_INLINE constexpr Span slice(size_t start) const
155
2.57G
    {
156
2.57G
        VERIFY(start <= size());
157
2.57G
        return { this->m_values + start, size() - start };
158
2.57G
    }
AK::Span<unsigned char>::slice(unsigned long) const
Line
Count
Source
155
1.11G
    {
156
1.11G
        VERIFY(start <= size());
157
1.11G
        return { this->m_values + start, size() - start };
158
1.11G
    }
AK::Span<unsigned char const>::slice(unsigned long) const
Line
Count
Source
155
1.45G
    {
156
1.45G
        VERIFY(start <= size());
157
1.45G
        return { this->m_values + start, size() - start };
158
1.45G
    }
AK::Span<Gfx::CCITT::Change>::slice(unsigned long) const
Line
Count
Source
155
37.9k
    {
156
37.9k
        VERIFY(start <= size());
157
37.9k
        return { this->m_values + start, size() - start };
158
37.9k
    }
AK::Span<float>::slice(unsigned long) const
Line
Count
Source
155
2.27M
    {
156
2.27M
        VERIFY(start <= size());
157
2.27M
        return { this->m_values + start, size() - start };
158
2.27M
    }
AK::Span<unsigned int>::slice(unsigned long) const
Line
Count
Source
155
78
    {
156
78
        VERIFY(start <= size());
157
78
        return { this->m_values + start, size() - start };
158
78
    }
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
83.7k
    {
161
83.7k
        VERIFY(count <= size());
162
83.7k
        return { this->m_values + size() - count, count };
163
83.7k
    }
AK::Span<unsigned char>::slice_from_end(unsigned long) const
Line
Count
Source
160
83.7k
    {
161
83.7k
        VERIFY(count <= size());
162
83.7k
        return { this->m_values + size() - count, count };
163
83.7k
    }
Unexecuted instantiation: AK::Span<unsigned char const>::slice_from_end(unsigned long) const
Unexecuted instantiation: AK::Span<Wasm::Value>::slice_from_end(unsigned long) const
164
165
    [[nodiscard]] ALWAYS_INLINE constexpr Span trim(size_t length) const
166
1.09G
    {
167
1.09G
        return { this->m_values, min(size(), length) };
168
1.09G
    }
AK::Span<unsigned char>::trim(unsigned long) const
Line
Count
Source
166
367M
    {
167
367M
        return { this->m_values, min(size(), length) };
168
367M
    }
AK::Span<unsigned char const>::trim(unsigned long) const
Line
Count
Source
166
701M
    {
167
701M
        return { this->m_values, min(size(), length) };
168
701M
    }
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
253k
    {
167
253k
        return { this->m_values, min(size(), length) };
168
253k
    }
Unexecuted instantiation: AK::Span<unsigned long>::trim(unsigned long) const
AK::Span<unsigned short>::trim(unsigned long) const
Line
Count
Source
166
183k
    {
167
183k
        return { this->m_values, min(size(), length) };
168
183k
    }
AK::Span<int>::trim(unsigned long) const
Line
Count
Source
166
22.3M
    {
167
22.3M
        return { this->m_values, min(size(), length) };
168
22.3M
    }
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
9.20M
    {
182
9.20M
        VERIFY(start < this->m_size);
183
9.20M
        return this->m_values + start;
184
9.20M
    }
AK::Span<unsigned char const>::offset(unsigned long) const
Line
Count
Source
181
9.19M
    {
182
9.19M
        VERIFY(start < this->m_size);
183
9.19M
        return this->m_values + start;
184
9.19M
    }
Unexecuted instantiation: AK::Span<Audio::Sample>::offset(unsigned long) const
AK::Span<unsigned char>::offset(unsigned long) const
Line
Count
Source
181
6.84k
    {
182
6.84k
        VERIFY(start < this->m_size);
183
6.84k
        return this->m_values + start;
184
6.84k
    }
185
186
    ALWAYS_INLINE constexpr void overwrite(size_t offset, void const* data, size_t data_size)
187
135k
    {
188
        // make sure we're not told to write past the end
189
135k
        VERIFY(offset + data_size <= size());
190
135k
        __builtin_memmove(this->data() + offset, data, data_size);
191
135k
    }
192
193
    ALWAYS_INLINE constexpr size_t copy_to(Span<RemoveConst<T>> other) const
194
192M
    {
195
192M
        VERIFY(other.size() >= size());
196
192M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size());
197
192M
    }
AK::Span<unsigned char const>::copy_to(AK::Span<unsigned char>) const
Line
Count
Source
194
19.5M
    {
195
19.5M
        VERIFY(other.size() >= size());
196
19.5M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size());
197
19.5M
    }
AK::Span<float const>::copy_to(AK::Span<float>) const
Line
Count
Source
194
1.19M
    {
195
1.19M
        VERIFY(other.size() >= size());
196
1.19M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size());
197
1.19M
    }
AK::Span<short const>::copy_to(AK::Span<short>) const
Line
Count
Source
194
465k
    {
195
465k
        VERIFY(other.size() >= size());
196
465k
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size());
197
465k
    }
AK::Span<unsigned char>::copy_to(AK::Span<unsigned char>) const
Line
Count
Source
194
170M
    {
195
170M
        VERIFY(other.size() >= size());
196
170M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size());
197
170M
    }
Unexecuted instantiation: AK::Span<AK::StringView>::copy_to(AK::Span<AK::StringView>) const
Unexecuted instantiation: AK::Span<float>::copy_to(AK::Span<float>) const
198
199
    ALWAYS_INLINE constexpr size_t copy_trimmed_to(Span<RemoveConst<T>> other) const
200
1.51G
    {
201
1.51G
        auto const count = min(size(), other.size());
202
1.51G
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), count);
203
1.51G
    }
AK::Span<unsigned char>::copy_trimmed_to(AK::Span<unsigned char>) const
Line
Count
Source
200
709M
    {
201
709M
        auto const count = min(size(), other.size());
202
709M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), count);
203
709M
    }
AK::Span<unsigned char const>::copy_trimmed_to(AK::Span<unsigned char>) const
Line
Count
Source
200
808M
    {
201
808M
        auto const count = min(size(), other.size());
202
808M
        return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), count);
203
808M
    }
204
205
    ALWAYS_INLINE constexpr size_t fill(T const& value)
206
2
    {
207
5
        for (size_t idx = 0; idx < size(); ++idx)
208
3
            data()[idx] = value;
209
210
2
        return size();
211
2
    }
Unexecuted instantiation: AK::Span<float>::fill(float const&)
AK::Span<unsigned char>::fill(unsigned char const&)
Line
Count
Source
206
2
    {
207
5
        for (size_t idx = 0; idx < size(); ++idx)
208
3
            data()[idx] = value;
209
210
2
        return size();
211
2
    }
212
213
    template<typename V>
214
    [[nodiscard]] constexpr bool contains_slow(V const& value) const
215
2.06k
    {
216
3.18k
        for (size_t i = 0; i < size(); ++i) {
217
3.14k
            if (Traits<RemoveReference<T>>::equals(at(i), value))
218
2.03k
                return true;
219
3.14k
        }
220
33
        return false;
221
2.06k
    }
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
2.06k
    {
216
3.18k
        for (size_t i = 0; i < size(); ++i) {
217
3.14k
            if (Traits<RemoveReference<T>>::equals(at(i), value))
218
2.03k
                return true;
219
3.14k
        }
220
33
        return false;
221
2.06k
    }
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
7.32k
    {
235
7.32k
        if (size() < other.size())
236
0
            return false;
237
238
7.32k
        return TypedTransfer<T>::compare(data(), other.data(), other.size());
239
7.32k
    }
AK::Span<unsigned char const>::starts_with(AK::Span<unsigned char const>) const
Line
Count
Source
234
7.32k
    {
235
7.32k
        if (size() < other.size())
236
0
            return false;
237
238
7.32k
        return TypedTransfer<T>::compare(data(), other.data(), other.size());
239
7.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
108M
    {
243
108M
        auto maximum_length = min(size(), other.size());
244
245
823M
        for (size_t i = 0; i < maximum_length; i++) {
246
820M
            if (data()[i] != other.data()[i])
247
105M
                return i;
248
820M
        }
249
250
2.62M
        return maximum_length;
251
108M
    }
252
253
    [[nodiscard]] ALWAYS_INLINE constexpr T const& at(size_t index) const
254
1.03G
    {
255
1.03G
        VERIFY(index < this->m_size);
256
1.03G
        return this->m_values[index];
257
1.03G
    }
AK::Span<unsigned char const>::at(unsigned long) const
Line
Count
Source
254
41.9M
    {
255
41.9M
        VERIFY(index < this->m_size);
256
41.9M
        return this->m_values[index];
257
41.9M
    }
AK::Span<Gfx::Point<float> const>::at(unsigned long) const
Line
Count
Source
254
237M
    {
255
237M
        VERIFY(index < this->m_size);
256
237M
        return this->m_values[index];
257
237M
    }
Unexecuted instantiation: AK::Span<unsigned int const>::at(unsigned long) const
AK::Span<Gfx::JBIG2::Code const>::at(unsigned long) const
Line
Count
Source
254
23.1M
    {
255
23.1M
        VERIFY(index < this->m_size);
256
23.1M
        return this->m_values[index];
257
23.1M
    }
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
AK::Span<unsigned char>::at(unsigned long) const
Line
Count
Source
254
1
    {
255
1
        VERIFY(index < this->m_size);
256
1
        return this->m_values[index];
257
1
    }
AK::Span<Gfx::ColorStop const>::at(unsigned long) const
Line
Count
Source
254
98.3M
    {
255
98.3M
        VERIFY(index < this->m_size);
256
98.3M
        return this->m_values[index];
257
98.3M
    }
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
3.11M
    {
255
3.11M
        VERIFY(index < this->m_size);
256
3.11M
        return this->m_values[index];
257
3.11M
    }
AK::Span<unsigned long const>::at(unsigned long) const
Line
Count
Source
254
621M
    {
255
621M
        VERIFY(index < this->m_size);
256
621M
        return this->m_values[index];
257
621M
    }
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.96M
    {
255
5.96M
        VERIFY(index < this->m_size);
256
5.96M
        return this->m_values[index];
257
5.96M
    }
Unexecuted instantiation: AK::Span<AK::OptionParser::Option const>::at(unsigned long) const
AK::Span<int>::at(unsigned long) const
Line
Count
Source
254
3.14k
    {
255
3.14k
        VERIFY(index < this->m_size);
256
3.14k
        return this->m_values[index];
257
3.14k
    }
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
36.6G
    {
261
36.6G
        VERIFY(index < this->m_size);
262
36.6G
        return this->m_values[index];
263
36.6G
    }
AK::Span<unsigned char>::at(unsigned long)
Line
Count
Source
260
1.91G
    {
261
1.91G
        VERIFY(index < this->m_size);
262
1.91G
        return this->m_values[index];
263
1.91G
    }
AK::Span<unsigned char const>::at(unsigned long)
Line
Count
Source
260
13.1G
    {
261
13.1G
        VERIFY(index < this->m_size);
262
13.1G
        return this->m_values[index];
263
13.1G
    }
AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::at(unsigned long)
Line
Count
Source
260
24
    {
261
24
        VERIFY(index < this->m_size);
262
24
        return this->m_values[index];
263
24
    }
AK::Span<unsigned int const>::at(unsigned long)
Line
Count
Source
260
39
    {
261
39
        VERIFY(index < this->m_size);
262
39
        return this->m_values[index];
263
39
    }
AK::Span<float const>::at(unsigned long)
Line
Count
Source
260
2.46G
    {
261
2.46G
        VERIFY(index < this->m_size);
262
2.46G
        return this->m_values[index];
263
2.46G
    }
AK::Span<float>::at(unsigned long)
Line
Count
Source
260
2.56G
    {
261
2.56G
        VERIFY(index < this->m_size);
262
2.56G
        return this->m_values[index];
263
2.56G
    }
AK::Span<unsigned short const>::at(unsigned long)
Line
Count
Source
260
11.5M
    {
261
11.5M
        VERIFY(index < this->m_size);
262
11.5M
        return this->m_values[index];
263
11.5M
    }
AK::Span<Gfx::CCITT::Change>::at(unsigned long)
Line
Count
Source
260
81.5k
    {
261
81.5k
        VERIFY(index < this->m_size);
262
81.5k
        return this->m_values[index];
263
81.5k
    }
AK::Span<Gfx::JPEG2000::SubBand const>::at(unsigned long)
Line
Count
Source
260
49.6k
    {
261
49.6k
        VERIFY(index < this->m_size);
262
49.6k
        return this->m_values[index];
263
49.6k
    }
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
13.2G
    {
261
13.2G
        VERIFY(index < this->m_size);
262
13.2G
        return this->m_values[index];
263
13.2G
    }
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)
AK::Span<unsigned int>::at(unsigned long)
Line
Count
Source
260
23.3M
    {
261
23.3M
        VERIFY(index < this->m_size);
262
23.3M
        return this->m_values[index];
263
23.3M
    }
AK::Span<Gfx::Color const>::at(unsigned long)
Line
Count
Source
260
203k
    {
261
203k
        VERIFY(index < this->m_size);
262
203k
        return this->m_values[index];
263
203k
    }
AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::at(unsigned long)
Line
Count
Source
260
664k
    {
261
664k
        VERIFY(index < this->m_size);
262
664k
        return this->m_values[index];
263
664k
    }
AK::Span<Gfx::ColorStop const>::at(unsigned long)
Line
Count
Source
260
20.3M
    {
261
20.3M
        VERIFY(index < this->m_size);
262
20.3M
        return this->m_values[index];
263
20.3M
    }
AK::Span<Gfx::Line<float> const>::at(unsigned long)
Line
Count
Source
260
118M
    {
261
118M
        VERIFY(index < this->m_size);
262
118M
        return this->m_values[index];
263
118M
    }
AK::Span<signed char const>::at(unsigned long)
Line
Count
Source
260
419M
    {
261
419M
        VERIFY(index < this->m_size);
262
419M
        return this->m_values[index];
263
419M
    }
Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned int> const>::at(unsigned long)
Unexecuted instantiation: AK::Span<OpenType::EBLC::IndexSubTableArray const>::at(unsigned long)
Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::at(unsigned long)
Unexecuted instantiation: AK::Span<Gfx::Point<float> const>::at(unsigned long)
AK::Span<unsigned long const>::at(unsigned long)
Line
Count
Source
260
1.76G
    {
261
1.76G
        VERIFY(index < this->m_size);
262
1.76G
        return this->m_values[index];
263
1.76G
    }
AK::Span<AK::TypeErasedParameter const>::at(unsigned long)
Line
Count
Source
260
108M
    {
261
108M
        VERIFY(index < this->m_size);
262
108M
        return this->m_values[index];
263
108M
    }
AK::Span<unsigned long>::at(unsigned long)
Line
Count
Source
260
42.2M
    {
261
42.2M
        VERIFY(index < this->m_size);
262
42.2M
        return this->m_values[index];
263
42.2M
    }
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.61k
    {
261
6.61k
        VERIFY(index < this->m_size);
262
6.61k
        return this->m_values[index];
263
6.61k
    }
Unexecuted instantiation: AK::Span<pollfd>::at(unsigned long)
AK::Span<Unicode::SpecialCasing const>::at(unsigned long)
Line
Count
Source
260
5.64k
    {
261
5.64k
        VERIFY(index < this->m_size);
262
5.64k
        return this->m_values[index];
263
5.64k
    }
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::at(unsigned long)
AK::Span<short const>::at(unsigned long)
Line
Count
Source
260
63.2M
    {
261
63.2M
        VERIFY(index < this->m_size);
262
63.2M
        return this->m_values[index];
263
63.2M
    }
AK::Span<char const>::at(unsigned long)
Line
Count
Source
260
49.6M
    {
261
49.6M
        VERIFY(index < this->m_size);
262
49.6M
        return this->m_values[index];
263
49.6M
    }
Unexecuted instantiation: AK::Span<JS::Bytecode::Operand const>::at(unsigned long)
Unexecuted instantiation: AK::Span<JS::Value const>::at(unsigned long)
Unexecuted instantiation: AK::Span<JS::Bytecode::ScopedOperand const>::at(unsigned long)
Unexecuted instantiation: AK::Span<AK::Optional<JS::Bytecode::ScopedOperand> const>::at(unsigned long)
Unexecuted instantiation: AK::Span<JS::CallExpressionArgument const>::at(unsigned long)
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
845k
    {
261
845k
        VERIFY(index < this->m_size);
262
845k
        return this->m_values[index];
263
845k
    }
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)
Unexecuted instantiation: AK::Span<JS::Position>::at(unsigned long)
AK::Span<regex::ByteCode>::at(unsigned long)
Line
Count
Source
260
21.8M
    {
261
21.8M
        VERIFY(index < this->m_size);
262
21.8M
        return this->m_values[index];
263
21.8M
    }
AK::Span<unsigned short>::at(unsigned long)
Line
Count
Source
260
512M
    {
261
512M
        VERIFY(index < this->m_size);
262
512M
        return this->m_values[index];
263
512M
    }
Unexecuted instantiation: AK::Span<Audio::Sample const>::at(unsigned long)
AK::Span<Audio::Sample>::at(unsigned long)
Line
Count
Source
260
5.13M
    {
261
5.13M
        VERIFY(index < this->m_size);
262
5.13M
        return this->m_values[index];
263
5.13M
    }
AK::Span<short>::at(unsigned long)
Line
Count
Source
260
13.3M
    {
261
13.3M
        VERIFY(index < this->m_size);
262
13.3M
        return this->m_values[index];
263
13.3M
    }
AK::Span<Audio::MP3::Tables::ScaleFactorBand const>::at(unsigned long)
Line
Count
Source
260
14.0M
    {
261
14.0M
        VERIFY(index < this->m_size);
262
14.0M
        return this->m_values[index];
263
14.0M
    }
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanXY> const>::at(unsigned long)
Line
Count
Source
260
11.7M
    {
261
11.7M
        VERIFY(index < this->m_size);
262
11.7M
        return this->m_values[index];
263
11.7M
    }
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanVWXY> const>::at(unsigned long)
Line
Count
Source
260
2.93M
    {
261
2.93M
        VERIFY(index < this->m_size);
262
2.93M
        return this->m_values[index];
263
2.93M
    }
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
47.4M
    {
261
47.4M
        VERIFY(index < this->m_size);
262
47.4M
        return this->m_values[index];
263
47.4M
    }
AK::Span<bool>::at(unsigned long)
Line
Count
Source
260
79.5M
    {
261
79.5M
        VERIFY(index < this->m_size);
262
79.5M
        return this->m_values[index];
263
79.5M
    }
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
26.3M
    {
267
26.3M
        return this->at(0);
268
26.3M
    }
269
270
    [[nodiscard]] ALWAYS_INLINE constexpr T& first()
271
49.3k
    {
272
49.3k
        return this->at(0);
273
49.3k
    }
Unexecuted instantiation: AK::Span<Gfx::ColorStop const>::first()
AK::Span<Gfx::Line<float> const>::first()
Line
Count
Source
271
49.3k
    {
272
49.3k
        return this->at(0);
273
49.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
180M
    {
277
180M
        return this->at(this->size() - 1);
278
180M
    }
AK::Span<Gfx::Point<float> const>::last() const
Line
Count
Source
276
108M
    {
277
108M
        return this->at(this->size() - 1);
278
108M
    }
AK::Span<Gfx::ColorStop const>::last() const
Line
Count
Source
276
72.0M
    {
277
72.0M
        return this->at(this->size() - 1);
278
72.0M
    }
Unexecuted instantiation: AK::Span<OpenType::Hmtx::LongHorMetric const>::last() const
Unexecuted instantiation: AK::Span<unsigned long>::last() const
Unexecuted instantiation: AK::Span<unsigned long const>::last() const
Unexecuted instantiation: AK::Span<unsigned int>::last() const
279
280
    [[nodiscard]] ALWAYS_INLINE constexpr T& last()
281
18.6M
    {
282
18.6M
        return this->at(this->size() - 1);
283
18.6M
    }
Unexecuted instantiation: AK::Span<unsigned char const>::last()
AK::Span<Gfx::ColorStop const>::last()
Line
Count
Source
281
18.6M
    {
282
18.6M
        return this->at(this->size() - 1);
283
18.6M
    }
AK::Span<unsigned char>::last()
Line
Count
Source
281
8.15k
    {
282
8.15k
        return this->at(this->size() - 1);
283
8.15k
    }
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
799M
    {
287
799M
        return at(index);
288
799M
    }
AK::Span<unsigned char const>::operator[](unsigned long) const
Line
Count
Source
286
16.1M
    {
287
16.1M
        return at(index);
288
16.1M
    }
AK::Span<Gfx::Point<float> const>::operator[](unsigned long) const
Line
Count
Source
286
129M
    {
287
129M
        return at(index);
288
129M
    }
Unexecuted instantiation: AK::Span<unsigned int const>::operator[](unsigned long) const
AK::Span<Gfx::JBIG2::Code const>::operator[](unsigned long) const
Line
Count
Source
286
23.1M
    {
287
23.1M
        return at(index);
288
23.1M
    }
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
AK::Span<unsigned char>::operator[](unsigned long) const
Line
Count
Source
286
1
    {
287
1
        return at(index);
288
1
    }
Unexecuted instantiation: AK::Span<OpenType::Hmtx::LongHorMetric const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<AK::BigEndian<short> const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<OpenType::Name::NameRecord const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<OpenType::Kern::Format0Pair const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<OpenType::CBLC::BitmapSize const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<OpenType::FeatureRecord const>::operator[](unsigned long) const
Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::operator[](unsigned long) const
AK::Span<unsigned long>::operator[](unsigned long) const
Line
Count
Source
286
3.11M
    {
287
3.11M
        return at(index);
288
3.11M
    }
AK::Span<unsigned long const>::operator[](unsigned long) const
Line
Count
Source
286
621M
    {
287
621M
        return at(index);
288
621M
    }
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.96M
    {
287
5.96M
        return at(index);
288
5.96M
    }
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
36.4G
    {
298
36.4G
        return at(index);
299
36.4G
    }
AK::Span<unsigned char>::operator[](unsigned long)
Line
Count
Source
297
1.91G
    {
298
1.91G
        return at(index);
299
1.91G
    }
AK::Span<unsigned char const>::operator[](unsigned long)
Line
Count
Source
297
13.1G
    {
298
13.1G
        return at(index);
299
13.1G
    }
AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::operator[](unsigned long)
Line
Count
Source
297
24
    {
298
24
        return at(index);
299
24
    }
AK::Span<unsigned int const>::operator[](unsigned long)
Line
Count
Source
297
39
    {
298
39
        return at(index);
299
39
    }
AK::Span<float const>::operator[](unsigned long)
Line
Count
Source
297
2.46G
    {
298
2.46G
        return at(index);
299
2.46G
    }
AK::Span<float>::operator[](unsigned long)
Line
Count
Source
297
2.56G
    {
298
2.56G
        return at(index);
299
2.56G
    }
AK::Span<unsigned short const>::operator[](unsigned long)
Line
Count
Source
297
11.5M
    {
298
11.5M
        return at(index);
299
11.5M
    }
AK::Span<Gfx::CCITT::Change>::operator[](unsigned long)
Line
Count
Source
297
81.5k
    {
298
81.5k
        return at(index);
299
81.5k
    }
AK::Span<Gfx::JPEG2000::SubBand const>::operator[](unsigned long)
Line
Count
Source
297
49.6k
    {
298
49.6k
        return at(index);
299
49.6k
    }
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
13.2G
    {
298
13.2G
        return at(index);
299
13.2G
    }
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)
AK::Span<unsigned int>::operator[](unsigned long)
Line
Count
Source
297
23.3M
    {
298
23.3M
        return at(index);
299
23.3M
    }
AK::Span<Gfx::Color const>::operator[](unsigned long)
Line
Count
Source
297
203k
    {
298
203k
        return at(index);
299
203k
    }
AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::operator[](unsigned long)
Line
Count
Source
297
664k
    {
298
664k
        return at(index);
299
664k
    }
AK::Span<Gfx::ColorStop const>::operator[](unsigned long)
Line
Count
Source
297
1.70M
    {
298
1.70M
        return at(index);
299
1.70M
    }
AK::Span<Gfx::Line<float> const>::operator[](unsigned long)
Line
Count
Source
297
118M
    {
298
118M
        return at(index);
299
118M
    }
AK::Span<signed char const>::operator[](unsigned long)
Line
Count
Source
297
419M
    {
298
419M
        return at(index);
299
419M
    }
Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned int> const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<OpenType::EBLC::IndexSubTableArray const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<Gfx::Point<float> const>::operator[](unsigned long)
AK::Span<unsigned long const>::operator[](unsigned long)
Line
Count
Source
297
1.76G
    {
298
1.76G
        return at(index);
299
1.76G
    }
AK::Span<unsigned long>::operator[](unsigned long)
Line
Count
Source
297
5.19M
    {
298
5.19M
        return at(index);
299
5.19M
    }
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.61k
    {
298
6.61k
        return at(index);
299
6.61k
    }
Unexecuted instantiation: AK::Span<pollfd>::operator[](unsigned long)
AK::Span<Unicode::SpecialCasing const>::operator[](unsigned long)
Line
Count
Source
297
5.64k
    {
298
5.64k
        return at(index);
299
5.64k
    }
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::operator[](unsigned long)
AK::Span<short const>::operator[](unsigned long)
Line
Count
Source
297
63.2M
    {
298
63.2M
        return at(index);
299
63.2M
    }
AK::Span<char const>::operator[](unsigned long)
Line
Count
Source
297
49.6M
    {
298
49.6M
        return at(index);
299
49.6M
    }
Unexecuted instantiation: AK::Span<JS::Bytecode::Operand const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<JS::Value const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<JS::Bytecode::ScopedOperand const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<AK::Optional<JS::Bytecode::ScopedOperand> const>::operator[](unsigned long)
Unexecuted instantiation: AK::Span<JS::CallExpressionArgument const>::operator[](unsigned long)
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
845k
    {
298
845k
        return at(index);
299
845k
    }
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)
Unexecuted instantiation: AK::Span<JS::Position>::operator[](unsigned long)
AK::Span<regex::ByteCode>::operator[](unsigned long)
Line
Count
Source
297
21.8M
    {
298
21.8M
        return at(index);
299
21.8M
    }
AK::Span<unsigned short>::operator[](unsigned long)
Line
Count
Source
297
512M
    {
298
512M
        return at(index);
299
512M
    }
Unexecuted instantiation: AK::Span<Audio::Sample const>::operator[](unsigned long)
AK::Span<Audio::Sample>::operator[](unsigned long)
Line
Count
Source
297
5.13M
    {
298
5.13M
        return at(index);
299
5.13M
    }
AK::Span<short>::operator[](unsigned long)
Line
Count
Source
297
13.3M
    {
298
13.3M
        return at(index);
299
13.3M
    }
AK::Span<Audio::MP3::Tables::ScaleFactorBand const>::operator[](unsigned long)
Line
Count
Source
297
14.0M
    {
298
14.0M
        return at(index);
299
14.0M
    }
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanXY> const>::operator[](unsigned long)
Line
Count
Source
297
11.7M
    {
298
11.7M
        return at(index);
299
11.7M
    }
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanVWXY> const>::operator[](unsigned long)
Line
Count
Source
297
2.93M
    {
298
2.93M
        return at(index);
299
2.93M
    }
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
47.4M
    {
298
47.4M
        return at(index);
299
47.4M
    }
AK::Span<bool>::operator[](unsigned long)
Line
Count
Source
297
79.5M
    {
298
79.5M
        return at(index);
299
79.5M
    }
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.02M
    {
303
1.02M
        if (size() != other.size())
304
9.37k
            return false;
305
306
1.01M
        return TypedTransfer<T>::compare(data(), other.data(), size());
307
1.02M
    }
AK::Span<unsigned char const>::operator==(AK::Span<unsigned char const> const&) const
Line
Count
Source
302
992k
    {
303
992k
        if (size() != other.size())
304
7.84k
            return false;
305
306
985k
        return TypedTransfer<T>::compare(data(), other.data(), size());
307
992k
    }
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
34.3k
    {
303
34.3k
        if (size() != other.size())
304
1.53k
            return false;
305
306
32.7k
        return TypedTransfer<T>::compare(data(), other.data(), size());
307
34.3k
    }
Unexecuted instantiation: AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue> const>::operator==(AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue> const> const&) const
Unexecuted instantiation: AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue const> const>::operator==(AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue const> const> const&) const
Unexecuted instantiation: AK::Span<AK::Optional<int> const>::operator==(AK::Span<AK::Optional<int> const> const&) const
308
309
    ALWAYS_INLINE constexpr operator ReadonlySpan<T>() const
310
113M
    {
311
113M
        return { data(), size() };
312
113M
    }
AK::Span<unsigned char>::operator AK::Span<unsigned char const>() const
Line
Count
Source
310
81.3M
    {
311
81.3M
        return { data(), size() };
312
81.3M
    }
AK::Span<Gfx::JBIG2::Code>::operator AK::Span<Gfx::JBIG2::Code const>() const
Line
Count
Source
310
2
    {
311
2
        return { data(), size() };
312
2
    }
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
78
    {
311
78
        return { data(), size() };
312
78
    }
AK::Span<Gfx::Color>::operator AK::Span<Gfx::Color const>() const
Line
Count
Source
310
1.33k
    {
311
1.33k
        return { data(), size() };
312
1.33k
    }
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
Unexecuted instantiation: AK::Span<JS::CallExpressionArgument>::operator AK::Span<JS::CallExpressionArgument const>() const
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
23.7M
    {
311
23.7M
        return { data(), size() };
312
23.7M
    }
AK::Span<Shell::AST::Position>::operator AK::Span<Shell::AST::Position const>() const
Line
Count
Source
310
584k
    {
311
584k
        return { data(), size() };
312
584k
    }
AK::Span<Shell::Posix::Token>::operator AK::Span<Shell::Posix::Token const>() const
Line
Count
Source
310
7.27M
    {
311
7.27M
        return { data(), size() };
312
7.27M
    }
AK::Span<int>::operator AK::Span<int const>() const
Line
Count
Source
310
34.3k
    {
311
34.3k
        return { data(), size() };
312
34.3k
    }
Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage>::operator AK::Span<Web::Bindings::KeyUsage const>() const
Unexecuted instantiation: AK::Span<AK::String>::operator AK::Span<AK::String const>() const
Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> >::operator AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> const>() const
Unexecuted instantiation: AK::Span<float>::operator AK::Span<float const>() const
Unexecuted instantiation: AK::Span<double>::operator AK::Span<double const>() const
313
};
314
315
template<typename T>
316
struct Traits<Span<T>> : public DefaultTraits<Span<T>> {
317
    static unsigned hash(Span<T> const& span)
318
0
    {
319
0
        unsigned hash = 0;
320
0
        for (auto const& value : span) {
321
0
            auto value_hash = Traits<T>::hash(value);
322
0
            hash = pair_int_hash(hash, value_hash);
323
0
        }
324
0
        return hash;
325
0
    }
326
327
0
    constexpr static bool is_trivial() { return true; }
Unexecuted instantiation: AK::Traits<AK::Span<unsigned char const> >::is_trivial()
Unexecuted instantiation: AK::Traits<AK::Span<unsigned long> >::is_trivial()
Unexecuted instantiation: AK::Traits<AK::Span<unsigned long const> >::is_trivial()
328
};
329
330
template<typename T>
331
using ReadonlySpan = Span<T const>;
332
333
using ReadonlyBytes = ReadonlySpan<u8>;
334
using Bytes = Span<u8>;
335
336
template<typename T>
337
requires(IsTrivial<T>)
338
ReadonlyBytes to_readonly_bytes(Span<T> span)
339
{
340
    return ReadonlyBytes { static_cast<void const*>(span.data()), span.size() * sizeof(T) };
341
}
342
343
template<typename T>
344
requires(IsTrivial<T> && !IsConst<T>)
345
Bytes to_bytes(Span<T> span)
346
{
347
    return Bytes { static_cast<void*>(span.data()), span.size() * sizeof(T) };
348
}
349
350
}
351
352
#if USING_AK_GLOBALLY
353
using AK::Bytes;
354
using AK::ReadonlyBytes;
355
using AK::ReadonlySpan;
356
using AK::Span;
357
using AK::to_bytes;
358
using AK::to_readonly_bytes;
359
#endif