Line | Count | Source |
1 | | /* |
2 | | * Copyright (c) 2020-2021, the SerenityOS developers. |
3 | | * |
4 | | * SPDX-License-Identifier: BSD-2-Clause |
5 | | */ |
6 | | |
7 | | #pragma once |
8 | | |
9 | | #include <AK/Array.h> |
10 | | #include <AK/Assertions.h> |
11 | | #include <AK/Iterator.h> |
12 | | #include <AK/TypedTransfer.h> |
13 | | #include <AK/Types.h> |
14 | | |
15 | | namespace AK { |
16 | | |
17 | | namespace Detail { |
18 | | |
19 | | template<typename T> |
20 | | class Span { |
21 | | public: |
22 | 5.20M | ALWAYS_INLINE constexpr Span() = default; AK::Detail::Span<float>::Span() Line | Count | Source | 22 | 472k | ALWAYS_INLINE constexpr Span() = default; |
AK::Detail::Span<float const>::Span() Line | Count | Source | 22 | 217k | ALWAYS_INLINE constexpr Span() = default; |
Unexecuted instantiation: AK::Detail::Span<Gfx::Point<unsigned int> >::Span() AK::Detail::Span<AK::BigEndian<short> const>::Span() Line | Count | Source | 22 | 801 | ALWAYS_INLINE constexpr Span() = default; |
Unexecuted instantiation: AK::Detail::Span<unsigned short const>::Span() Unexecuted instantiation: AK::Detail::Span<TimeZone::TimeZoneIdentifier const>::Span() AK::Detail::Span<unsigned int const>::Span() Line | Count | Source | 22 | 1 | ALWAYS_INLINE constexpr Span() = default; |
Unexecuted instantiation: AK::Detail::Span<Unicode::BlockName const>::Span() AK::Detail::Span<Unicode::SpecialCasing const>::Span() Line | Count | Source | 22 | 20.3k | ALWAYS_INLINE constexpr Span() = default; |
Unexecuted instantiation: AK::Detail::Span<Unicode::CaseFolding const>::Span() AK::Detail::Span<JS::Value>::Span() Line | Count | Source | 22 | 102 | ALWAYS_INLINE constexpr Span() = default; |
Unexecuted instantiation: AK::Detail::Span<JS::Value const>::Span() Unexecuted instantiation: AK::Detail::Span<AK::String const>::Span() Unexecuted instantiation: AK::Detail::Span<AK::StringView const>::Span() Unexecuted instantiation: AK::Detail::Span<unsigned long const>::Span() Unexecuted instantiation: AK::Detail::Span<signed char const>::Span() Unexecuted instantiation: AK::Detail::Span<short const>::Span() Unexecuted instantiation: AK::Detail::Span<int const>::Span() Unexecuted instantiation: AK::Detail::Span<long const>::Span() Unexecuted instantiation: AK::Detail::Span<double const>::Span() Unexecuted instantiation: AK::Detail::Span<unsigned short>::Span() Unexecuted instantiation: AK::Detail::Span<unsigned int>::Span() Unexecuted instantiation: AK::Detail::Span<unsigned long>::Span() Unexecuted instantiation: AK::Detail::Span<signed char>::Span() Unexecuted instantiation: AK::Detail::Span<short>::Span() Unexecuted instantiation: AK::Detail::Span<int>::Span() Unexecuted instantiation: AK::Detail::Span<long>::Span() Unexecuted instantiation: AK::Detail::Span<double>::Span() Unexecuted instantiation: AK::Detail::Span<Locale::PluralCategory const>::Span() Unexecuted instantiation: AK::Detail::Span<AK::StringView>::Span() Unexecuted instantiation: AK::Detail::Span<AK::OptionParser::Option const>::Span() Unexecuted instantiation: AK::Detail::Span<Web::Painting::BorderRadiiClip const>::Span() AK::Detail::Span<bool>::Span() Line | Count | Source | 22 | 4.49M | ALWAYS_INLINE constexpr Span() = default; |
|
23 | | |
24 | | ALWAYS_INLINE constexpr Span(T* values, size_t size) |
25 | 4.30G | : m_values(values) |
26 | 4.30G | , m_size(size) |
27 | 4.30G | { |
28 | 4.30G | } AK::Detail::Span<AK::Vector<unsigned char, 0ul> const>::Span(AK::Vector<unsigned char, 0ul> const*, unsigned long) Line | Count | Source | 25 | 175k | : m_values(values) | 26 | 175k | , m_size(size) | 27 | 175k | { | 28 | 175k | } |
Unexecuted instantiation: AK::Detail::Span<Gfx::BilevelSubImage const>::Span(Gfx::BilevelSubImage const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::Span(Gfx::JBIG2::AdaptiveTemplatePixel const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Gfx::JBIG2::Code const>::Span(Gfx::JBIG2::Code const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Gfx::JBIG2::Code>::Span(Gfx::JBIG2::Code*, unsigned long) AK::Detail::Span<unsigned short const>::Span(unsigned short const*, unsigned long) Line | Count | Source | 25 | 52.3k | : m_values(values) | 26 | 52.3k | , m_size(size) | 27 | 52.3k | { | 28 | 52.3k | } |
AK::Detail::Span<unsigned int const>::Span(unsigned int const*, unsigned long) Line | Count | Source | 25 | 106 | : m_values(values) | 26 | 106 | , m_size(size) | 27 | 106 | { | 28 | 106 | } |
AK::Detail::Span<float const>::Span(float const*, unsigned long) Line | Count | Source | 25 | 121M | : m_values(values) | 26 | 121M | , m_size(size) | 27 | 121M | { | 28 | 121M | } |
AK::Detail::Span<float>::Span(float*, unsigned long) Line | Count | Source | 25 | 7.38M | : m_values(values) | 26 | 7.38M | , m_size(size) | 27 | 7.38M | { | 28 | 7.38M | } |
Unexecuted instantiation: AK::Detail::Span<Gfx::CCITT::Change>::Span(Gfx::CCITT::Change*, unsigned long) AK::Detail::Span<Gfx::JPEG2000::SubBand const>::Span(Gfx::JPEG2000::SubBand const*, unsigned long) Line | Count | Source | 25 | 233k | : m_values(values) | 26 | 233k | , m_size(size) | 27 | 233k | { | 28 | 233k | } |
Unexecuted instantiation: AK::Detail::Span<Gfx::JPEGXL::ChannelInfo const>::Span(Gfx::JPEGXL::ChannelInfo const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Gfx::JPEGXL::ChannelInfo>::Span(Gfx::JPEGXL::ChannelInfo*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Gfx::JPEGXL::Detail::Channel<int> >::Span(Gfx::JPEGXL::Detail::Channel<int>*, unsigned long) AK::Detail::Span<int>::Span(int*, unsigned long) Line | Count | Source | 25 | 42.7M | : m_values(values) | 26 | 42.7M | , m_size(size) | 27 | 42.7M | { | 28 | 42.7M | } |
Unexecuted instantiation: AK::Detail::Span<Gfx::Point<unsigned int> >::Span(Gfx::Point<unsigned int>*, unsigned long) AK::Detail::Span<unsigned int>::Span(unsigned int*, unsigned long) Line | Count | Source | 25 | 615 | : m_values(values) | 26 | 615 | , m_size(size) | 27 | 615 | { | 28 | 615 | } |
Unexecuted instantiation: AK::Detail::Span<Gfx::Point<int> const>::Span(Gfx::Point<int> const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Gfx::JPEGXL::Detail::Channel<float> const>::Span(Gfx::JPEGXL::Detail::Channel<float> const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Gfx::JPEGXL::Detail::Channel<float> >::Span(Gfx::JPEGXL::Detail::Channel<float>*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Gfx::JPEGXL::Frame>::Span(Gfx::JPEGXL::Frame*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Gfx::Point<unsigned int> const>::Span(Gfx::Point<unsigned int> const*, unsigned long) AK::Detail::Span<Gfx::Color const>::Span(Gfx::Color const*, unsigned long) Line | Count | Source | 25 | 830 | : m_values(values) | 26 | 830 | , m_size(size) | 27 | 830 | { | 28 | 830 | } |
AK::Detail::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::Span(Gfx::TinyVGDecodedImageData::DrawCommand const*, unsigned long) Line | Count | Source | 25 | 437 | : m_values(values) | 26 | 437 | , m_size(size) | 27 | 437 | { | 28 | 437 | } |
AK::Detail::Span<Gfx::Line<float> const>::Span(Gfx::Line<float> const*, unsigned long) Line | Count | Source | 25 | 1.71M | : m_values(values) | 26 | 1.71M | , m_size(size) | 27 | 1.71M | { | 28 | 1.71M | } |
AK::Detail::Span<Gfx::Color>::Span(Gfx::Color*, unsigned long) Line | Count | Source | 25 | 830 | : m_values(values) | 26 | 830 | , m_size(size) | 27 | 830 | { | 28 | 830 | } |
AK::Detail::Span<Gfx::ColorStop const>::Span(Gfx::ColorStop const*, unsigned long) Line | Count | Source | 25 | 14.3M | : m_values(values) | 26 | 14.3M | , m_size(size) | 27 | 14.3M | { | 28 | 14.3M | } |
Unexecuted instantiation: AK::Detail::Span<AK::BigEndian<unsigned int> const>::Span(AK::BigEndian<unsigned int> const*, unsigned long) AK::Detail::Span<OpenType::Hmtx::LongHorMetric const>::Span(OpenType::Hmtx::LongHorMetric const*, unsigned long) Line | Count | Source | 25 | 801 | : m_values(values) | 26 | 801 | , m_size(size) | 27 | 801 | { | 28 | 801 | } |
AK::Detail::Span<AK::BigEndian<short> const>::Span(AK::BigEndian<short> const*, unsigned long) Line | Count | Source | 25 | 524 | : m_values(values) | 26 | 524 | , m_size(size) | 27 | 524 | { | 28 | 524 | } |
AK::Detail::Span<OpenType::Name::NameRecord const>::Span(OpenType::Name::NameRecord const*, unsigned long) Line | Count | Source | 25 | 1.07k | : m_values(values) | 26 | 1.07k | , m_size(size) | 27 | 1.07k | { | 28 | 1.07k | } |
AK::Detail::Span<OpenType::CBLC::BitmapSize const>::Span(OpenType::CBLC::BitmapSize const*, unsigned long) Line | Count | Source | 25 | 304 | : m_values(values) | 26 | 304 | , m_size(size) | 27 | 304 | { | 28 | 304 | } |
Unexecuted instantiation: AK::Detail::Span<OpenType::EBLC::IndexSubTableArray const>::Span(OpenType::EBLC::IndexSubTableArray const*, unsigned long) AK::Detail::Span<AK::BigEndian<unsigned short> const>::Span(AK::BigEndian<unsigned short> const*, unsigned long) Line | Count | Source | 25 | 715 | : m_values(values) | 26 | 715 | , m_size(size) | 27 | 715 | { | 28 | 715 | } |
AK::Detail::Span<OpenType::Kern::Format0Pair const>::Span(OpenType::Kern::Format0Pair const*, unsigned long) Line | Count | Source | 25 | 543 | : m_values(values) | 26 | 543 | , m_size(size) | 27 | 543 | { | 28 | 543 | } |
AK::Detail::Span<OpenType::ScriptRecord const>::Span(OpenType::ScriptRecord const*, unsigned long) Line | Count | Source | 25 | 780 | : m_values(values) | 26 | 780 | , m_size(size) | 27 | 780 | { | 28 | 780 | } |
AK::Detail::Span<OpenType::FeatureRecord const>::Span(OpenType::FeatureRecord const*, unsigned long) Line | Count | Source | 25 | 734 | : m_values(values) | 26 | 734 | , m_size(size) | 27 | 734 | { | 28 | 734 | } |
AK::Detail::Span<Gfx::Point<float> const>::Span(Gfx::Point<float> const*, unsigned long) Line | Count | Source | 25 | 2.93G | : m_values(values) | 26 | 2.93G | , m_size(size) | 27 | 2.93G | { | 28 | 2.93G | } |
AK::Detail::Span<unsigned long const>::Span(unsigned long const*, unsigned long) Line | Count | Source | 25 | 806M | : m_values(values) | 26 | 806M | , m_size(size) | 27 | 806M | { | 28 | 806M | } |
Unexecuted instantiation: AK::Detail::Span<Gfx::PathSegment::Command const>::Span(Gfx::PathSegment::Command const*, unsigned long) AK::Detail::Span<AK::TypeErasedParameter const>::Span(AK::TypeErasedParameter const*, unsigned long) Line | Count | Source | 25 | 143M | : m_values(values) | 26 | 143M | , m_size(size) | 27 | 143M | { | 28 | 143M | } |
AK::Detail::Span<AK::StringView const>::Span(AK::StringView const*, unsigned long) Line | Count | Source | 25 | 2.59k | : m_values(values) | 26 | 2.59k | , m_size(size) | 27 | 2.59k | { | 28 | 2.59k | } |
AK::Detail::Span<unsigned long>::Span(unsigned long*, unsigned long) Line | Count | Source | 25 | 113M | : m_values(values) | 26 | 113M | , m_size(size) | 27 | 113M | { | 28 | 113M | } |
Unexecuted instantiation: AK::Detail::Span<addrinfo const>::Span(addrinfo const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<pollfd>::Span(pollfd*, unsigned long) Unexecuted instantiation: EventLoopImplementationUnix.cpp:AK::Detail::Span<Core::(anonymous namespace)::EventLoopTimeout* const>::Span(Core::(anonymous namespace)::EventLoopTimeout* const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Unicode::BlockName>::Span(Unicode::BlockName*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Unicode::BlockName const>::Span(Unicode::BlockName const*, unsigned long) AK::Detail::Span<Unicode::SpecialCasing const>::Span(Unicode::SpecialCasing const*, unsigned long) Line | Count | Source | 25 | 1.93k | : m_values(values) | 26 | 1.93k | , m_size(size) | 27 | 1.93k | { | 28 | 1.93k | } |
Unexecuted instantiation: AK::Detail::Span<Unicode::CaseFolding const>::Span(Unicode::CaseFolding const*, unsigned long) AK::Detail::Span<short const>::Span(short const*, unsigned long) Line | Count | Source | 25 | 8.08k | : m_values(values) | 26 | 8.08k | , m_size(size) | 27 | 8.08k | { | 28 | 8.08k | } |
AK::Detail::Span<char const>::Span(char const*, unsigned long) Line | Count | Source | 25 | 284 | : m_values(values) | 26 | 284 | , m_size(size) | 27 | 284 | { | 28 | 284 | } |
AK::Detail::Span<AK::Variant<XML::ElementDeclaration, XML::AttributeListDeclaration, AK::Variant<XML::GEDeclaration, XML::PEDeclaration>, XML::NotationDeclaration> const>::Span(AK::Variant<XML::ElementDeclaration, XML::AttributeListDeclaration, AK::Variant<XML::GEDeclaration, XML::PEDeclaration>, XML::NotationDeclaration> const*, unsigned long) Line | Count | Source | 25 | 2.13k | : m_values(values) | 26 | 2.13k | , m_size(size) | 27 | 2.13k | { | 28 | 2.13k | } |
AK::Detail::Span<JS::Value const>::Span(JS::Value const*, unsigned long) Line | Count | Source | 25 | 3 | : m_values(values) | 26 | 3 | , m_size(size) | 27 | 3 | { | 28 | 3 | } |
Unexecuted instantiation: AK::Detail::Span<JS::Bytecode::Operand const>::Span(JS::Bytecode::Operand const*, unsigned long) AK::Detail::Span<JS::Value>::Span(JS::Value*, unsigned long) Line | Count | Source | 25 | 44 | : m_values(values) | 26 | 44 | , m_size(size) | 27 | 44 | { | 28 | 44 | } |
AK::Detail::Span<JS::CallExpressionArgument const>::Span(JS::CallExpressionArgument const*, unsigned long) Line | Count | Source | 25 | 6.12k | : m_values(values) | 26 | 6.12k | , m_size(size) | 27 | 6.12k | { | 28 | 6.12k | } |
AK::Detail::Span<JS::Bytecode::ScopedOperand const>::Span(JS::Bytecode::ScopedOperand const*, unsigned long) Line | Count | Source | 25 | 2 | : m_values(values) | 26 | 2 | , m_size(size) | 27 | 2 | { | 28 | 2 | } |
Unexecuted instantiation: AK::Detail::Span<AK::Optional<JS::Bytecode::ScopedOperand> const>::Span(AK::Optional<JS::Bytecode::ScopedOperand> const*, unsigned long) AK::Detail::Span<AK::NonnullRefPtr<JS::Identifier> const>::Span(AK::NonnullRefPtr<JS::Identifier> const*, unsigned long) Line | Count | Source | 25 | 20.1k | : m_values(values) | 26 | 20.1k | , m_size(size) | 27 | 20.1k | { | 28 | 20.1k | } |
AK::Detail::Span<JS::ParserError const>::Span(JS::ParserError const*, unsigned long) Line | Count | Source | 25 | 218 | : m_values(values) | 26 | 218 | , m_size(size) | 27 | 218 | { | 28 | 218 | } |
AK::Detail::Span<JS::CallExpressionArgument>::Span(JS::CallExpressionArgument*, unsigned long) Line | Count | Source | 25 | 3.06k | : m_values(values) | 26 | 3.06k | , m_size(size) | 27 | 3.06k | { | 28 | 3.06k | } |
Unexecuted instantiation: AK::Detail::Span<JS::DeclarativeEnvironment::Binding>::Span(JS::DeclarativeEnvironment::Binding*, unsigned long) Unexecuted instantiation: AK::Detail::Span<JS::DeclarativeEnvironment::Binding const>::Span(JS::DeclarativeEnvironment::Binding const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::String const>::Span(AK::String const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Locale::CalendarRangePattern const>::Span(Locale::CalendarRangePattern const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<JS::Intl::PatternPartition const>::Span(JS::Intl::PatternPartition const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::StringView>::Span(AK::StringView*, unsigned long) AK::Detail::Span<int const>::Span(int const*, unsigned long) Line | Count | Source | 25 | 62.9k | : m_values(values) | 26 | 62.9k | , m_size(size) | 27 | 62.9k | { | 28 | 62.9k | } |
Unexecuted instantiation: AK::Detail::Span<signed char const>::Span(signed char const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<long const>::Span(long const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<double const>::Span(double const*, unsigned long) AK::Detail::Span<unsigned short>::Span(unsigned short*, unsigned long) Line | Count | Source | 25 | 38.1M | : m_values(values) | 26 | 38.1M | , m_size(size) | 27 | 38.1M | { | 28 | 38.1M | } |
Unexecuted instantiation: AK::Detail::Span<signed char>::Span(signed char*, unsigned long) AK::Detail::Span<short>::Span(short*, unsigned long) Line | Count | Source | 25 | 1.32M | : m_values(values) | 26 | 1.32M | , m_size(size) | 27 | 1.32M | { | 28 | 1.32M | } |
AK::Detail::Span<long>::Span(long*, unsigned long) Line | Count | Source | 25 | 35.4M | : m_values(values) | 26 | 35.4M | , m_size(size) | 27 | 35.4M | { | 28 | 35.4M | } |
Unexecuted instantiation: AK::Detail::Span<double>::Span(double*, unsigned long) AK::Detail::Span<JS::Position>::Span(JS::Position*, unsigned long) Line | Count | Source | 25 | 1.71k | : m_values(values) | 26 | 1.71k | , m_size(size) | 27 | 1.71k | { | 28 | 1.71k | } |
Unexecuted instantiation: AK::Detail::Span<JS::ImportEntry const>::Span(JS::ImportEntry const*, unsigned long) AK::Detail::Span<regex::ByteCode>::Span(regex::ByteCode*, unsigned long) Line | Count | Source | 25 | 1.56M | : m_values(values) | 26 | 1.56M | , m_size(size) | 27 | 1.56M | { | 28 | 1.56M | } |
AK::Detail::Span<AK::Vector<unsigned long, 0ul> const>::Span(AK::Vector<unsigned long, 0ul> const*, unsigned long) Line | Count | Source | 25 | 923k | : m_values(values) | 26 | 923k | , m_size(size) | 27 | 923k | { | 28 | 923k | } |
Unexecuted instantiation: AK::Detail::Span<regex::CompareTypeAndValuePair const>::Span(regex::CompareTypeAndValuePair const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Locale::PluralCategory const>::Span(Locale::PluralCategory const*, unsigned long) AK::Detail::Span<Audio::Sample>::Span(Audio::Sample*, unsigned long) Line | Count | Source | 25 | 666k | : m_values(values) | 26 | 666k | , m_size(size) | 27 | 666k | { | 28 | 666k | } |
Unexecuted instantiation: AK::Detail::Span<Audio::SeekPoint const>::Span(Audio::SeekPoint const*, unsigned long) AK::Detail::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanVWXY> const>::Span(Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanVWXY> const*, unsigned long) Line | Count | Source | 25 | 108k | : m_values(values) | 26 | 108k | , m_size(size) | 27 | 108k | { | 28 | 108k | } |
AK::Detail::Span<Audio::MP3::Tables::ScaleFactorBand const>::Span(Audio::MP3::Tables::ScaleFactorBand const*, unsigned long) Line | Count | Source | 25 | 259k | : m_values(values) | 26 | 259k | , m_size(size) | 27 | 259k | { | 28 | 259k | } |
AK::Detail::Span<Shell::AST::Position const>::Span(Shell::AST::Position const*, unsigned long) Line | Count | Source | 25 | 647k | : m_values(values) | 26 | 647k | , m_size(size) | 27 | 647k | { | 28 | 647k | } |
AK::Detail::Span<Shell::AST::Position>::Span(Shell::AST::Position*, unsigned long) Line | Count | Source | 25 | 647k | : m_values(values) | 26 | 647k | , m_size(size) | 27 | 647k | { | 28 | 647k | } |
Unexecuted instantiation: AK::Detail::Span<Shell::AST::VariableDeclarations::Variable const>::Span(Shell::AST::VariableDeclarations::Variable const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::NonnullRefPtr<Shell::AST::Redirection> const>::Span(AK::NonnullRefPtr<Shell::AST::Redirection> const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Shell::AST::Command const>::Span(Shell::AST::Command const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::NonnullRefPtr<Shell::AST::Value> const>::Span(AK::NonnullRefPtr<Shell::AST::Value> const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::Variant<AK::String, long, Shell::Arithmetic::Operator> >::Span(AK::Variant<AK::String, long, Shell::Arithmetic::Operator>*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::NonnullRefPtr<Shell::AST::Node> const>::Span(AK::NonnullRefPtr<Shell::AST::Node> const*, unsigned long) AK::Detail::Span<Shell::Posix::Token const>::Span(Shell::Posix::Token const*, unsigned long) Line | Count | Source | 25 | 17.3M | : m_values(values) | 26 | 17.3M | , m_size(size) | 27 | 17.3M | { | 28 | 17.3M | } |
AK::Detail::Span<Shell::Posix::Token>::Span(Shell::Posix::Token*, unsigned long) Line | Count | Source | 25 | 17.3M | : m_values(values) | 26 | 17.3M | , m_size(size) | 27 | 17.3M | { | 28 | 17.3M | } |
Unexecuted instantiation: AK::Detail::Span<Shell::Shell::RunnablePath>::Span(Shell::Shell::RunnablePath*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Line::XtermSuggestionDisplay::PageRange>::Span(Line::XtermSuggestionDisplay::PageRange*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::OptionParser::Option const>::Span(AK::OptionParser::Option const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Web::CSS::Parser::ComponentValue const>::Span(Web::CSS::Parser::ComponentValue const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Web::CSS::PropertyID const>::Span(Web::CSS::PropertyID const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Web::CSS::Parser::Token const>::Span(Web::CSS::Parser::Token const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue> const>::Span(Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue> const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue const> const>::Span(Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue const> const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::Span(AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::Span<unsigned char const> >::Span(AK::Span<unsigned char const>*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Web::Bindings::KeyUsage const>::Span(Web::Bindings::KeyUsage const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Web::Bindings::KeyUsage>::Span(Web::Bindings::KeyUsage*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::String>::Span(AK::String*, unsigned long) Unexecuted instantiation: AK::Detail::Span<JS::NonnullGCPtr<JS::PromiseCapability> >::Span(JS::NonnullGCPtr<JS::PromiseCapability>*, unsigned long) Unexecuted instantiation: AK::Detail::Span<JS::NonnullGCPtr<JS::PromiseCapability> const>::Span(JS::NonnullGCPtr<JS::PromiseCapability> const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<JS::NonnullGCPtr<Web::HTML::VideoTrack> >::Span(JS::NonnullGCPtr<Web::HTML::VideoTrack>*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::NonnullRefPtr<Web::HTML::IdleCallback> const>::Span(AK::NonnullRefPtr<Web::HTML::IdleCallback> const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<JS::NonnullGCPtr<Web::FileAPI::Blob> const>::Span(JS::NonnullGCPtr<Web::FileAPI::Blob> const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<JS::Handle<Web::PerformanceTimeline::PerformanceEntry> const>::Span(JS::Handle<Web::PerformanceTimeline::PerformanceEntry> const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::FlyString const>::Span(AK::FlyString const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::Variant<Web::CSS::FilterOperation::Blur, Web::CSS::FilterOperation::DropShadow, Web::CSS::FilterOperation::HueRotate, Web::CSS::FilterOperation::Color> const>::Span(AK::Variant<Web::CSS::FilterOperation::Blur, Web::CSS::FilterOperation::DropShadow, Web::CSS::FilterOperation::HueRotate, Web::CSS::FilterOperation::Color> const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::ByteString const>::Span(AK::ByteString const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Web::HTML::DragDataStoreItem const>::Span(Web::HTML::DragDataStoreItem const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::Variant<Web::CSS::ResolvedFilter::Blur, Web::CSS::ResolvedFilter::DropShadow, Web::CSS::ResolvedFilter::HueRotate, Web::CSS::ResolvedFilter::Color> const>::Span(AK::Variant<Web::CSS::ResolvedFilter::Blur, Web::CSS::ResolvedFilter::DropShadow, Web::CSS::ResolvedFilter::HueRotate, Web::CSS::ResolvedFilter::Color> const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Web::Painting::BorderRadiiClip const>::Span(Web::Painting::BorderRadiiClip const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Web::SVG::Transform const>::Span(Web::SVG::Transform const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Web::SVG::PathInstruction const>::Span(Web::SVG::PathInstruction const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::Optional<int> const>::Span(AK::Optional<int> const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<JS::NonnullGCPtr<Web::UIEvents::PointerEvent> const>::Span(JS::NonnullGCPtr<Web::UIEvents::PointerEvent> const*, unsigned long) AK::Detail::Span<bool>::Span(bool*, unsigned long) Line | Count | Source | 25 | 6.74M | : m_values(values) | 26 | 6.74M | , m_size(size) | 27 | 6.74M | { | 28 | 6.74M | } |
Unexecuted instantiation: AK::Detail::Span<Wasm::ValueType const>::Span(Wasm::ValueType const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<AK::DistinctNumeric<unsigned long, Wasm::__FunctionAddress_tag, AK::DistinctNumericFeature::Arithmetic, AK::DistinctNumericFeature::Comparison, AK::DistinctNumericFeature::Increment> const>::Span(AK::DistinctNumeric<unsigned long, Wasm::__FunctionAddress_tag, AK::DistinctNumericFeature::Arithmetic, AK::DistinctNumericFeature::Comparison, AK::DistinctNumericFeature::Increment> const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Wasm::Value>::Span(Wasm::Value*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Wasm::Validator::StackEntry const>::Span(Wasm::Validator::StackEntry const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<Wasm::FunctionType const>::Span(Wasm::FunctionType const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<SQL::TupleElementDescriptor const>::Span(SQL::TupleElementDescriptor const*, unsigned long) Unexecuted instantiation: AK::Detail::Span<SQL::Value const>::Span(SQL::Value const*, unsigned long) |
29 | | |
30 | | template<size_t size> |
31 | | ALWAYS_INLINE constexpr Span(T (&values)[size]) |
32 | 1.88M | : m_values(values) |
33 | 1.88M | , m_size(size) |
34 | 1.88M | { |
35 | 1.88M | } AK::Detail::Span<short const>::Span<64ul>(short const (&) [64ul]) Line | Count | Source | 32 | 944k | : m_values(values) | 33 | 944k | , m_size(size) | 34 | 944k | { | 35 | 944k | } |
AK::Detail::Span<short>::Span<64ul>(short (&) [64ul]) Line | Count | Source | 32 | 944k | : m_values(values) | 33 | 944k | , m_size(size) | 34 | 944k | { | 35 | 944k | } |
Unexecuted instantiation: AK::Detail::Span<signed char const>::Span<6ul>(signed char const (&) [6ul]) Unexecuted instantiation: AK::Detail::Span<signed char const>::Span<8ul>(signed char const (&) [8ul]) Unexecuted instantiation: AK::Detail::Span<signed char const>::Span<18ul>(signed char const (&) [18ul]) Unexecuted instantiation: AK::Detail::Span<signed char const>::Span<22ul>(signed char const (&) [22ul]) Unexecuted instantiation: AK::Detail::Span<AK::StringView const>::Span<2ul>(AK::StringView const (&) [2ul]) Unexecuted instantiation: AK::Detail::Span<AK::StringView const>::Span<3ul>(AK::StringView const (&) [3ul]) Unexecuted instantiation: AK::Detail::Span<AK::StringView const>::Span<4ul>(AK::StringView const (&) [4ul]) Unexecuted instantiation: AK::Detail::Span<AK::StringView const>::Span<6ul>(AK::StringView const (&) [6ul]) Unexecuted instantiation: AK::Detail::Span<AK::StringView const>::Span<5ul>(AK::StringView const (&) [5ul]) Unexecuted instantiation: AK::Detail::Span<AK::StringView const>::Span<9ul>(AK::StringView const (&) [9ul]) Unexecuted instantiation: AK::Detail::Span<JS::Temporal::TimeZoneMethod const>::Span<2ul>(JS::Temporal::TimeZoneMethod const (&) [2ul]) Unexecuted instantiation: AK::Detail::Span<JS::Temporal::TimeZoneMethod const>::Span<1ul>(JS::Temporal::TimeZoneMethod const (&) [1ul]) Unexecuted instantiation: AK::Detail::Span<JS::Temporal::CalendarMethod const>::Span<2ul>(JS::Temporal::CalendarMethod const (&) [2ul]) Unexecuted instantiation: AK::Detail::Span<JS::Temporal::CalendarMethod const>::Span<4ul>(JS::Temporal::CalendarMethod const (&) [4ul]) Unexecuted instantiation: AK::Detail::Span<JS::Value const>::Span<1ul>(JS::Value const (&) [1ul]) Unexecuted instantiation: AK::Detail::Span<AK::StringView>::Span<2ul>(AK::StringView (&) [2ul]) Unexecuted instantiation: AK::Detail::Span<char>::Span<16ul>(char (&) [16ul]) Unexecuted instantiation: AK::Detail::Span<Web::Bindings::KeyUsage const>::Span<2ul>(Web::Bindings::KeyUsage const (&) [2ul]) Unexecuted instantiation: AK::Detail::Span<Web::Bindings::KeyUsage const>::Span<1ul>(Web::Bindings::KeyUsage const (&) [1ul]) |
36 | | |
37 | | template<size_t size> |
38 | | ALWAYS_INLINE constexpr Span(Array<T, size>& array) |
39 | 2.07M | : m_values(array.data()) |
40 | 2.07M | , m_size(size) |
41 | 2.07M | { |
42 | 2.07M | } |
43 | | |
44 | | template<size_t size> |
45 | | requires(IsConst<T>) |
46 | | ALWAYS_INLINE constexpr Span(Array<T, size> const& array) |
47 | | : m_values(array.data()) |
48 | | , m_size(size) |
49 | | { |
50 | | } |
51 | | |
52 | | protected: |
53 | | T* m_values { nullptr }; |
54 | | size_t m_size { 0 }; |
55 | | }; |
56 | | |
57 | | template<> |
58 | | class Span<u8> { |
59 | | public: |
60 | 60.8k | ALWAYS_INLINE constexpr Span() = default; |
61 | | |
62 | | ALWAYS_INLINE constexpr Span(u8* values, size_t size) |
63 | 2.15G | : m_values(values) |
64 | 2.15G | , m_size(size) |
65 | 2.15G | { |
66 | 2.15G | } |
67 | | |
68 | | ALWAYS_INLINE Span(void* values, size_t size) |
69 | 158M | : m_values(reinterpret_cast<u8*>(values)) |
70 | 158M | , m_size(size) |
71 | 158M | { |
72 | 158M | } |
73 | | |
74 | | template<size_t size> |
75 | | ALWAYS_INLINE constexpr Span(u8 (&values)[size]) |
76 | 0 | : m_values(values) |
77 | 0 | , m_size(size) |
78 | 0 | { |
79 | 0 | } Unexecuted instantiation: AK::Detail::Span<unsigned char>::Span<3ul>(unsigned char (&) [3ul]) Unexecuted instantiation: AK::Detail::Span<unsigned char>::Span<4ul>(unsigned char (&) [4ul]) Unexecuted instantiation: AK::Detail::Span<unsigned char>::Span<256ul>(unsigned char (&) [256ul]) Unexecuted instantiation: AK::Detail::Span<unsigned char>::Span<64ul>(unsigned char (&) [64ul]) Unexecuted instantiation: AK::Detail::Span<unsigned char>::Span<16ul>(unsigned char (&) [16ul]) Unexecuted instantiation: AK::Detail::Span<unsigned char>::Span<4096ul>(unsigned char (&) [4096ul]) |
80 | | |
81 | | protected: |
82 | | u8* m_values { nullptr }; |
83 | | size_t m_size { 0 }; |
84 | | }; |
85 | | |
86 | | template<> |
87 | | class Span<u8 const> { |
88 | | public: |
89 | 116k | ALWAYS_INLINE constexpr Span() = default; |
90 | | |
91 | | ALWAYS_INLINE constexpr Span(u8 const* values, size_t size) |
92 | 4.20G | : m_values(values) |
93 | 4.20G | , m_size(size) |
94 | 4.20G | { |
95 | 4.20G | } |
96 | | |
97 | | ALWAYS_INLINE Span(void const* values, size_t size) |
98 | 14.4M | : m_values(reinterpret_cast<u8 const*>(values)) |
99 | 14.4M | , m_size(size) |
100 | 14.4M | { |
101 | 14.4M | } |
102 | | |
103 | | ALWAYS_INLINE Span(char const* values, size_t size) |
104 | 89.0M | : m_values(reinterpret_cast<u8 const*>(values)) |
105 | 89.0M | , m_size(size) |
106 | 89.0M | { |
107 | 89.0M | } |
108 | | |
109 | | template<size_t size> |
110 | | ALWAYS_INLINE constexpr Span(u8 const (&values)[size]) |
111 | 4.32k | : m_values(values) |
112 | 4.32k | , m_size(size) |
113 | 4.32k | { |
114 | 4.32k | } AK::Detail::Span<unsigned char const>::Span<8ul>(unsigned char const (&) [8ul]) Line | Count | Source | 111 | 280 | : m_values(values) | 112 | 280 | , m_size(size) | 113 | 280 | { | 114 | 280 | } |
Unexecuted instantiation: AK::Detail::Span<unsigned char const>::Span<3ul>(unsigned char const (&) [3ul]) AK::Detail::Span<unsigned char const>::Span<4ul>(unsigned char const (&) [4ul]) Line | Count | Source | 111 | 2.39k | : m_values(values) | 112 | 2.39k | , m_size(size) | 113 | 2.39k | { | 114 | 2.39k | } |
AK::Detail::Span<unsigned char const>::Span<12ul>(unsigned char const (&) [12ul]) Line | Count | Source | 111 | 1.65k | : m_values(values) | 112 | 1.65k | , m_size(size) | 113 | 1.65k | { | 114 | 1.65k | } |
Unexecuted instantiation: AK::Detail::Span<unsigned char const>::Span<9ul>(unsigned char const (&) [9ul]) Unexecuted instantiation: AK::Detail::Span<unsigned char const>::Span<11ul>(unsigned char const (&) [11ul]) Unexecuted instantiation: AK::Detail::Span<unsigned char const>::Span<16ul>(unsigned char const (&) [16ul]) Unexecuted instantiation: AK::Detail::Span<unsigned char const>::Span<256ul>(unsigned char const (&) [256ul]) Unexecuted instantiation: AK::Detail::Span<unsigned char const>::Span<64ul>(unsigned char const (&) [64ul]) |
115 | | |
116 | | protected: |
117 | | u8 const* m_values { nullptr }; |
118 | | size_t m_size { 0 }; |
119 | | }; |
120 | | |
121 | | } |
122 | | |
123 | | template<typename T> |
124 | | class Span : public Detail::Span<T> { |
125 | | public: |
126 | | using Detail::Span<T>::Span; |
127 | | |
128 | 5.38M | constexpr Span() = default; AK::Span<unsigned char const>::Span() Line | Count | Source | 128 | 116k | constexpr Span() = default; |
Line | Count | Source | 128 | 472k | constexpr Span() = default; |
AK::Span<float const>::Span() Line | Count | Source | 128 | 217k | constexpr Span() = default; |
Unexecuted instantiation: AK::Span<Gfx::Point<unsigned int> >::Span() AK::Span<unsigned char>::Span() Line | Count | Source | 128 | 60.8k | constexpr Span() = default; |
AK::Span<AK::BigEndian<short> const>::Span() Line | Count | Source | 128 | 801 | constexpr Span() = default; |
Unexecuted instantiation: AK::Span<unsigned short const>::Span() Unexecuted instantiation: AK::Span<TimeZone::TimeZoneIdentifier const>::Span() AK::Span<unsigned int const>::Span() Line | Count | Source | 128 | 1 | constexpr Span() = default; |
Unexecuted instantiation: AK::Span<Unicode::BlockName const>::Span() AK::Span<Unicode::SpecialCasing const>::Span() Line | Count | Source | 128 | 20.3k | constexpr Span() = default; |
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::Span() AK::Span<JS::Value>::Span() Line | Count | Source | 128 | 102 | constexpr Span() = default; |
Unexecuted instantiation: AK::Span<JS::Value const>::Span() Unexecuted instantiation: AK::Span<AK::String const>::Span() Unexecuted instantiation: AK::Span<AK::StringView const>::Span() Unexecuted instantiation: AK::Span<unsigned long const>::Span() Unexecuted instantiation: AK::Span<signed char const>::Span() Unexecuted instantiation: AK::Span<short const>::Span() Unexecuted instantiation: AK::Span<int const>::Span() Unexecuted instantiation: AK::Span<long const>::Span() Unexecuted instantiation: AK::Span<double const>::Span() Unexecuted instantiation: AK::Span<unsigned short>::Span() Unexecuted instantiation: AK::Span<unsigned int>::Span() Unexecuted instantiation: AK::Span<unsigned long>::Span() Unexecuted instantiation: AK::Span<signed char>::Span() Unexecuted instantiation: AK::Span<short>::Span() Unexecuted instantiation: AK::Span<int>::Span() Unexecuted instantiation: AK::Span<long>::Span() Unexecuted instantiation: AK::Span<double>::Span() Unexecuted instantiation: AK::Span<Locale::PluralCategory const>::Span() Unexecuted instantiation: AK::Span<AK::StringView>::Span() Unexecuted instantiation: AK::Span<AK::OptionParser::Option const>::Span() Unexecuted instantiation: AK::Span<Web::Painting::BorderRadiiClip const>::Span() Line | Count | Source | 128 | 4.49M | constexpr Span() = default; |
|
129 | | |
130 | 2.14G | [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; }AK::Span<unsigned char>::data() const Line | Count | Source | 130 | 352M | [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; } |
AK::Span<unsigned char const>::data() const Line | Count | Source | 130 | 1.74G | [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; } |
Unexecuted instantiation: AK::Span<unsigned short const>::data() const Unexecuted instantiation: AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::data() const Unexecuted instantiation: AK::Span<Gfx::JBIG2::Code>::data() const AK::Span<float const>::data() const Line | Count | Source | 130 | 637k | [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; } |
AK::Span<short const>::data() const Line | Count | Source | 130 | 944k | [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; } |
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::ChannelInfo>::data() const AK::Span<unsigned int>::data() const Line | Count | Source | 130 | 106 | [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; } |
AK::Span<Gfx::Color>::data() const Line | Count | Source | 130 | 830 | [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; } |
Unexecuted instantiation: AK::Span<AK::StringView const>::data() const AK::Span<unsigned long>::data() const Line | Count | Source | 130 | 35.8M | [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; } |
AK::Span<unsigned long const>::data() const Line | Count | Source | 130 | 15.1k | [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; } |
Unexecuted instantiation: AK::Span<unsigned int const>::data() const Unexecuted instantiation: AK::Span<Unicode::BlockName>::data() const AK::Span<JS::Value>::data() const Line | Count | Source | 130 | 400k | [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; } |
AK::Span<JS::CallExpressionArgument>::data() const Line | Count | Source | 130 | 3.06k | [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; } |
Unexecuted instantiation: AK::Span<JS::DeclarativeEnvironment::Binding>::data() const Unexecuted instantiation: AK::Span<AK::StringView>::data() const AK::Span<Shell::AST::Position>::data() const Line | Count | Source | 130 | 647k | [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; } |
AK::Span<Shell::Posix::Token>::data() const Line | Count | Source | 130 | 17.3M | [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; } |
AK::Span<int>::data() const Line | Count | Source | 130 | 31.2k | [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; } |
AK::Span<int const>::data() const Line | Count | Source | 130 | 59.4k | [[nodiscard]] ALWAYS_INLINE constexpr T const* data() const { return this->m_values; } |
Unexecuted instantiation: AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue> const>::data() const Unexecuted instantiation: AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue const> const>::data() const Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::data() const Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage>::data() const Unexecuted instantiation: AK::Span<AK::String>::data() const Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> >::data() const Unexecuted instantiation: AK::Span<float>::data() const Unexecuted instantiation: AK::Span<double>::data() const Unexecuted instantiation: AK::Span<AK::Optional<int> const>::data() const |
131 | 2.99G | [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; }AK::Span<unsigned char const>::data() Line | Count | Source | 131 | 1.82G | [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; } |
AK::Span<unsigned char>::data() Line | Count | Source | 131 | 1.05G | [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; } |
AK::Span<AK::Vector<unsigned char, 0ul> const>::data() Line | Count | Source | 131 | 175k | [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; } |
Unexecuted instantiation: AK::Span<Gfx::BilevelSubImage const>::data() Line | Count | Source | 131 | 637k | [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; } |
Line | Count | Source | 131 | 944k | [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; } |
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::ChannelInfo const>::data() Unexecuted instantiation: AK::Span<unsigned int const>::data() Unexecuted instantiation: AK::Span<Gfx::Point<unsigned int> const>::data() Unexecuted instantiation: AK::Span<Gfx::PathSegment::Command const>::data() Unexecuted instantiation: AK::Span<Gfx::Point<float> const>::data() AK::Span<AK::StringView const>::data() Line | Count | Source | 131 | 38 | [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; } |
Unexecuted instantiation: AK::Span<char>::data() Unexecuted instantiation: AK::Span<pollfd>::data() Unexecuted instantiation: AK::Span<unsigned int>::data() AK::Span<AK::Variant<XML::ElementDeclaration, XML::AttributeListDeclaration, AK::Variant<XML::GEDeclaration, XML::PEDeclaration>, XML::NotationDeclaration> const>::data() Line | Count | Source | 131 | 2.13k | [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; } |
AK::Span<JS::Value>::data() Line | Count | Source | 131 | 194 | [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; } |
AK::Span<AK::Vector<unsigned long, 0ul> const>::data() Line | Count | Source | 131 | 923k | [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; } |
AK::Span<AK::NonnullRefPtr<JS::Identifier> const>::data() Line | Count | Source | 131 | 20.1k | [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; } |
AK::Span<JS::ParserError const>::data() Line | Count | Source | 131 | 218 | [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; } |
Unexecuted instantiation: AK::Span<JS::Value const>::data() Unexecuted instantiation: AK::Span<JS::DeclarativeEnvironment::Binding const>::data() Unexecuted instantiation: AK::Span<unsigned short const>::data() Unexecuted instantiation: AK::Span<JS::ImportEntry const>::data() Unexecuted instantiation: AK::Span<regex::CompareTypeAndValuePair const>::data() AK::Span<Shell::AST::Position const>::data() Line | Count | Source | 131 | 647k | [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; } |
Unexecuted instantiation: AK::Span<Shell::AST::VariableDeclarations::Variable const>::data() Unexecuted instantiation: AK::Span<AK::String const>::data() Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Shell::AST::Redirection> const>::data() Unexecuted instantiation: AK::Span<Shell::AST::Command const>::data() Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Shell::AST::Value> const>::data() Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Shell::AST::Node> const>::data() AK::Span<Shell::Posix::Token const>::data() Line | Count | Source | 131 | 17.3M | [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; } |
Unexecuted instantiation: AK::Span<AK::StringView>::data() Unexecuted instantiation: AK::Span<int const>::data() Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Web::HTML::IdleCallback> const>::data() Unexecuted instantiation: AK::Span<JS::Handle<Web::PerformanceTimeline::PerformanceEntry> const>::data() Unexecuted instantiation: AK::Span<AK::ByteString const>::data() Unexecuted instantiation: AK::Span<double const>::data() Unexecuted instantiation: AK::Span<Wasm::Validator::StackEntry const>::data() AK::Span<unsigned short>::data() Line | Count | Source | 131 | 184k | [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; } |
Line | Count | Source | 131 | 94.2M | [[nodiscard]] ALWAYS_INLINE constexpr T* data() { return this->m_values; } |
Unexecuted instantiation: AK::Span<Wasm::ValueType const>::data() Unexecuted instantiation: AK::Span<AK::DistinctNumeric<unsigned long, Wasm::__FunctionAddress_tag, AK::DistinctNumericFeature::Arithmetic, AK::DistinctNumericFeature::Comparison, AK::DistinctNumericFeature::Increment> const>::data() Unexecuted instantiation: AK::Span<Wasm::FunctionType const>::data() Unexecuted instantiation: AK::Span<SQL::TupleElementDescriptor const>::data() Unexecuted instantiation: AK::Span<SQL::Value const>::data() |
132 | | |
133 | 0 | [[nodiscard]] ALWAYS_INLINE constexpr T const* offset_pointer(size_t offset) const { return this->m_values + offset; }Unexecuted instantiation: AK::Span<unsigned char>::offset_pointer(unsigned long) const Unexecuted instantiation: AK::Span<unsigned char const>::offset_pointer(unsigned long) const Unexecuted instantiation: AK::Span<unsigned int const>::offset_pointer(unsigned long) const |
134 | 12.8M | [[nodiscard]] ALWAYS_INLINE constexpr T* offset_pointer(size_t offset) { return this->m_values + offset; }AK::Span<unsigned char>::offset_pointer(unsigned long) Line | Count | Source | 134 | 1.16M | [[nodiscard]] ALWAYS_INLINE constexpr T* offset_pointer(size_t offset) { return this->m_values + offset; } |
AK::Span<unsigned char const>::offset_pointer(unsigned long) Line | Count | Source | 134 | 11.6M | [[nodiscard]] ALWAYS_INLINE constexpr T* offset_pointer(size_t offset) { return this->m_values + offset; } |
|
135 | | |
136 | | using ConstIterator = SimpleIterator<Span const, T const>; |
137 | | using Iterator = SimpleIterator<Span, T>; |
138 | | |
139 | 0 | constexpr ConstIterator begin() const { return ConstIterator::begin(*this); }Unexecuted instantiation: AK::Span<unsigned char const>::begin() const Unexecuted instantiation: AK::Span<Gfx::JBIG2::Code const>::begin() const Unexecuted instantiation: AK::Span<OpenType::CBLC::BitmapSize const>::begin() const Unexecuted instantiation: AK::Span<OpenType::FeatureRecord const>::begin() const Unexecuted instantiation: AK::Span<unsigned int const>::begin() const Unexecuted instantiation: AK::Span<JS::Value const>::begin() const Unexecuted instantiation: AK::Span<AK::String const>::begin() const Unexecuted instantiation: AK::Span<unsigned short const>::begin() const Unexecuted instantiation: AK::Span<AK::StringView>::begin() const Unexecuted instantiation: AK::Span<AK::FlyString const>::begin() const |
140 | 79.8M | constexpr Iterator begin() { return Iterator::begin(*this); }AK::Span<unsigned char>::begin() Line | Count | Source | 140 | 160k | constexpr Iterator begin() { return Iterator::begin(*this); } |
AK::Span<unsigned char const>::begin() Line | Count | Source | 140 | 2.15M | constexpr Iterator begin() { return Iterator::begin(*this); } |
Unexecuted instantiation: AK::Span<float>::begin() AK::Span<Gfx::JPEG2000::SubBand const>::begin() Line | Count | Source | 140 | 233k | constexpr Iterator begin() { return Iterator::begin(*this); } |
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> >::begin() Unexecuted instantiation: AK::Span<Gfx::Point<int> const>::begin() AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::begin() Line | Count | Source | 140 | 437 | constexpr Iterator begin() { return Iterator::begin(*this); } |
AK::Span<Gfx::Line<float> const>::begin() Line | Count | Source | 140 | 107k | constexpr Iterator begin() { return Iterator::begin(*this); } |
Unexecuted instantiation: AK::Span<OpenType::EBLC::IndexSubTableArray const>::begin() Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::begin() Unexecuted instantiation: AK::Span<Gfx::Point<float> const>::begin() AK::Span<unsigned short const>::begin() Line | Count | Source | 140 | 55.8k | constexpr Iterator begin() { return Iterator::begin(*this); } |
AK::Span<unsigned long const>::begin() Line | Count | Source | 140 | 76.4M | constexpr Iterator begin() { return Iterator::begin(*this); } |
Unexecuted instantiation: AK::Span<addrinfo const>::begin() Unexecuted instantiation: EventLoopImplementationUnix.cpp:AK::Span<Core::(anonymous namespace)::EventLoopTimeout* const>::begin() Unexecuted instantiation: AK::Span<pollfd>::begin() Unexecuted instantiation: AK::Span<unsigned int>::begin() AK::Span<Unicode::SpecialCasing const>::begin() Line | Count | Source | 140 | 21.3k | constexpr Iterator begin() { return Iterator::begin(*this); } |
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::begin() AK::Span<JS::CallExpressionArgument const>::begin() Line | Count | Source | 140 | 3.06k | constexpr Iterator begin() { return Iterator::begin(*this); } |
Unexecuted instantiation: AK::Span<JS::Value>::begin() AK::Span<AK::StringView const>::begin() Line | Count | Source | 140 | 2.55k | constexpr Iterator begin() { return Iterator::begin(*this); } |
Unexecuted instantiation: AK::Span<AK::String const>::begin() Unexecuted instantiation: AK::Span<TimeZone::TimeZoneIdentifier const>::begin() Unexecuted instantiation: AK::Span<JS::Intl::PatternPartition const>::begin() Unexecuted instantiation: AK::Span<Locale::CalendarRangePattern const>::begin() Unexecuted instantiation: AK::Span<Locale::PluralCategory const>::begin() Unexecuted instantiation: AK::Span<JS::Temporal::CalendarMethod const>::begin() Unexecuted instantiation: AK::Span<JS::Temporal::TimeZoneMethod const>::begin() Unexecuted instantiation: AK::Span<JS::Value const>::begin() AK::Span<regex::ByteCode>::begin() Line | Count | Source | 140 | 6.82k | constexpr Iterator begin() { return Iterator::begin(*this); } |
Unexecuted instantiation: AK::Span<unsigned int const>::begin() AK::Span<unsigned short>::begin() Line | Count | Source | 140 | 642k | constexpr Iterator begin() { return Iterator::begin(*this); } |
Unexecuted instantiation: AK::Span<Audio::Sample const>::begin() Unexecuted instantiation: AK::Span<AK::StringView>::begin() AK::Span<int const>::begin() Line | Count | Source | 140 | 412 | constexpr Iterator begin() { return Iterator::begin(*this); } |
Unexecuted instantiation: AK::Span<Web::CSS::PropertyID const>::begin() Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::begin() Unexecuted instantiation: AK::Span<AK::Span<unsigned char const> >::begin() Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage const>::begin() Unexecuted instantiation: AK::Span<unsigned long>::begin() Unexecuted instantiation: AK::Span<Web::HTML::SelectedFile>::begin() Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> const>::begin() Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::HTML::VideoTrack> >::begin() Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::FileAPI::Blob> const>::begin() Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::FilterOperation::Blur, Web::CSS::FilterOperation::DropShadow, Web::CSS::FilterOperation::HueRotate, Web::CSS::FilterOperation::Color> const>::begin() Unexecuted instantiation: AK::Span<AK::ByteString const>::begin() Unexecuted instantiation: AK::Span<Web::HTML::DragDataStoreItem const>::begin() Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::ResolvedFilter::Blur, Web::CSS::ResolvedFilter::DropShadow, Web::CSS::ResolvedFilter::HueRotate, Web::CSS::ResolvedFilter::Color> const>::begin() Unexecuted instantiation: AK::Span<Web::SVG::Transform const>::begin() Unexecuted instantiation: AK::Span<Web::SVG::PathInstruction const>::begin() Unexecuted instantiation: AK::Span<Wasm::Validator::StackEntry const>::begin() Unexecuted instantiation: AK::Span<Wasm::ValueType const>::begin() Unexecuted instantiation: AK::Span<Wasm::Value>::begin() |
141 | | |
142 | 0 | constexpr ConstIterator end() const { return ConstIterator::end(*this); }Unexecuted instantiation: AK::Span<unsigned char const>::end() const Unexecuted instantiation: AK::Span<Gfx::JBIG2::Code const>::end() const Unexecuted instantiation: AK::Span<OpenType::CBLC::BitmapSize const>::end() const Unexecuted instantiation: AK::Span<OpenType::FeatureRecord const>::end() const Unexecuted instantiation: AK::Span<unsigned int const>::end() const Unexecuted instantiation: AK::Span<JS::Value const>::end() const Unexecuted instantiation: AK::Span<AK::String const>::end() const Unexecuted instantiation: AK::Span<unsigned short const>::end() const Unexecuted instantiation: AK::Span<AK::StringView>::end() const Unexecuted instantiation: AK::Span<AK::FlyString const>::end() const |
143 | 79.8M | constexpr Iterator end() { return Iterator::end(*this); }AK::Span<unsigned char>::end() Line | Count | Source | 143 | 160k | constexpr Iterator end() { return Iterator::end(*this); } |
AK::Span<unsigned char const>::end() Line | Count | Source | 143 | 2.15M | constexpr Iterator end() { return Iterator::end(*this); } |
Unexecuted instantiation: AK::Span<float>::end() AK::Span<Gfx::JPEG2000::SubBand const>::end() Line | Count | Source | 143 | 233k | constexpr Iterator end() { return Iterator::end(*this); } |
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> >::end() Unexecuted instantiation: AK::Span<Gfx::Point<int> const>::end() AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::end() Line | Count | Source | 143 | 437 | constexpr Iterator end() { return Iterator::end(*this); } |
AK::Span<Gfx::Line<float> const>::end() Line | Count | Source | 143 | 107k | constexpr Iterator end() { return Iterator::end(*this); } |
Unexecuted instantiation: AK::Span<OpenType::EBLC::IndexSubTableArray const>::end() Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::end() Unexecuted instantiation: AK::Span<Gfx::Point<float> const>::end() AK::Span<unsigned short const>::end() Line | Count | Source | 143 | 55.8k | constexpr Iterator end() { return Iterator::end(*this); } |
AK::Span<unsigned long const>::end() Line | Count | Source | 143 | 76.4M | constexpr Iterator end() { return Iterator::end(*this); } |
Unexecuted instantiation: AK::Span<addrinfo const>::end() Unexecuted instantiation: EventLoopImplementationUnix.cpp:AK::Span<Core::(anonymous namespace)::EventLoopTimeout* const>::end() Unexecuted instantiation: AK::Span<pollfd>::end() Unexecuted instantiation: AK::Span<unsigned int>::end() AK::Span<Unicode::SpecialCasing const>::end() Line | Count | Source | 143 | 21.3k | constexpr Iterator end() { return Iterator::end(*this); } |
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::end() AK::Span<JS::CallExpressionArgument const>::end() Line | Count | Source | 143 | 3.06k | constexpr Iterator end() { return Iterator::end(*this); } |
Unexecuted instantiation: AK::Span<JS::Value>::end() AK::Span<AK::StringView const>::end() Line | Count | Source | 143 | 2.55k | constexpr Iterator end() { return Iterator::end(*this); } |
Unexecuted instantiation: AK::Span<AK::String const>::end() Unexecuted instantiation: AK::Span<TimeZone::TimeZoneIdentifier const>::end() Unexecuted instantiation: AK::Span<JS::Intl::PatternPartition const>::end() Unexecuted instantiation: AK::Span<Locale::CalendarRangePattern const>::end() Unexecuted instantiation: AK::Span<Locale::PluralCategory const>::end() Unexecuted instantiation: AK::Span<JS::Temporal::CalendarMethod const>::end() Unexecuted instantiation: AK::Span<JS::Temporal::TimeZoneMethod const>::end() Unexecuted instantiation: AK::Span<JS::Value const>::end() AK::Span<regex::ByteCode>::end() Line | Count | Source | 143 | 6.82k | constexpr Iterator end() { return Iterator::end(*this); } |
Unexecuted instantiation: AK::Span<unsigned int const>::end() AK::Span<unsigned short>::end() Line | Count | Source | 143 | 642k | constexpr Iterator end() { return Iterator::end(*this); } |
Unexecuted instantiation: AK::Span<Audio::Sample const>::end() Unexecuted instantiation: AK::Span<AK::StringView>::end() AK::Span<int const>::end() Line | Count | Source | 143 | 412 | constexpr Iterator end() { return Iterator::end(*this); } |
Unexecuted instantiation: AK::Span<Web::CSS::PropertyID const>::end() Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::end() Unexecuted instantiation: AK::Span<AK::Span<unsigned char const> >::end() Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage const>::end() Unexecuted instantiation: AK::Span<Web::HTML::SelectedFile>::end() Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> const>::end() Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::HTML::VideoTrack> >::end() Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::FileAPI::Blob> const>::end() Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::FilterOperation::Blur, Web::CSS::FilterOperation::DropShadow, Web::CSS::FilterOperation::HueRotate, Web::CSS::FilterOperation::Color> const>::end() Unexecuted instantiation: AK::Span<AK::ByteString const>::end() Unexecuted instantiation: AK::Span<Web::HTML::DragDataStoreItem const>::end() Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::ResolvedFilter::Blur, Web::CSS::ResolvedFilter::DropShadow, Web::CSS::ResolvedFilter::HueRotate, Web::CSS::ResolvedFilter::Color> const>::end() Unexecuted instantiation: AK::Span<Web::SVG::Transform const>::end() Unexecuted instantiation: AK::Span<Web::SVG::PathInstruction const>::end() Unexecuted instantiation: AK::Span<Wasm::Validator::StackEntry const>::end() Unexecuted instantiation: AK::Span<Wasm::ValueType const>::end() Unexecuted instantiation: AK::Span<Wasm::Value>::end() |
144 | | |
145 | 49.8G | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; }AK::Span<unsigned char const>::size() const Line | Count | Source | 145 | 37.6G | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<unsigned char>::size() const Line | Count | Source | 145 | 7.27G | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<unsigned short const>::size() const Line | Count | Source | 145 | 111k | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<Gfx::Point<float> const>::size() const Line | Count | Source | 145 | 1.70G | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<AK::Vector<unsigned char, 0ul> const>::size() const Line | Count | Source | 145 | 527k | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<Gfx::BilevelSubImage const>::size() const Unexecuted instantiation: AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::size() const Unexecuted instantiation: AK::Span<Gfx::JBIG2::Code>::size() const Unexecuted instantiation: AK::Span<unsigned int const>::size() const AK::Span<float const>::size() const Line | Count | Source | 145 | 123M | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<float>::size() const Line | Count | Source | 145 | 8.41M | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<Gfx::CCITT::Change>::size() const Unexecuted instantiation: AK::Span<Gfx::JBIG2::Code const>::size() const AK::Span<Gfx::JPEG2000::SubBand const>::size() const Line | Count | Source | 145 | 233k | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<short>::size() const Line | Count | Source | 145 | 2.26M | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<short const>::size() const Line | Count | Source | 145 | 1.88M | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::ChannelInfo const>::size() const Unexecuted instantiation: AK::Span<Gfx::JPEGXL::ChannelInfo>::size() const AK::Span<int>::size() const Line | Count | Source | 145 | 21.1M | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<Gfx::Point<unsigned int> >::size() const AK::Span<unsigned int>::size() const Line | Count | Source | 145 | 721 | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<int> >::size() const Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> >::size() const Unexecuted instantiation: AK::Span<Gfx::Point<int> const>::size() const Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Frame>::size() const Unexecuted instantiation: AK::Span<Gfx::Point<unsigned int> const>::size() const AK::Span<Gfx::Color>::size() const Line | Count | Source | 145 | 830 | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<Gfx::Color const>::size() const Line | Count | Source | 145 | 225k | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::size() const Line | Count | Source | 145 | 437 | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<Gfx::ColorStop const>::size() const Line | Count | Source | 145 | 21.8M | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<Gfx::Line<float> const>::size() const Line | Count | Source | 145 | 213k | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<OpenType::Hmtx::LongHorMetric const>::size() const Unexecuted instantiation: AK::Span<AK::BigEndian<short> const>::size() const Unexecuted instantiation: AK::Span<OpenType::Kern::Format0Pair const>::size() const Unexecuted instantiation: AK::Span<OpenType::CBLC::BitmapSize const>::size() const Unexecuted instantiation: AK::Span<OpenType::EBLC::IndexSubTableArray const>::size() const Unexecuted instantiation: AK::Span<OpenType::FeatureRecord const>::size() const Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::size() const AK::Span<unsigned long const>::size() const Line | Count | Source | 145 | 2.50G | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<Gfx::PathSegment::Command const>::size() const AK::Span<AK::StringView const>::size() const Line | Count | Source | 145 | 2.67k | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<unsigned long>::size() const Line | Count | Source | 145 | 336M | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<addrinfo const>::size() const Unexecuted instantiation: EventLoopImplementationUnix.cpp:AK::Span<Core::(anonymous namespace)::EventLoopTimeout* const>::size() const Unexecuted instantiation: AK::Span<char>::size() const Unexecuted instantiation: AK::Span<pollfd>::size() const AK::Span<Unicode::SpecialCasing const>::size() const Line | Count | Source | 145 | 22.2k | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::size() const Unexecuted instantiation: AK::Span<Unicode::BlockName>::size() const AK::Span<AK::Variant<XML::ElementDeclaration, XML::AttributeListDeclaration, AK::Variant<XML::GEDeclaration, XML::PEDeclaration>, XML::NotationDeclaration> const>::size() const Line | Count | Source | 145 | 6.40k | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<JS::Value>::size() const Unexecuted instantiation: AK::Span<JS::Bytecode::Operand const>::size() const AK::Span<JS::Value const>::size() const Line | Count | Source | 145 | 3 | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<JS::Bytecode::ScopedOperand const>::size() const Line | Count | Source | 145 | 2 | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<AK::Optional<JS::Bytecode::ScopedOperand> const>::size() const AK::Span<AK::Vector<unsigned long, 0ul> const>::size() const Line | Count | Source | 145 | 2.77M | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<JS::CallExpressionArgument const>::size() const Line | Count | Source | 145 | 16.8k | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<AK::NonnullRefPtr<JS::Identifier> const>::size() const Line | Count | Source | 145 | 60.3k | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<JS::CallExpressionArgument>::size() const Line | Count | Source | 145 | 3.06k | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<JS::ParserError const>::size() const Line | Count | Source | 145 | 654 | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<JS::DeclarativeEnvironment::Binding>::size() const Unexecuted instantiation: AK::Span<JS::DeclarativeEnvironment::Binding const>::size() const Unexecuted instantiation: AK::Span<AK::String const>::size() const Unexecuted instantiation: AK::Span<TimeZone::TimeZoneIdentifier const>::size() const Unexecuted instantiation: AK::Span<JS::Intl::PatternPartition const>::size() const Unexecuted instantiation: AK::Span<Locale::CalendarRangePattern const>::size() const Unexecuted instantiation: AK::Span<AK::StringView>::size() const AK::Span<int const>::size() const Line | Count | Source | 145 | 92.6k | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<Locale::PluralCategory const>::size() const Unexecuted instantiation: AK::Span<JS::Temporal::CalendarMethod const>::size() const Unexecuted instantiation: AK::Span<JS::Temporal::TimeZoneMethod const>::size() const AK::Span<JS::Position>::size() const Line | Count | Source | 145 | 3.43k | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<JS::ImportEntry const>::size() const AK::Span<regex::ByteCode>::size() const Line | Count | Source | 145 | 26.8M | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<regex::CompareTypeAndValuePair const>::size() const AK::Span<unsigned short>::size() const Line | Count | Source | 145 | 30.3M | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<Audio::Sample const>::size() const AK::Span<Audio::Sample>::size() const Line | Count | Source | 145 | 5.24M | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<Audio::MP3::Tables::ScaleFactorBand const>::size() const Line | Count | Source | 145 | 499k | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<Shell::AST::Position>::size() const Line | Count | Source | 145 | 647k | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<Shell::AST::Position const>::size() const Line | Count | Source | 145 | 1.94M | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<Shell::AST::VariableDeclarations::Variable const>::size() const Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Shell::AST::Redirection> const>::size() const Unexecuted instantiation: AK::Span<Shell::AST::Command const>::size() const Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Shell::AST::Value> const>::size() const Unexecuted instantiation: AK::Span<AK::Variant<AK::String, long, Shell::Arithmetic::Operator> >::size() const Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Shell::AST::Node> const>::size() const AK::Span<Shell::Posix::Token>::size() const Line | Count | Source | 145 | 17.3M | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
AK::Span<Shell::Posix::Token const>::size() const Line | Count | Source | 145 | 51.9M | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<Shell::Shell::RunnablePath>::size() const Unexecuted instantiation: AK::Span<Line::XtermSuggestionDisplay::PageRange>::size() const Unexecuted instantiation: AK::Span<AK::OptionParser::Option const>::size() const Unexecuted instantiation: AK::Span<Web::CSS::Parser::ComponentValue const>::size() const Unexecuted instantiation: AK::Span<Web::CSS::Parser::Token const>::size() const Unexecuted instantiation: AK::Span<Web::CSS::PropertyID const>::size() const Unexecuted instantiation: AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue> const>::size() const Unexecuted instantiation: AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue const> const>::size() const Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::size() const Unexecuted instantiation: AK::Span<AK::Span<unsigned char const> >::size() const Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage const>::size() const Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage>::size() const Unexecuted instantiation: AK::Span<AK::String>::size() const Unexecuted instantiation: AK::Span<Web::HTML::SelectedFile>::size() const Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> >::size() const Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> const>::size() const Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::HTML::VideoTrack> >::size() const Unexecuted instantiation: AK::Span<double>::size() const Unexecuted instantiation: AK::Span<double const>::size() const Unexecuted instantiation: AK::Span<AK::NonnullRefPtr<Web::HTML::IdleCallback> const>::size() const Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::FileAPI::Blob> const>::size() const Unexecuted instantiation: AK::Span<JS::Handle<Web::PerformanceTimeline::PerformanceEntry> const>::size() const Unexecuted instantiation: AK::Span<AK::FlyString const>::size() const Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::FilterOperation::Blur, Web::CSS::FilterOperation::DropShadow, Web::CSS::FilterOperation::HueRotate, Web::CSS::FilterOperation::Color> const>::size() const Unexecuted instantiation: AK::Span<AK::ByteString const>::size() const Unexecuted instantiation: AK::Span<Web::HTML::DragDataStoreItem const>::size() const Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::ResolvedFilter::Blur, Web::CSS::ResolvedFilter::DropShadow, Web::CSS::ResolvedFilter::HueRotate, Web::CSS::ResolvedFilter::Color> const>::size() const Unexecuted instantiation: AK::Span<Web::Painting::BorderRadiiClip const>::size() const Unexecuted instantiation: AK::Span<Web::SVG::Transform const>::size() const Unexecuted instantiation: AK::Span<Web::SVG::PathInstruction const>::size() const Unexecuted instantiation: AK::Span<AK::Optional<int> const>::size() const Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::UIEvents::PointerEvent> const>::size() const Unexecuted instantiation: AK::Span<Wasm::Validator::StackEntry const>::size() const AK::Span<bool>::size() const Line | Count | Source | 145 | 71.3M | [[nodiscard]] ALWAYS_INLINE constexpr size_t size() const { return this->m_size; } |
Unexecuted instantiation: AK::Span<Wasm::ValueType const>::size() const Unexecuted instantiation: AK::Span<AK::DistinctNumeric<unsigned long, Wasm::__FunctionAddress_tag, AK::DistinctNumericFeature::Arithmetic, AK::DistinctNumericFeature::Comparison, AK::DistinctNumericFeature::Increment> const>::size() const Unexecuted instantiation: AK::Span<Wasm::Value>::size() const Unexecuted instantiation: AK::Span<Wasm::FunctionType const>::size() const Unexecuted instantiation: AK::Span<SQL::Value const>::size() const Unexecuted instantiation: AK::Span<SQL::TupleElementDescriptor const>::size() const |
146 | 0 | [[nodiscard]] ALWAYS_INLINE constexpr bool is_null() const { return this->m_values == nullptr; }Unexecuted instantiation: AK::Span<unsigned short const>::is_null() const Unexecuted instantiation: AK::Span<unsigned char>::is_null() const Unexecuted instantiation: AK::Span<unsigned short>::is_null() const Unexecuted instantiation: AK::Span<unsigned int>::is_null() const Unexecuted instantiation: AK::Span<unsigned long>::is_null() const Unexecuted instantiation: AK::Span<signed char>::is_null() const Unexecuted instantiation: AK::Span<short>::is_null() const Unexecuted instantiation: AK::Span<int>::is_null() const Unexecuted instantiation: AK::Span<long>::is_null() const Unexecuted instantiation: AK::Span<float>::is_null() const Unexecuted instantiation: AK::Span<double>::is_null() const Unexecuted instantiation: AK::Span<unsigned char const>::is_null() const |
147 | 1.12G | [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; }AK::Span<unsigned char>::is_empty() const Line | Count | Source | 147 | 92.3M | [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; } |
AK::Span<unsigned char const>::is_empty() const Line | Count | Source | 147 | 901k | [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; } |
Unexecuted instantiation: AK::Span<unsigned short const>::is_empty() const Unexecuted instantiation: AK::Span<Gfx::CCITT::Change>::is_empty() const AK::Span<Gfx::ColorStop const>::is_empty() const Line | Count | Source | 147 | 502k | [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; } |
AK::Span<Gfx::Line<float> const>::is_empty() const Line | Count | Source | 147 | 108k | [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; } |
AK::Span<unsigned int const>::is_empty() const Line | Count | Source | 147 | 54 | [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; } |
Unexecuted instantiation: AK::Span<JS::Value const>::is_empty() const Unexecuted instantiation: AK::Span<JS::CallExpressionArgument const>::is_empty() const Unexecuted instantiation: AK::Span<JS::Value>::is_empty() const Unexecuted instantiation: AK::Span<AK::StringView const>::is_empty() const AK::Span<unsigned long>::is_empty() const Line | Count | Source | 147 | 53.1M | [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; } |
AK::Span<unsigned long const>::is_empty() const Line | Count | Source | 147 | 972M | [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; } |
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanXY> const>::is_empty() const Line | Count | Source | 147 | 5.36M | [[nodiscard]] ALWAYS_INLINE constexpr bool is_empty() const { return this->m_size == 0; } |
Unexecuted instantiation: AK::Span<AK::Variant<AK::String, long, Shell::Arithmetic::Operator> >::is_empty() const Unexecuted instantiation: AK::Span<AK::StringView>::is_empty() const Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::is_empty() const Unexecuted instantiation: AK::Span<Web::HTML::SelectedFile>::is_empty() const |
148 | | |
149 | | [[nodiscard]] ALWAYS_INLINE constexpr Span slice(size_t start, size_t length) const |
150 | 3.33G | { |
151 | 3.33G | VERIFY(start + length <= size()); |
152 | 3.33G | return { this->m_values + start, length }; |
153 | 3.33G | } AK::Span<unsigned char const>::slice(unsigned long, unsigned long) const Line | Count | Source | 150 | 997M | { | 151 | 997M | VERIFY(start + length <= size()); | 152 | 997M | return { this->m_values + start, length }; | 153 | 997M | } |
AK::Span<Gfx::Point<float> const>::slice(unsigned long, unsigned long) const Line | Count | Source | 150 | 1.46G | { | 151 | 1.46G | VERIFY(start + length <= size()); | 152 | 1.46G | return { this->m_values + start, length }; | 153 | 1.46G | } |
Unexecuted instantiation: AK::Span<unsigned short const>::slice(unsigned long, unsigned long) const AK::Span<unsigned char>::slice(unsigned long, unsigned long) const Line | Count | Source | 150 | 675M | { | 151 | 675M | VERIFY(start + length <= size()); | 152 | 675M | return { this->m_values + start, length }; | 153 | 675M | } |
AK::Span<float const>::slice(unsigned long, unsigned long) const Line | Count | Source | 150 | 117M | { | 151 | 117M | VERIFY(start + length <= size()); | 152 | 117M | return { this->m_values + start, length }; | 153 | 117M | } |
AK::Span<float>::slice(unsigned long, unsigned long) const Line | Count | Source | 150 | 2.70M | { | 151 | 2.70M | VERIFY(start + length <= size()); | 152 | 2.70M | return { this->m_values + start, length }; | 153 | 2.70M | } |
Unexecuted instantiation: AK::Span<unsigned int>::slice(unsigned long, unsigned long) const Unexecuted instantiation: AK::Span<unsigned long const>::slice(unsigned long, unsigned long) const AK::Span<Unicode::SpecialCasing const>::slice(unsigned long, unsigned long) const Line | Count | Source | 150 | 968 | { | 151 | 968 | VERIFY(start + length <= size()); | 152 | 968 | return { this->m_values + start, length }; | 153 | 968 | } |
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::slice(unsigned long, unsigned long) const Unexecuted instantiation: AK::Span<JS::DeclarativeEnvironment::Binding>::slice(unsigned long, unsigned long) const Unexecuted instantiation: AK::Span<JS::Value>::slice(unsigned long, unsigned long) const AK::Span<unsigned long>::slice(unsigned long, unsigned long) const Line | Count | Source | 150 | 67.6M | { | 151 | 67.6M | VERIFY(start + length <= size()); | 152 | 67.6M | return { this->m_values + start, length }; | 153 | 67.6M | } |
AK::Span<unsigned short>::slice(unsigned long, unsigned long) const Line | Count | Source | 150 | 7.77M | { | 151 | 7.77M | VERIFY(start + length <= size()); | 152 | 7.77M | return { this->m_values + start, length }; | 153 | 7.77M | } |
AK::Span<short>::slice(unsigned long, unsigned long) const Line | Count | Source | 150 | 660k | { | 151 | 660k | VERIFY(start + length <= size()); | 152 | 660k | return { this->m_values + start, length }; | 153 | 660k | } |
Unexecuted instantiation: AK::Span<AK::StringView>::slice(unsigned long, unsigned long) const AK::Span<bool>::slice(unsigned long, unsigned long) const Line | Count | Source | 150 | 4.49M | { | 151 | 4.49M | VERIFY(start + length <= size()); | 152 | 4.49M | return { this->m_values + start, length }; | 153 | 4.49M | } |
|
154 | | [[nodiscard]] ALWAYS_INLINE constexpr Span slice(size_t start) const |
155 | 1.03G | { |
156 | 1.03G | VERIFY(start <= size()); |
157 | 1.03G | return { this->m_values + start, size() - start }; |
158 | 1.03G | } AK::Span<unsigned char>::slice(unsigned long) const Line | Count | Source | 155 | 439M | { | 156 | 439M | VERIFY(start <= size()); | 157 | 439M | return { this->m_values + start, size() - start }; | 158 | 439M | } |
AK::Span<unsigned char const>::slice(unsigned long) const Line | Count | Source | 155 | 598M | { | 156 | 598M | VERIFY(start <= size()); | 157 | 598M | return { this->m_values + start, size() - start }; | 158 | 598M | } |
Unexecuted instantiation: AK::Span<Gfx::CCITT::Change>::slice(unsigned long) const AK::Span<float>::slice(unsigned long) const Line | Count | Source | 155 | 472k | { | 156 | 472k | VERIFY(start <= size()); | 157 | 472k | return { this->m_values + start, size() - start }; | 158 | 472k | } |
AK::Span<unsigned int>::slice(unsigned long) const Line | Count | Source | 155 | 106 | { | 156 | 106 | VERIFY(start <= size()); | 157 | 106 | return { this->m_values + start, size() - start }; | 158 | 106 | } |
Unexecuted instantiation: AK::Span<JS::Value>::slice(unsigned long) const Unexecuted instantiation: AK::Span<AK::Variant<AK::String, long, Shell::Arithmetic::Operator> >::slice(unsigned long) const Unexecuted instantiation: AK::Span<AK::StringView>::slice(unsigned long) const Unexecuted instantiation: AK::Span<unsigned long>::slice(unsigned long) const |
159 | | [[nodiscard]] ALWAYS_INLINE constexpr Span slice_from_end(size_t count) const |
160 | 80.8k | { |
161 | 80.8k | VERIFY(count <= size()); |
162 | 80.8k | return { this->m_values + size() - count, count }; |
163 | 80.8k | } AK::Span<unsigned char>::slice_from_end(unsigned long) const Line | Count | Source | 160 | 74.7k | { | 161 | 74.7k | VERIFY(count <= size()); | 162 | 74.7k | return { this->m_values + size() - count, count }; | 163 | 74.7k | } |
AK::Span<unsigned char const>::slice_from_end(unsigned long) const Line | Count | Source | 160 | 6.09k | { | 161 | 6.09k | VERIFY(count <= size()); | 162 | 6.09k | return { this->m_values + size() - count, count }; | 163 | 6.09k | } |
Unexecuted instantiation: AK::Span<Wasm::Value>::slice_from_end(unsigned long) const |
164 | | |
165 | | [[nodiscard]] ALWAYS_INLINE constexpr Span trim(size_t length) const |
166 | 1.04G | { |
167 | 1.04G | return { this->m_values, min(size(), length) }; |
168 | 1.04G | } AK::Span<unsigned char>::trim(unsigned long) const Line | Count | Source | 166 | 303M | { | 167 | 303M | return { this->m_values, min(size(), length) }; | 168 | 303M | } |
AK::Span<unsigned char const>::trim(unsigned long) const Line | Count | Source | 166 | 719M | { | 167 | 719M | return { this->m_values, min(size(), length) }; | 168 | 719M | } |
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<int> >::trim(unsigned long) const Unexecuted instantiation: AK::Span<AK::StringView const>::trim(unsigned long) const Unexecuted instantiation: AK::Span<unsigned int>::trim(unsigned long) const AK::Span<Audio::Sample>::trim(unsigned long) const Line | Count | Source | 166 | 332k | { | 167 | 332k | return { this->m_values, min(size(), length) }; | 168 | 332k | } |
Unexecuted instantiation: AK::Span<unsigned long>::trim(unsigned long) const AK::Span<unsigned short>::trim(unsigned long) const Line | Count | Source | 166 | 184k | { | 167 | 184k | return { this->m_values, min(size(), length) }; | 168 | 184k | } |
AK::Span<int>::trim(unsigned long) const Line | Count | Source | 166 | 17.1M | { | 167 | 17.1M | return { this->m_values, min(size(), length) }; | 168 | 17.1M | } |
|
169 | | |
170 | | [[nodiscard]] Span align_to(size_t alignment) const |
171 | | { |
172 | | auto* start = reinterpret_cast<T*>(align_up_to((FlatPtr)data(), alignment)); |
173 | | auto* end = reinterpret_cast<T*>(align_down_to((FlatPtr)(data() + size()), alignment)); |
174 | | if (end < start) |
175 | | return {}; |
176 | | size_t length = end - start; |
177 | | return { start, length }; |
178 | | } |
179 | | |
180 | | [[nodiscard]] ALWAYS_INLINE constexpr T* offset(size_t start) const |
181 | 8.75M | { |
182 | 8.75M | VERIFY(start < this->m_size); |
183 | 8.75M | return this->m_values + start; |
184 | 8.75M | } AK::Span<unsigned char const>::offset(unsigned long) const Line | Count | Source | 181 | 8.73M | { | 182 | 8.73M | VERIFY(start < this->m_size); | 183 | 8.73M | return this->m_values + start; | 184 | 8.73M | } |
Unexecuted instantiation: AK::Span<Audio::Sample>::offset(unsigned long) const AK::Span<unsigned char>::offset(unsigned long) const Line | Count | Source | 181 | 16.8k | { | 182 | 16.8k | VERIFY(start < this->m_size); | 183 | 16.8k | return this->m_values + start; | 184 | 16.8k | } |
|
185 | | |
186 | | ALWAYS_INLINE constexpr void overwrite(size_t offset, void const* data, size_t data_size) |
187 | 47.3k | { |
188 | | // make sure we're not told to write past the end |
189 | 47.3k | VERIFY(offset + data_size <= size()); |
190 | 47.3k | __builtin_memmove(this->data() + offset, data, data_size); |
191 | 47.3k | } |
192 | | |
193 | | ALWAYS_INLINE constexpr size_t copy_to(Span<RemoveConst<T>> other) const |
194 | 160M | { |
195 | 160M | VERIFY(other.size() >= size()); |
196 | 160M | return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size()); |
197 | 160M | } AK::Span<unsigned char const>::copy_to(AK::Span<unsigned char>) const Line | Count | Source | 194 | 44.1M | { | 195 | 44.1M | VERIFY(other.size() >= size()); | 196 | 44.1M | return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size()); | 197 | 44.1M | } |
AK::Span<float const>::copy_to(AK::Span<float>) const Line | Count | Source | 194 | 637k | { | 195 | 637k | VERIFY(other.size() >= size()); | 196 | 637k | return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size()); | 197 | 637k | } |
AK::Span<short const>::copy_to(AK::Span<short>) const Line | Count | Source | 194 | 944k | { | 195 | 944k | VERIFY(other.size() >= size()); | 196 | 944k | return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size()); | 197 | 944k | } |
AK::Span<unsigned char>::copy_to(AK::Span<unsigned char>) const Line | Count | Source | 194 | 114M | { | 195 | 114M | VERIFY(other.size() >= size()); | 196 | 114M | return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), size()); | 197 | 114M | } |
Unexecuted instantiation: AK::Span<AK::StringView>::copy_to(AK::Span<AK::StringView>) const Unexecuted instantiation: AK::Span<float>::copy_to(AK::Span<float>) const |
198 | | |
199 | | ALWAYS_INLINE constexpr size_t copy_trimmed_to(Span<RemoveConst<T>> other) const |
200 | 808M | { |
201 | 808M | auto const count = min(size(), other.size()); |
202 | 808M | return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), count); |
203 | 808M | } AK::Span<unsigned char>::copy_trimmed_to(AK::Span<unsigned char>) const Line | Count | Source | 200 | 133M | { | 201 | 133M | auto const count = min(size(), other.size()); | 202 | 133M | return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), count); | 203 | 133M | } |
AK::Span<unsigned char const>::copy_trimmed_to(AK::Span<unsigned char>) const Line | Count | Source | 200 | 675M | { | 201 | 675M | auto const count = min(size(), other.size()); | 202 | 675M | return TypedTransfer<RemoveConst<T>>::copy(other.data(), data(), count); | 203 | 675M | } |
|
204 | | |
205 | | ALWAYS_INLINE constexpr size_t fill(T const& value) |
206 | 0 | { |
207 | 0 | for (size_t idx = 0; idx < size(); ++idx) |
208 | 0 | data()[idx] = value; |
209 | |
|
210 | 0 | return size(); |
211 | 0 | } Unexecuted instantiation: AK::Span<float>::fill(float const&) Unexecuted instantiation: AK::Span<unsigned char>::fill(unsigned char const&) |
212 | | |
213 | | template<typename V> |
214 | | [[nodiscard]] constexpr bool contains_slow(V const& value) const |
215 | 1.96k | { |
216 | 3.16k | for (size_t i = 0; i < size(); ++i) { |
217 | 3.13k | if (Traits<RemoveReference<T>>::equals(at(i), value)) |
218 | 1.92k | return true; |
219 | 3.13k | } |
220 | 35 | return false; |
221 | 1.96k | } Unexecuted instantiation: bool AK::Span<AK::StringView const>::contains_slow<AK::String>(AK::String const&) const Unexecuted instantiation: bool AK::Span<AK::StringView const>::contains_slow<AK::StringView>(AK::StringView const&) const Unexecuted instantiation: bool AK::Span<AK::StringView>::contains_slow<AK::StringView>(AK::StringView const&) const Unexecuted instantiation: bool AK::Span<int const>::contains_slow<int>(int const&) const bool AK::Span<int>::contains_slow<unsigned short>(unsigned short const&) const Line | Count | Source | 215 | 1.96k | { | 216 | 3.16k | for (size_t i = 0; i < size(); ++i) { | 217 | 3.13k | if (Traits<RemoveReference<T>>::equals(at(i), value)) | 218 | 1.92k | return true; | 219 | 3.13k | } | 220 | 35 | return false; | 221 | 1.96k | } |
Unexecuted instantiation: bool AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::contains_slow<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > >(AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const&) const Unexecuted instantiation: bool AK::Span<int const>::contains_slow<unsigned char>(unsigned char const&) const Unexecuted instantiation: bool AK::Span<unsigned char>::contains_slow<unsigned char>(unsigned char const&) const Unexecuted instantiation: bool AK::Span<Web::Bindings::KeyUsage const>::contains_slow<Web::Bindings::KeyUsage>(Web::Bindings::KeyUsage const&) const Unexecuted instantiation: bool AK::Span<unsigned char const>::contains_slow<unsigned char>(unsigned char const&) const Unexecuted instantiation: bool AK::Span<AK::StringView const>::contains_slow<AK::ByteString>(AK::ByteString const&) const |
222 | | |
223 | | template<typename V> |
224 | | [[nodiscard]] constexpr bool filled_with(V const& value) const |
225 | | { |
226 | | for (size_t i = 0; i < size(); ++i) { |
227 | | if (!Traits<RemoveReference<T>>::equals(at(i), value)) |
228 | | return false; |
229 | | } |
230 | | return true; |
231 | | } |
232 | | |
233 | | [[nodiscard]] constexpr bool starts_with(ReadonlySpan<T> other) const |
234 | 4.32k | { |
235 | 4.32k | if (size() < other.size()) |
236 | 0 | return false; |
237 | | |
238 | 4.32k | return TypedTransfer<T>::compare(data(), other.data(), other.size()); |
239 | 4.32k | } AK::Span<unsigned char const>::starts_with(AK::Span<unsigned char const>) const Line | Count | Source | 234 | 4.32k | { | 235 | 4.32k | if (size() < other.size()) | 236 | 0 | return false; | 237 | | | 238 | 4.32k | return TypedTransfer<T>::compare(data(), other.data(), other.size()); | 239 | 4.32k | } |
Unexecuted instantiation: AK::Span<unsigned char>::starts_with(AK::Span<unsigned char const>) const |
240 | | |
241 | | [[nodiscard]] constexpr size_t matching_prefix_length(ReadonlySpan<T> other) const |
242 | 160M | { |
243 | 160M | auto maximum_length = min(size(), other.size()); |
244 | | |
245 | 1.02G | for (size_t i = 0; i < maximum_length; i++) { |
246 | 1.01G | if (data()[i] != other.data()[i]) |
247 | 154M | return i; |
248 | 1.01G | } |
249 | | |
250 | 5.36M | return maximum_length; |
251 | 160M | } |
252 | | |
253 | | [[nodiscard]] ALWAYS_INLINE constexpr T const& at(size_t index) const |
254 | 1.18G | { |
255 | 1.18G | VERIFY(index < this->m_size); |
256 | 1.18G | return this->m_values[index]; |
257 | 1.18G | } AK::Span<unsigned char const>::at(unsigned long) const Line | Count | Source | 254 | 36.4M | { | 255 | 36.4M | VERIFY(index < this->m_size); | 256 | 36.4M | return this->m_values[index]; | 257 | 36.4M | } |
AK::Span<Gfx::Point<float> const>::at(unsigned long) const Line | Count | Source | 254 | 163M | { | 255 | 163M | VERIFY(index < this->m_size); | 256 | 163M | return this->m_values[index]; | 257 | 163M | } |
Unexecuted instantiation: AK::Span<unsigned int const>::at(unsigned long) const Unexecuted instantiation: AK::Span<Gfx::JBIG2::Code const>::at(unsigned long) const Unexecuted instantiation: AK::Span<Gfx::Point<unsigned int> >::at(unsigned long) const Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<int> >::at(unsigned long) const Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> >::at(unsigned long) const Unexecuted instantiation: AK::Span<unsigned char>::at(unsigned long) const AK::Span<Gfx::ColorStop const>::at(unsigned long) const Line | Count | Source | 254 | 8.06M | { | 255 | 8.06M | VERIFY(index < this->m_size); | 256 | 8.06M | return this->m_values[index]; | 257 | 8.06M | } |
Unexecuted instantiation: AK::Span<OpenType::Hmtx::LongHorMetric const>::at(unsigned long) const Unexecuted instantiation: AK::Span<AK::BigEndian<short> const>::at(unsigned long) const Unexecuted instantiation: AK::Span<OpenType::Name::NameRecord const>::at(unsigned long) const Unexecuted instantiation: AK::Span<OpenType::Kern::Format0Pair const>::at(unsigned long) const Unexecuted instantiation: AK::Span<OpenType::CBLC::BitmapSize const>::at(unsigned long) const Unexecuted instantiation: AK::Span<OpenType::FeatureRecord const>::at(unsigned long) const Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::at(unsigned long) const AK::Span<unsigned long>::at(unsigned long) const Line | Count | Source | 254 | 2.67M | { | 255 | 2.67M | VERIFY(index < this->m_size); | 256 | 2.67M | return this->m_values[index]; | 257 | 2.67M | } |
AK::Span<unsigned long const>::at(unsigned long) const Line | Count | Source | 254 | 972M | { | 255 | 972M | VERIFY(index < this->m_size); | 256 | 972M | return this->m_values[index]; | 257 | 972M | } |
Unexecuted instantiation: AK::Span<unsigned short const>::at(unsigned long) const Unexecuted instantiation: AK::Span<JS::Value const>::at(unsigned long) const Unexecuted instantiation: AK::Span<AK::String const>::at(unsigned long) const Unexecuted instantiation: AK::Span<AK::StringView const>::at(unsigned long) const Unexecuted instantiation: AK::Span<AK::StringView>::at(unsigned long) const Unexecuted instantiation: AK::Span<int const>::at(unsigned long) const Unexecuted instantiation: AK::Span<unsigned int>::at(unsigned long) const AK::Span<Audio::MP3::Tables::ScaleFactorBand const>::at(unsigned long) const Line | Count | Source | 254 | 5.76M | { | 255 | 5.76M | VERIFY(index < this->m_size); | 256 | 5.76M | return this->m_values[index]; | 257 | 5.76M | } |
Unexecuted instantiation: AK::Span<AK::OptionParser::Option const>::at(unsigned long) const AK::Span<int>::at(unsigned long) const Line | Count | Source | 254 | 3.13k | { | 255 | 3.13k | VERIFY(index < this->m_size); | 256 | 3.13k | return this->m_values[index]; | 257 | 3.13k | } |
Unexecuted instantiation: AK::Span<Web::CSS::Parser::ComponentValue const>::at(unsigned long) const Unexecuted instantiation: AK::Span<Web::CSS::Parser::Token const>::at(unsigned long) const Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::at(unsigned long) const Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage const>::at(unsigned long) const Unexecuted instantiation: AK::Span<AK::FlyString const>::at(unsigned long) const Unexecuted instantiation: AK::Span<Web::Painting::BorderRadiiClip const>::at(unsigned long) const |
258 | | |
259 | | [[nodiscard]] ALWAYS_INLINE constexpr T& at(size_t index) |
260 | 50.4G | { |
261 | 50.4G | VERIFY(index < this->m_size); |
262 | 50.4G | return this->m_values[index]; |
263 | 50.4G | } AK::Span<unsigned char>::at(unsigned long) Line | Count | Source | 260 | 1.65G | { | 261 | 1.65G | VERIFY(index < this->m_size); | 262 | 1.65G | return this->m_values[index]; | 263 | 1.65G | } |
AK::Span<unsigned char const>::at(unsigned long) Line | Count | Source | 260 | 20.2G | { | 261 | 20.2G | VERIFY(index < this->m_size); | 262 | 20.2G | return this->m_values[index]; | 263 | 20.2G | } |
Unexecuted instantiation: AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::at(unsigned long) AK::Span<unsigned int const>::at(unsigned long) Line | Count | Source | 260 | 53 | { | 261 | 53 | VERIFY(index < this->m_size); | 262 | 53 | return this->m_values[index]; | 263 | 53 | } |
AK::Span<float const>::at(unsigned long) Line | Count | Source | 260 | 2.30G | { | 261 | 2.30G | VERIFY(index < this->m_size); | 262 | 2.30G | return this->m_values[index]; | 263 | 2.30G | } |
AK::Span<float>::at(unsigned long) Line | Count | Source | 260 | 2.36G | { | 261 | 2.36G | VERIFY(index < this->m_size); | 262 | 2.36G | return this->m_values[index]; | 263 | 2.36G | } |
AK::Span<unsigned short const>::at(unsigned long) Line | Count | Source | 260 | 12.0M | { | 261 | 12.0M | VERIFY(index < this->m_size); | 262 | 12.0M | return this->m_values[index]; | 263 | 12.0M | } |
Unexecuted instantiation: AK::Span<Gfx::CCITT::Change>::at(unsigned long) AK::Span<Gfx::JPEG2000::SubBand const>::at(unsigned long) Line | Count | Source | 260 | 269k | { | 261 | 269k | VERIFY(index < this->m_size); | 262 | 269k | return this->m_values[index]; | 263 | 269k | } |
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::ChannelInfo>::at(unsigned long) Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<int> >::at(unsigned long) AK::Span<int>::at(unsigned long) Line | Count | Source | 260 | 20.5G | { | 261 | 20.5G | VERIFY(index < this->m_size); | 262 | 20.5G | return this->m_values[index]; | 263 | 20.5G | } |
Unexecuted instantiation: AK::Span<Gfx::Point<unsigned int> >::at(unsigned long) Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> >::at(unsigned long) Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> const>::at(unsigned long) Unexecuted instantiation: AK::Span<Gfx::Point<int> const>::at(unsigned long) Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Frame>::at(unsigned long) Unexecuted instantiation: AK::Span<unsigned int>::at(unsigned long) AK::Span<Gfx::Color const>::at(unsigned long) Line | Count | Source | 260 | 225k | { | 261 | 225k | VERIFY(index < this->m_size); | 262 | 225k | return this->m_values[index]; | 263 | 225k | } |
AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::at(unsigned long) Line | Count | Source | 260 | 544k | { | 261 | 544k | VERIFY(index < this->m_size); | 262 | 544k | return this->m_values[index]; | 263 | 544k | } |
AK::Span<Gfx::ColorStop const>::at(unsigned long) Line | Count | Source | 260 | 14.7M | { | 261 | 14.7M | VERIFY(index < this->m_size); | 262 | 14.7M | return this->m_values[index]; | 263 | 14.7M | } |
AK::Span<Gfx::Line<float> const>::at(unsigned long) Line | Count | Source | 260 | 67.7M | { | 261 | 67.7M | VERIFY(index < this->m_size); | 262 | 67.7M | return this->m_values[index]; | 263 | 67.7M | } |
Unexecuted instantiation: AK::Span<signed char const>::at(unsigned long) Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned int> const>::at(unsigned long) Unexecuted instantiation: AK::Span<OpenType::EBLC::IndexSubTableArray const>::at(unsigned long) Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::at(unsigned long) Unexecuted instantiation: AK::Span<Gfx::Point<float> const>::at(unsigned long) AK::Span<unsigned long const>::at(unsigned long) Line | Count | Source | 260 | 2.13G | { | 261 | 2.13G | VERIFY(index < this->m_size); | 262 | 2.13G | return this->m_values[index]; | 263 | 2.13G | } |
AK::Span<AK::TypeErasedParameter const>::at(unsigned long) Line | Count | Source | 260 | 143M | { | 261 | 143M | VERIFY(index < this->m_size); | 262 | 143M | return this->m_values[index]; | 263 | 143M | } |
AK::Span<unsigned long>::at(unsigned long) Line | Count | Source | 260 | 57.6M | { | 261 | 57.6M | VERIFY(index < this->m_size); | 262 | 57.6M | return this->m_values[index]; | 263 | 57.6M | } |
Unexecuted instantiation: AK::Span<addrinfo const>::at(unsigned long) Unexecuted instantiation: EventLoopImplementationUnix.cpp:AK::Span<Core::(anonymous namespace)::EventLoopTimeout* const>::at(unsigned long) AK::Span<AK::StringView const>::at(unsigned long) Line | Count | Source | 260 | 6.51k | { | 261 | 6.51k | VERIFY(index < this->m_size); | 262 | 6.51k | return this->m_values[index]; | 263 | 6.51k | } |
Unexecuted instantiation: AK::Span<pollfd>::at(unsigned long) AK::Span<Unicode::SpecialCasing const>::at(unsigned long) Line | Count | Source | 260 | 1.09k | { | 261 | 1.09k | VERIFY(index < this->m_size); | 262 | 1.09k | return this->m_values[index]; | 263 | 1.09k | } |
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::at(unsigned long) AK::Span<short const>::at(unsigned long) Line | Count | Source | 260 | 65.8M | { | 261 | 65.8M | VERIFY(index < this->m_size); | 262 | 65.8M | return this->m_values[index]; | 263 | 65.8M | } |
AK::Span<char const>::at(unsigned long) Line | Count | Source | 260 | 51.1M | { | 261 | 51.1M | VERIFY(index < this->m_size); | 262 | 51.1M | return this->m_values[index]; | 263 | 51.1M | } |
Unexecuted instantiation: AK::Span<JS::Bytecode::Operand const>::at(unsigned long) AK::Span<JS::Value const>::at(unsigned long) Line | Count | Source | 260 | 262k | { | 261 | 262k | VERIFY(index < this->m_size); | 262 | 262k | return this->m_values[index]; | 263 | 262k | } |
AK::Span<JS::Bytecode::ScopedOperand const>::at(unsigned long) Line | Count | Source | 260 | 400k | { | 261 | 400k | VERIFY(index < this->m_size); | 262 | 400k | return this->m_values[index]; | 263 | 400k | } |
Unexecuted instantiation: AK::Span<AK::Optional<JS::Bytecode::ScopedOperand> const>::at(unsigned long) AK::Span<JS::CallExpressionArgument const>::at(unsigned long) Line | Count | Source | 260 | 3.03k | { | 261 | 3.03k | VERIFY(index < this->m_size); | 262 | 3.03k | return this->m_values[index]; | 263 | 3.03k | } |
Unexecuted instantiation: AK::Span<JS::Value>::at(unsigned long) Unexecuted instantiation: AK::Span<AK::String const>::at(unsigned long) Unexecuted instantiation: AK::Span<TimeZone::TimeZoneIdentifier const>::at(unsigned long) Unexecuted instantiation: AK::Span<JS::Intl::PatternPartition const>::at(unsigned long) Unexecuted instantiation: AK::Span<Locale::CalendarRangePattern const>::at(unsigned long) Unexecuted instantiation: AK::Span<Locale::PluralCategory const>::at(unsigned long) AK::Span<int const>::at(unsigned long) Line | Count | Source | 260 | 779k | { | 261 | 779k | VERIFY(index < this->m_size); | 262 | 779k | return this->m_values[index]; | 263 | 779k | } |
Unexecuted instantiation: AK::Span<long const>::at(unsigned long) Unexecuted instantiation: AK::Span<double const>::at(unsigned long) Unexecuted instantiation: AK::Span<JS::Temporal::CalendarMethod const>::at(unsigned long) Unexecuted instantiation: AK::Span<JS::Temporal::TimeZoneMethod const>::at(unsigned long) AK::Span<JS::Position>::at(unsigned long) Line | Count | Source | 260 | 15.3k | { | 261 | 15.3k | VERIFY(index < this->m_size); | 262 | 15.3k | return this->m_values[index]; | 263 | 15.3k | } |
AK::Span<regex::ByteCode>::at(unsigned long) Line | Count | Source | 260 | 37.0M | { | 261 | 37.0M | VERIFY(index < this->m_size); | 262 | 37.0M | return this->m_values[index]; | 263 | 37.0M | } |
AK::Span<unsigned short>::at(unsigned long) Line | Count | Source | 260 | 582M | { | 261 | 582M | VERIFY(index < this->m_size); | 262 | 582M | return this->m_values[index]; | 263 | 582M | } |
Unexecuted instantiation: AK::Span<Audio::Sample const>::at(unsigned long) AK::Span<Audio::Sample>::at(unsigned long) Line | Count | Source | 260 | 7.99M | { | 261 | 7.99M | VERIFY(index < this->m_size); | 262 | 7.99M | return this->m_values[index]; | 263 | 7.99M | } |
AK::Span<short>::at(unsigned long) Line | Count | Source | 260 | 13.2M | { | 261 | 13.2M | VERIFY(index < this->m_size); | 262 | 13.2M | return this->m_values[index]; | 263 | 13.2M | } |
AK::Span<Audio::MP3::Tables::ScaleFactorBand const>::at(unsigned long) Line | Count | Source | 260 | 14.5M | { | 261 | 14.5M | VERIFY(index < this->m_size); | 262 | 14.5M | return this->m_values[index]; | 263 | 14.5M | } |
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanXY> const>::at(unsigned long) Line | Count | Source | 260 | 10.4M | { | 261 | 10.4M | VERIFY(index < this->m_size); | 262 | 10.4M | return this->m_values[index]; | 263 | 10.4M | } |
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanVWXY> const>::at(unsigned long) Line | Count | Source | 260 | 2.81M | { | 261 | 2.81M | VERIFY(index < this->m_size); | 262 | 2.81M | return this->m_values[index]; | 263 | 2.81M | } |
Unexecuted instantiation: AK::Span<AK::Variant<AK::String, long, Shell::Arithmetic::Operator> >::at(unsigned long) Unexecuted instantiation: AK::Span<Shell::Shell::RunnablePath>::at(unsigned long) Unexecuted instantiation: AK::Span<AK::StringView>::at(unsigned long) Unexecuted instantiation: AK::Span<Line::XtermSuggestionDisplay::PageRange>::at(unsigned long) Unexecuted instantiation: AK::Span<Web::CSS::PropertyID const>::at(unsigned long) Unexecuted instantiation: AK::Span<Web::CSS::Parser::ComponentValue const>::at(unsigned long) Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::at(unsigned long) Unexecuted instantiation: AK::Span<AK::Span<unsigned char const> >::at(unsigned long) Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage const>::at(unsigned long) Unexecuted instantiation: AK::Span<Web::HTML::SelectedFile>::at(unsigned long) Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> const>::at(unsigned long) Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::HTML::VideoTrack> >::at(unsigned long) Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::FileAPI::Blob> const>::at(unsigned long) Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::FilterOperation::Blur, Web::CSS::FilterOperation::DropShadow, Web::CSS::FilterOperation::HueRotate, Web::CSS::FilterOperation::Color> const>::at(unsigned long) Unexecuted instantiation: AK::Span<AK::ByteString const>::at(unsigned long) Unexecuted instantiation: AK::Span<Web::HTML::DragDataStoreItem const>::at(unsigned long) Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::ResolvedFilter::Blur, Web::CSS::ResolvedFilter::DropShadow, Web::CSS::ResolvedFilter::HueRotate, Web::CSS::ResolvedFilter::Color> const>::at(unsigned long) Unexecuted instantiation: AK::Span<Web::SVG::Transform const>::at(unsigned long) Unexecuted instantiation: AK::Span<Web::SVG::PathInstruction const>::at(unsigned long) Unexecuted instantiation: AK::Span<AK::FlyString const>::at(unsigned long) Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::UIEvents::PointerEvent> const>::at(unsigned long) Unexecuted instantiation: AK::Span<Wasm::Validator::StackEntry const>::at(unsigned long) AK::Span<long>::at(unsigned long) Line | Count | Source | 260 | 106M | { | 261 | 106M | VERIFY(index < this->m_size); | 262 | 106M | return this->m_values[index]; | 263 | 106M | } |
AK::Span<bool>::at(unsigned long) Line | Count | Source | 260 | 78.4M | { | 261 | 78.4M | VERIFY(index < this->m_size); | 262 | 78.4M | return this->m_values[index]; | 263 | 78.4M | } |
Unexecuted instantiation: AK::Span<Gfx::Color>::at(unsigned long) Unexecuted instantiation: AK::Span<Wasm::ValueType const>::at(unsigned long) Unexecuted instantiation: AK::Span<Wasm::Value>::at(unsigned long) Unexecuted instantiation: AK::Span<SQL::Value const>::at(unsigned long) |
264 | | |
265 | | [[nodiscard]] ALWAYS_INLINE constexpr T const& first() const |
266 | 291k | { |
267 | 291k | return this->at(0); |
268 | 291k | } |
269 | | |
270 | | [[nodiscard]] ALWAYS_INLINE constexpr T& first() |
271 | 35.3k | { |
272 | 35.3k | return this->at(0); |
273 | 35.3k | } Unexecuted instantiation: AK::Span<Gfx::ColorStop const>::first() AK::Span<Gfx::Line<float> const>::first() Line | Count | Source | 271 | 35.3k | { | 272 | 35.3k | return this->at(0); | 273 | 35.3k | } |
Unexecuted instantiation: AK::Span<unsigned char const>::first() Unexecuted instantiation: AK::Span<AK::Variant<AK::String, long, Shell::Arithmetic::Operator> >::first() |
274 | | |
275 | | [[nodiscard]] ALWAYS_INLINE constexpr T const& last() const |
276 | 87.3M | { |
277 | 87.3M | return this->at(this->size() - 1); |
278 | 87.3M | } AK::Span<Gfx::Point<float> const>::last() const Line | Count | Source | 276 | 79.5M | { | 277 | 79.5M | return this->at(this->size() - 1); | 278 | 79.5M | } |
AK::Span<Gfx::ColorStop const>::last() const Line | Count | Source | 276 | 7.77M | { | 277 | 7.77M | return this->at(this->size() - 1); | 278 | 7.77M | } |
Unexecuted instantiation: AK::Span<OpenType::Hmtx::LongHorMetric const>::last() const Unexecuted instantiation: AK::Span<unsigned long>::last() const Unexecuted instantiation: AK::Span<unsigned long const>::last() const Unexecuted instantiation: AK::Span<unsigned int>::last() const |
279 | | |
280 | | [[nodiscard]] ALWAYS_INLINE constexpr T& last() |
281 | 13.8M | { |
282 | 13.8M | return this->at(this->size() - 1); |
283 | 13.8M | } Unexecuted instantiation: AK::Span<unsigned char const>::last() AK::Span<Gfx::ColorStop const>::last() Line | Count | Source | 281 | 13.8M | { | 282 | 13.8M | return this->at(this->size() - 1); | 283 | 13.8M | } |
AK::Span<unsigned char>::last() Line | Count | Source | 281 | 8.91k | { | 282 | 8.91k | return this->at(this->size() - 1); | 283 | 8.91k | } |
Unexecuted instantiation: AK::Span<JS::Value>::last() Unexecuted instantiation: AK::Span<AK::StringView>::last() |
284 | | |
285 | | [[nodiscard]] ALWAYS_INLINE constexpr T const& operator[](size_t index) const |
286 | 1.07G | { |
287 | 1.07G | return at(index); |
288 | 1.07G | } AK::Span<unsigned char const>::operator[](unsigned long) const Line | Count | Source | 286 | 10.4M | { | 287 | 10.4M | return at(index); | 288 | 10.4M | } |
AK::Span<Gfx::Point<float> const>::operator[](unsigned long) const Line | Count | Source | 286 | 84.3M | { | 287 | 84.3M | return at(index); | 288 | 84.3M | } |
Unexecuted instantiation: AK::Span<unsigned int const>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<Gfx::JBIG2::Code const>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<Gfx::Point<unsigned int> >::operator[](unsigned long) const Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<int> >::operator[](unsigned long) const Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> >::operator[](unsigned long) const Unexecuted instantiation: AK::Span<unsigned char>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<OpenType::Hmtx::LongHorMetric const>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<AK::BigEndian<short> const>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<OpenType::Name::NameRecord const>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<OpenType::Kern::Format0Pair const>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<OpenType::CBLC::BitmapSize const>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<OpenType::FeatureRecord const>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::operator[](unsigned long) const AK::Span<unsigned long>::operator[](unsigned long) const Line | Count | Source | 286 | 2.67M | { | 287 | 2.67M | return at(index); | 288 | 2.67M | } |
AK::Span<unsigned long const>::operator[](unsigned long) const Line | Count | Source | 286 | 972M | { | 287 | 972M | return at(index); | 288 | 972M | } |
Unexecuted instantiation: AK::Span<unsigned short const>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<JS::Value const>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<AK::String const>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<unsigned int>::operator[](unsigned long) const AK::Span<Audio::MP3::Tables::ScaleFactorBand const>::operator[](unsigned long) const Line | Count | Source | 286 | 5.76M | { | 287 | 5.76M | return at(index); | 288 | 5.76M | } |
Unexecuted instantiation: AK::Span<AK::StringView>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<AK::OptionParser::Option const>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<Web::CSS::Parser::ComponentValue const>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<Web::CSS::Parser::Token const>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<AK::FlyString const>::operator[](unsigned long) const Unexecuted instantiation: AK::Span<Web::Painting::BorderRadiiClip const>::operator[](unsigned long) const |
289 | | |
290 | | void reverse() |
291 | | { |
292 | | for (size_t i = 0; i < size() / 2; ++i) |
293 | | AK::swap(at(i), at(size() - i - 1)); |
294 | | } |
295 | | |
296 | | [[nodiscard]] ALWAYS_INLINE constexpr T& operator[](size_t index) |
297 | 50.1G | { |
298 | 50.1G | return at(index); |
299 | 50.1G | } AK::Span<unsigned char>::operator[](unsigned long) Line | Count | Source | 297 | 1.65G | { | 298 | 1.65G | return at(index); | 299 | 1.65G | } |
AK::Span<unsigned char const>::operator[](unsigned long) Line | Count | Source | 297 | 20.1G | { | 298 | 20.1G | return at(index); | 299 | 20.1G | } |
Unexecuted instantiation: AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::operator[](unsigned long) AK::Span<unsigned int const>::operator[](unsigned long) Line | Count | Source | 297 | 53 | { | 298 | 53 | return at(index); | 299 | 53 | } |
AK::Span<float const>::operator[](unsigned long) Line | Count | Source | 297 | 2.30G | { | 298 | 2.30G | return at(index); | 299 | 2.30G | } |
AK::Span<float>::operator[](unsigned long) Line | Count | Source | 297 | 2.36G | { | 298 | 2.36G | return at(index); | 299 | 2.36G | } |
AK::Span<unsigned short const>::operator[](unsigned long) Line | Count | Source | 297 | 12.0M | { | 298 | 12.0M | return at(index); | 299 | 12.0M | } |
Unexecuted instantiation: AK::Span<Gfx::CCITT::Change>::operator[](unsigned long) AK::Span<Gfx::JPEG2000::SubBand const>::operator[](unsigned long) Line | Count | Source | 297 | 269k | { | 298 | 269k | return at(index); | 299 | 269k | } |
Unexecuted instantiation: AK::Span<Gfx::JPEGXL::ChannelInfo>::operator[](unsigned long) Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<int> >::operator[](unsigned long) AK::Span<int>::operator[](unsigned long) Line | Count | Source | 297 | 20.4G | { | 298 | 20.4G | return at(index); | 299 | 20.4G | } |
Unexecuted instantiation: AK::Span<Gfx::Point<unsigned int> >::operator[](unsigned long) Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> >::operator[](unsigned long) Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Detail::Channel<float> const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<Gfx::Point<int> const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<Gfx::JPEGXL::Frame>::operator[](unsigned long) Unexecuted instantiation: AK::Span<unsigned int>::operator[](unsigned long) AK::Span<Gfx::Color const>::operator[](unsigned long) Line | Count | Source | 297 | 225k | { | 298 | 225k | return at(index); | 299 | 225k | } |
AK::Span<Gfx::TinyVGDecodedImageData::DrawCommand const>::operator[](unsigned long) Line | Count | Source | 297 | 544k | { | 298 | 544k | return at(index); | 299 | 544k | } |
AK::Span<Gfx::ColorStop const>::operator[](unsigned long) Line | Count | Source | 297 | 846k | { | 298 | 846k | return at(index); | 299 | 846k | } |
AK::Span<Gfx::Line<float> const>::operator[](unsigned long) Line | Count | Source | 297 | 67.7M | { | 298 | 67.7M | return at(index); | 299 | 67.7M | } |
Unexecuted instantiation: AK::Span<signed char const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned int> const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<OpenType::EBLC::IndexSubTableArray const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<AK::BigEndian<unsigned short> const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<Gfx::Point<float> const>::operator[](unsigned long) AK::Span<unsigned long const>::operator[](unsigned long) Line | Count | Source | 297 | 2.13G | { | 298 | 2.13G | return at(index); | 299 | 2.13G | } |
AK::Span<unsigned long>::operator[](unsigned long) Line | Count | Source | 297 | 4.45M | { | 298 | 4.45M | return at(index); | 299 | 4.45M | } |
Unexecuted instantiation: AK::Span<addrinfo const>::operator[](unsigned long) Unexecuted instantiation: EventLoopImplementationUnix.cpp:AK::Span<Core::(anonymous namespace)::EventLoopTimeout* const>::operator[](unsigned long) AK::Span<AK::StringView const>::operator[](unsigned long) Line | Count | Source | 297 | 6.51k | { | 298 | 6.51k | return at(index); | 299 | 6.51k | } |
Unexecuted instantiation: AK::Span<pollfd>::operator[](unsigned long) AK::Span<Unicode::SpecialCasing const>::operator[](unsigned long) Line | Count | Source | 297 | 1.09k | { | 298 | 1.09k | return at(index); | 299 | 1.09k | } |
Unexecuted instantiation: AK::Span<Unicode::CaseFolding const>::operator[](unsigned long) AK::Span<short const>::operator[](unsigned long) Line | Count | Source | 297 | 65.8M | { | 298 | 65.8M | return at(index); | 299 | 65.8M | } |
AK::Span<char const>::operator[](unsigned long) Line | Count | Source | 297 | 51.1M | { | 298 | 51.1M | return at(index); | 299 | 51.1M | } |
Unexecuted instantiation: AK::Span<JS::Bytecode::Operand const>::operator[](unsigned long) AK::Span<JS::Value const>::operator[](unsigned long) Line | Count | Source | 297 | 262k | { | 298 | 262k | return at(index); | 299 | 262k | } |
AK::Span<JS::Bytecode::ScopedOperand const>::operator[](unsigned long) Line | Count | Source | 297 | 400k | { | 298 | 400k | return at(index); | 299 | 400k | } |
Unexecuted instantiation: AK::Span<AK::Optional<JS::Bytecode::ScopedOperand> const>::operator[](unsigned long) AK::Span<JS::CallExpressionArgument const>::operator[](unsigned long) Line | Count | Source | 297 | 3.03k | { | 298 | 3.03k | return at(index); | 299 | 3.03k | } |
Unexecuted instantiation: AK::Span<JS::Value>::operator[](unsigned long) Unexecuted instantiation: AK::Span<AK::String const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<TimeZone::TimeZoneIdentifier const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<JS::Intl::PatternPartition const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<Locale::CalendarRangePattern const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<Locale::PluralCategory const>::operator[](unsigned long) AK::Span<int const>::operator[](unsigned long) Line | Count | Source | 297 | 779k | { | 298 | 779k | return at(index); | 299 | 779k | } |
Unexecuted instantiation: AK::Span<long const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<double const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<JS::Temporal::CalendarMethod const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<JS::Temporal::TimeZoneMethod const>::operator[](unsigned long) AK::Span<JS::Position>::operator[](unsigned long) Line | Count | Source | 297 | 15.3k | { | 298 | 15.3k | return at(index); | 299 | 15.3k | } |
AK::Span<regex::ByteCode>::operator[](unsigned long) Line | Count | Source | 297 | 37.0M | { | 298 | 37.0M | return at(index); | 299 | 37.0M | } |
AK::Span<unsigned short>::operator[](unsigned long) Line | Count | Source | 297 | 582M | { | 298 | 582M | return at(index); | 299 | 582M | } |
Unexecuted instantiation: AK::Span<Audio::Sample const>::operator[](unsigned long) AK::Span<Audio::Sample>::operator[](unsigned long) Line | Count | Source | 297 | 7.99M | { | 298 | 7.99M | return at(index); | 299 | 7.99M | } |
AK::Span<short>::operator[](unsigned long) Line | Count | Source | 297 | 13.2M | { | 298 | 13.2M | return at(index); | 299 | 13.2M | } |
AK::Span<Audio::MP3::Tables::ScaleFactorBand const>::operator[](unsigned long) Line | Count | Source | 297 | 14.5M | { | 298 | 14.5M | return at(index); | 299 | 14.5M | } |
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanXY> const>::operator[](unsigned long) Line | Count | Source | 297 | 10.4M | { | 298 | 10.4M | return at(index); | 299 | 10.4M | } |
AK::Span<Audio::MP3::Tables::Huffman::HuffmanNode<Audio::MP3::Tables::Huffman::HuffmanVWXY> const>::operator[](unsigned long) Line | Count | Source | 297 | 2.81M | { | 298 | 2.81M | return at(index); | 299 | 2.81M | } |
Unexecuted instantiation: AK::Span<Shell::Shell::RunnablePath>::operator[](unsigned long) Unexecuted instantiation: AK::Span<AK::StringView>::operator[](unsigned long) Unexecuted instantiation: AK::Span<Line::XtermSuggestionDisplay::PageRange>::operator[](unsigned long) Unexecuted instantiation: AK::Span<Web::CSS::PropertyID const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<AK::Variant<JS::NonnullGCPtr<Web::DOM::Element>, JS::NonnullGCPtr<Web::DOM::Text> > const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<AK::Span<unsigned char const> >::operator[](unsigned long) Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<Web::HTML::SelectedFile>::operator[](unsigned long) Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::HTML::VideoTrack> >::operator[](unsigned long) Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<Web::FileAPI::Blob> const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::FilterOperation::Blur, Web::CSS::FilterOperation::DropShadow, Web::CSS::FilterOperation::HueRotate, Web::CSS::FilterOperation::Color> const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<AK::ByteString const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<Web::HTML::DragDataStoreItem const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<AK::Variant<Web::CSS::ResolvedFilter::Blur, Web::CSS::ResolvedFilter::DropShadow, Web::CSS::ResolvedFilter::HueRotate, Web::CSS::ResolvedFilter::Color> const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<Web::SVG::Transform const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<Web::SVG::PathInstruction const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<Wasm::Validator::StackEntry const>::operator[](unsigned long) AK::Span<long>::operator[](unsigned long) Line | Count | Source | 297 | 106M | { | 298 | 106M | return at(index); | 299 | 106M | } |
AK::Span<bool>::operator[](unsigned long) Line | Count | Source | 297 | 78.4M | { | 298 | 78.4M | return at(index); | 299 | 78.4M | } |
Unexecuted instantiation: AK::Span<Wasm::ValueType const>::operator[](unsigned long) Unexecuted instantiation: AK::Span<Wasm::Value>::operator[](unsigned long) Unexecuted instantiation: AK::Span<SQL::Value const>::operator[](unsigned long) |
300 | | |
301 | | constexpr bool operator==(Span const& other) const |
302 | 1.07M | { |
303 | 1.07M | if (size() != other.size()) |
304 | 10.1k | return false; |
305 | | |
306 | 1.06M | return TypedTransfer<T>::compare(data(), other.data(), size()); |
307 | 1.07M | } AK::Span<unsigned char const>::operator==(AK::Span<unsigned char const> const&) const Line | Count | Source | 302 | 1.04M | { | 303 | 1.04M | if (size() != other.size()) | 304 | 8.65k | return false; | 305 | | | 306 | 1.03M | return TypedTransfer<T>::compare(data(), other.data(), size()); | 307 | 1.04M | } |
Unexecuted instantiation: AK::Span<unsigned short const>::operator==(AK::Span<unsigned short const> const&) const Unexecuted instantiation: AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel const>::operator==(AK::Span<Gfx::JBIG2::AdaptiveTemplatePixel const> const&) const Unexecuted instantiation: AK::Span<AK::StringView const>::operator==(AK::Span<AK::StringView const> const&) const Unexecuted instantiation: AK::Span<unsigned int const>::operator==(AK::Span<unsigned int const> const&) const AK::Span<int const>::operator==(AK::Span<int const> const&) const Line | Count | Source | 302 | 31.2k | { | 303 | 31.2k | if (size() != other.size()) | 304 | 1.52k | return false; | 305 | | | 306 | 29.7k | return TypedTransfer<T>::compare(data(), other.data(), size()); | 307 | 31.2k | } |
Unexecuted instantiation: AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue> const>::operator==(AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue> const> const&) const Unexecuted instantiation: AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue const> const>::operator==(AK::Span<Web::CSS::ValueComparingNonnullRefPtr<Web::CSS::CSSStyleValue const> const> const&) const Unexecuted instantiation: AK::Span<AK::Optional<int> const>::operator==(AK::Span<AK::Optional<int> const> const&) const |
308 | | |
309 | | ALWAYS_INLINE constexpr operator ReadonlySpan<T>() const |
310 | 158M | { |
311 | 158M | return { data(), size() }; |
312 | 158M | } AK::Span<unsigned char>::operator AK::Span<unsigned char const>() const Line | Count | Source | 310 | 104M | { | 311 | 104M | return { data(), size() }; | 312 | 104M | } |
Unexecuted instantiation: AK::Span<Gfx::JBIG2::Code>::operator AK::Span<Gfx::JBIG2::Code const>() const Unexecuted instantiation: AK::Span<Gfx::JPEGXL::ChannelInfo>::operator AK::Span<Gfx::JPEGXL::ChannelInfo const>() const AK::Span<unsigned int>::operator AK::Span<unsigned int const>() const Line | Count | Source | 310 | 106 | { | 311 | 106 | return { data(), size() }; | 312 | 106 | } |
AK::Span<Gfx::Color>::operator AK::Span<Gfx::Color const>() const Line | Count | Source | 310 | 830 | { | 311 | 830 | return { data(), size() }; | 312 | 830 | } |
Unexecuted instantiation: AK::Span<Unicode::BlockName>::operator AK::Span<Unicode::BlockName const>() const Unexecuted instantiation: AK::Span<JS::Value>::operator AK::Span<JS::Value const>() const AK::Span<JS::CallExpressionArgument>::operator AK::Span<JS::CallExpressionArgument const>() const Line | Count | Source | 310 | 3.06k | { | 311 | 3.06k | return { data(), size() }; | 312 | 3.06k | } |
Unexecuted instantiation: AK::Span<JS::DeclarativeEnvironment::Binding>::operator AK::Span<JS::DeclarativeEnvironment::Binding const>() const Unexecuted instantiation: AK::Span<AK::StringView>::operator AK::Span<AK::StringView const>() const AK::Span<unsigned long>::operator AK::Span<unsigned long const>() const Line | Count | Source | 310 | 35.8M | { | 311 | 35.8M | return { data(), size() }; | 312 | 35.8M | } |
AK::Span<Shell::AST::Position>::operator AK::Span<Shell::AST::Position const>() const Line | Count | Source | 310 | 647k | { | 311 | 647k | return { data(), size() }; | 312 | 647k | } |
AK::Span<Shell::Posix::Token>::operator AK::Span<Shell::Posix::Token const>() const Line | Count | Source | 310 | 17.3M | { | 311 | 17.3M | return { data(), size() }; | 312 | 17.3M | } |
AK::Span<int>::operator AK::Span<int const>() const Line | Count | Source | 310 | 31.2k | { | 311 | 31.2k | return { data(), size() }; | 312 | 31.2k | } |
Unexecuted instantiation: AK::Span<Web::Bindings::KeyUsage>::operator AK::Span<Web::Bindings::KeyUsage const>() const Unexecuted instantiation: AK::Span<AK::String>::operator AK::Span<AK::String const>() const Unexecuted instantiation: AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> >::operator AK::Span<JS::NonnullGCPtr<JS::PromiseCapability> const>() const Unexecuted instantiation: AK::Span<float>::operator AK::Span<float const>() const Unexecuted instantiation: AK::Span<double>::operator AK::Span<double const>() const |
313 | | }; |
314 | | |
315 | | template<typename T> |
316 | | struct Traits<Span<T>> : public DefaultTraits<Span<T>> { |
317 | | static unsigned hash(Span<T> const& span) |
318 | 0 | { |
319 | 0 | unsigned hash = 0; |
320 | 0 | for (auto const& value : span) { |
321 | 0 | auto value_hash = Traits<T>::hash(value); |
322 | 0 | hash = pair_int_hash(hash, value_hash); |
323 | 0 | } |
324 | 0 | return hash; |
325 | 0 | } |
326 | | |
327 | 0 | constexpr static bool is_trivial() { return true; }Unexecuted instantiation: AK::Traits<AK::Span<unsigned char const> >::is_trivial() Unexecuted instantiation: AK::Traits<AK::Span<unsigned long> >::is_trivial() Unexecuted instantiation: AK::Traits<AK::Span<unsigned long const> >::is_trivial() |
328 | | }; |
329 | | |
330 | | template<typename T> |
331 | | using ReadonlySpan = Span<T const>; |
332 | | |
333 | | using ReadonlyBytes = ReadonlySpan<u8>; |
334 | | using Bytes = Span<u8>; |
335 | | |
336 | | template<typename T> |
337 | | requires(IsTrivial<T>) |
338 | | ReadonlyBytes to_readonly_bytes(Span<T> span) |
339 | | { |
340 | | return ReadonlyBytes { static_cast<void const*>(span.data()), span.size() * sizeof(T) }; |
341 | | } |
342 | | |
343 | | template<typename T> |
344 | | requires(IsTrivial<T> && !IsConst<T>) |
345 | | Bytes to_bytes(Span<T> span) |
346 | | { |
347 | | return Bytes { static_cast<void*>(span.data()), span.size() * sizeof(T) }; |
348 | | } |
349 | | |
350 | | } |
351 | | |
352 | | #if USING_AK_GLOBALLY |
353 | | using AK::Bytes; |
354 | | using AK::ReadonlyBytes; |
355 | | using AK::ReadonlySpan; |
356 | | using AK::Span; |
357 | | using AK::to_bytes; |
358 | | using AK::to_readonly_bytes; |
359 | | #endif |