Coverage Report

Created: 2025-09-05 06:52

/src/serenity/AK/StringBuilder.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
3
 *
4
 * SPDX-License-Identifier: BSD-2-Clause
5
 */
6
7
#pragma once
8
9
#include <AK/ByteBuffer.h>
10
#include <AK/Format.h>
11
#include <AK/Forward.h>
12
#include <AK/StringView.h>
13
#include <stdarg.h>
14
15
namespace AK {
16
17
class StringBuilder {
18
public:
19
    static constexpr size_t inline_capacity = 256;
20
21
    using OutputType = ByteString;
22
23
    static ErrorOr<StringBuilder> create(size_t initial_capacity = inline_capacity);
24
25
    explicit StringBuilder(size_t initial_capacity = inline_capacity);
26
27
    enum class UseInlineCapacityOnly {
28
        Yes,
29
        No,
30
    };
31
    explicit StringBuilder(UseInlineCapacityOnly use_inline_capacity_only);
32
535M
    ~StringBuilder() = default;
33
34
    ErrorOr<void> try_append(StringView);
35
#ifndef KERNEL
36
    ErrorOr<void> try_append(Utf16View const&);
37
#endif
38
    ErrorOr<void> try_append(Utf32View const&);
39
    ErrorOr<void> try_append_code_point(u32);
40
    ErrorOr<void> try_append(char);
41
    template<typename... Parameters>
42
    ErrorOr<void> try_appendff(CheckedFormatString<Parameters...>&& fmtstr, Parameters const&... parameters)
43
73.9k
    {
44
73.9k
        VariadicFormatParams<AllowDebugOnlyFormatters::No, Parameters...> variadic_format_params { parameters... };
45
73.9k
        return vformat(*this, fmtstr.view(), variadic_format_params);
46
73.9k
    }
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<AK::StringView, AK::StringView, int, AK::StringView>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<int>::Type, AK::Detail::__IdentityType<AK::StringView>::Type>&&, AK::StringView const&, AK::StringView const&, int const&, AK::StringView const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<AK::StringView>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type>&&, AK::StringView const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<AK::ByteString>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::ByteString>::Type>&&, AK::ByteString const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<char>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<char>::Type>&&, char const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned int>::Type, AK::Detail::__IdentityType<unsigned int>::Type, AK::Detail::__IdentityType<unsigned int>::Type, AK::Detail::__IdentityType<unsigned int>::Type, AK::Detail::__IdentityType<unsigned int>::Type, AK::Detail::__IdentityType<unsigned int>::Type>&&, unsigned int const&, unsigned int const&, unsigned int const&, unsigned int const&, unsigned int const&, unsigned int const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<AK::StringView, long, AK::StringView, long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<long>::Type, AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<long>::Type>&&, AK::StringView const&, long const&, AK::StringView const&, long const&)
AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<int>::Type>&&, int const&)
Line
Count
Source
43
73.9k
    {
44
73.9k
        VariadicFormatParams<AllowDebugOnlyFormatters::No, Parameters...> variadic_format_params { parameters... };
45
73.9k
        return vformat(*this, fmtstr.view(), variadic_format_params);
46
73.9k
    }
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<int, int, int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<int>::Type, AK::Detail::__IdentityType<int>::Type, AK::Detail::__IdentityType<int>::Type>&&, int const&, int const&, int const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<int, int, int, char [3]>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<int>::Type, AK::Detail::__IdentityType<int>::Type, AK::Detail::__IdentityType<int>::Type, AK::Detail::__IdentityType<char [3]>::Type>&&, int const&, int const&, int const&, char const (&) [3])
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<int, int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<int>::Type, AK::Detail::__IdentityType<int>::Type>&&, int const&, int const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::String>::Type>&&, AK::String const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<JS::Value>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<JS::Value>::Type>&&, JS::Value const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<unsigned int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned int>::Type>&&, unsigned int const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<unsigned short>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned short>::Type>&&, unsigned short const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<unsigned long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned long>::Type>&&, unsigned long const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<AK::FlyString>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::FlyString>::Type>&&, AK::FlyString const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<AK::NonnullOwnPtr<Web::CSS::MediaCondition> >(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::NonnullOwnPtr<Web::CSS::MediaCondition> >::Type>&&, AK::NonnullOwnPtr<Web::CSS::MediaCondition> const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<AK::NonnullRefPtr<Web::CSS::MediaQuery> >(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::NonnullRefPtr<Web::CSS::MediaQuery> >::Type>&&, AK::NonnullRefPtr<Web::CSS::MediaQuery> const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<AK::Optional<AK::StringView> >(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::Optional<AK::StringView> >::Type>&&, AK::Optional<AK::StringView> const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<AK::StringView, int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<int>::Type>&&, AK::StringView const&, int const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<Web::CSS::Parser::ComponentValue>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<Web::CSS::Parser::ComponentValue>::Type>&&, Web::CSS::Parser::ComponentValue const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<AK::NonnullRefPtr<Web::CSS::Selector> >(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::NonnullRefPtr<Web::CSS::Selector> >::Type>&&, AK::NonnullRefPtr<Web::CSS::Selector> const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<Web::CSS::Supports::InParens>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<Web::CSS::Supports::InParens>::Type>&&, Web::CSS::Supports::InParens const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<unsigned char, unsigned char, unsigned char, unsigned char>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type>&&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<unsigned char, unsigned char>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type>&&, unsigned char const&, unsigned char const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type>&&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<unsigned char>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned char>::Type>&&, unsigned char const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<JS::Object*>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<JS::Object*>::Type>&&, JS::Object* const&)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_appendff<SQL::Value>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<SQL::Value>::Type>&&, SQL::Value const&)
47
    ErrorOr<void> try_append(char const*, size_t);
48
    ErrorOr<void> try_append_repeated(char, size_t);
49
    ErrorOr<void> try_append_escaped_for_json(StringView);
50
51
    void append(StringView);
52
#ifndef KERNEL
53
    void append(Utf16View const&);
54
#endif
55
    void append(Utf32View const&);
56
    void append(char);
57
    void append_code_point(u32);
58
    void append(char const*, size_t);
59
    void appendvf(char const*, va_list);
60
    void append_repeated(char, size_t);
61
62
    void append_as_lowercase(char);
63
    void append_escaped_for_json(StringView);
64
65
    template<typename... Parameters>
66
    void appendff(CheckedFormatString<Parameters...>&& fmtstr, Parameters const&... parameters)
67
80.4M
    {
68
80.4M
        VariadicFormatParams<AllowDebugOnlyFormatters::No, Parameters...> variadic_format_params { parameters... };
69
80.4M
        MUST(vformat(*this, fmtstr.view(), variadic_format_params));
70
80.4M
    }
void AK::StringBuilder::appendff<unsigned int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned int>::Type>&&, unsigned int const&)
Line
Count
Source
67
1.07M
    {
68
1.07M
        VariadicFormatParams<AllowDebugOnlyFormatters::No, Parameters...> variadic_format_params { parameters... };
69
1.07M
        MUST(vformat(*this, fmtstr.view(), variadic_format_params));
70
1.07M
    }
Unexecuted instantiation: void AK::StringBuilder::appendff<Gfx::ISOBMFF::BrandIdentifier>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<Gfx::ISOBMFF::BrandIdentifier>::Type>&&, Gfx::ISOBMFF::BrandIdentifier const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<float, float>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<float>::Type, AK::Detail::__IdentityType<float>::Type>&&, float const&, float const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::String>::Type>&&, AK::String const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<long, long, AK::StringView, int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<long>::Type, AK::Detail::__IdentityType<long>::Type, AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<int>::Type>&&, long const&, long const&, AK::StringView const&, int const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<long, long, AK::StringView, int, int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<long>::Type, AK::Detail::__IdentityType<long>::Type, AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<int>::Type, AK::Detail::__IdentityType<int>::Type>&&, long const&, long const&, AK::StringView const&, int const&, int const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<long>::Type>&&, long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<unsigned long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned long>::Type>&&, unsigned long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<double>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<double>::Type>&&, double const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<unsigned short>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned short>::Type>&&, unsigned short const&)
void AK::StringBuilder::appendff<unsigned int, unsigned int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned int>::Type, AK::Detail::__IdentityType<unsigned int>::Type>&&, unsigned int const&, unsigned int const&)
Line
Count
Source
67
2.26k
    {
68
2.26k
        VariadicFormatParams<AllowDebugOnlyFormatters::No, Parameters...> variadic_format_params { parameters... };
69
2.26k
        MUST(vformat(*this, fmtstr.view(), variadic_format_params));
70
2.26k
    }
void AK::StringBuilder::appendff<unsigned int, unsigned int, unsigned int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned int>::Type, AK::Detail::__IdentityType<unsigned int>::Type, AK::Detail::__IdentityType<unsigned int>::Type>&&, unsigned int const&, unsigned int const&, unsigned int const&)
Line
Count
Source
67
25.6M
    {
68
25.6M
        VariadicFormatParams<AllowDebugOnlyFormatters::No, Parameters...> variadic_format_params { parameters... };
69
25.6M
        MUST(vformat(*this, fmtstr.view(), variadic_format_params));
70
25.6M
    }
void AK::StringBuilder::appendff<unsigned int, unsigned int, unsigned int, unsigned int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned int>::Type, AK::Detail::__IdentityType<unsigned int>::Type, AK::Detail::__IdentityType<unsigned int>::Type, AK::Detail::__IdentityType<unsigned int>::Type>&&, unsigned int const&, unsigned int const&, unsigned int const&, unsigned int const&)
Line
Count
Source
67
7.36k
    {
68
7.36k
        VariadicFormatParams<AllowDebugOnlyFormatters::No, Parameters...> variadic_format_params { parameters... };
69
7.36k
        MUST(vformat(*this, fmtstr.view(), variadic_format_params));
70
7.36k
    }
void AK::StringBuilder::appendff<unsigned char>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned char>::Type>&&, unsigned char const&)
Line
Count
Source
67
53.7M
    {
68
53.7M
        VariadicFormatParams<AllowDebugOnlyFormatters::No, Parameters...> variadic_format_params { parameters... };
69
53.7M
        MUST(vformat(*this, fmtstr.view(), variadic_format_params));
70
53.7M
    }
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::DeprecatedFlyString, unsigned long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::DeprecatedFlyString>::Type, AK::Detail::__IdentityType<unsigned long>::Type>&&, AK::DeprecatedFlyString const&, unsigned long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<int>::Type>&&, int const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<JS::Value>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<JS::Value>::Type>&&, JS::Value const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::StringView>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type>&&, AK::StringView const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<>(AK::Format::Detail::CheckedFormatString<>&&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::ByteString>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::ByteString>::Type>&&, AK::ByteString const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::ByteString, AK::ByteString>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<AK::ByteString>::Type>&&, AK::ByteString const&, AK::ByteString const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::StringView, bool>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<bool>::Type>&&, AK::StringView const&, bool const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::StringView, AK::ByteString, AK::ByteString, AK::ByteString>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<AK::ByteString>::Type>&&, AK::StringView const&, AK::ByteString const&, AK::ByteString const&, AK::ByteString const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<JS::Bytecode::Builtin>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<JS::Bytecode::Builtin>::Type>&&, JS::Bytecode::Builtin const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::StringView, AK::ByteString, AK::ByteString, AK::ByteString, AK::ByteString>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<AK::ByteString>::Type>&&, AK::StringView const&, AK::ByteString const&, AK::ByteString const&, AK::ByteString const&, AK::ByteString const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::DeprecatedFlyString>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::DeprecatedFlyString>::Type>&&, AK::DeprecatedFlyString const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<unsigned long, unsigned long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned long>::Type, AK::Detail::__IdentityType<unsigned long>::Type>&&, unsigned long const&, unsigned long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<unsigned long, unsigned long, unsigned long, unsigned long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned long>::Type, AK::Detail::__IdentityType<unsigned long>::Type, AK::Detail::__IdentityType<unsigned long>::Type, AK::Detail::__IdentityType<unsigned long>::Type>&&, unsigned long const&, unsigned long const&, unsigned long const&, unsigned long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<char [7], char [6], char [10], char [7], char [10], char [6], char [7]>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<char [7]>::Type, AK::Detail::__IdentityType<char [6]>::Type, AK::Detail::__IdentityType<char [10]>::Type, AK::Detail::__IdentityType<char [7]>::Type, AK::Detail::__IdentityType<char [10]>::Type, AK::Detail::__IdentityType<char [6]>::Type, AK::Detail::__IdentityType<char [7]>::Type>&&, char const (&) [7], char const (&) [6], char const (&) [10], char const (&) [7], char const (&) [10], char const (&) [6], char const (&) [7])
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::ByteString, unsigned long, unsigned long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<unsigned long>::Type, AK::Detail::__IdentityType<unsigned long>::Type>&&, AK::ByteString const&, unsigned long const&, unsigned long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::DeprecatedFlyString, AK::ByteString, unsigned long, unsigned long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::DeprecatedFlyString>::Type, AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<unsigned long>::Type, AK::Detail::__IdentityType<unsigned long>::Type>&&, AK::DeprecatedFlyString const&, AK::ByteString const&, unsigned long const&, unsigned long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<long, AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<long>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, long const&, AK::String const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<long, AK::StringView, long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<long>::Type, AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<long>::Type>&&, long const&, AK::StringView const&, long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::StringView, long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<long>::Type>&&, AK::StringView const&, long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::String>::Type>&&, AK::String const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<char>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<char>::Type>&&, char const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<unsigned long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned long>::Type>&&, unsigned long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<char const*, char const*>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<char const*>::Type, AK::Detail::__IdentityType<char const*>::Type>&&, char const* const&, char const* const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<PDF::Value>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<PDF::Value>::Type>&&, PDF::Value const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<PDF::XRefEntry>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<PDF::XRefEntry>::Type>&&, PDF::XRefEntry const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::ByteString, AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, AK::ByteString const&, AK::String const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::ByteString, int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<int>::Type>&&, AK::ByteString const&, int const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::ByteString, PDF::Destination>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<PDF::Destination>::Type>&&, AK::ByteString const&, PDF::Destination const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::ByteString, Gfx::Color>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<Gfx::Color>::Type>&&, AK::ByteString const&, Gfx::Color const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::ByteString, bool>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<bool>::Type>&&, AK::ByteString const&, bool const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::ByteString, unsigned char, AK::ByteString>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<AK::ByteString>::Type>&&, AK::ByteString const&, unsigned char const&, AK::ByteString const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<bool>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<bool>::Type>&&, bool const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::String, unsigned long, unsigned long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::String>::Type, AK::Detail::__IdentityType<unsigned long>::Type, AK::Detail::__IdentityType<unsigned long>::Type>&&, AK::String const&, unsigned long const&, unsigned long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<int, int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<int>::Type, AK::Detail::__IdentityType<int>::Type>&&, int const&, int const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::ByteString, char [64], AK::ByteString>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<char [64]>::Type, AK::Detail::__IdentityType<AK::ByteString>::Type>&&, AK::ByteString const&, char const (&) [64], AK::ByteString const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::ByteString, AK::StringView>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<AK::StringView>::Type>&&, AK::ByteString const&, AK::StringView const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::ByteString, char const*>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<char const*>::Type>&&, AK::ByteString const&, char const* const&)
void AK::StringBuilder::appendff<char [13], AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<char [13]>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, char const (&) [13], AK::String const&)
Line
Count
Source
67
136
    {
68
136
        VariadicFormatParams<AllowDebugOnlyFormatters::No, Parameters...> variadic_format_params { parameters... };
69
136
        MUST(vformat(*this, fmtstr.view(), variadic_format_params));
70
136
    }
void AK::StringBuilder::appendff<char [5], AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<char [5]>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, char const (&) [5], AK::String const&)
Line
Count
Source
67
5
    {
68
5
        VariadicFormatParams<AllowDebugOnlyFormatters::No, Parameters...> variadic_format_params { parameters... };
69
5
        MUST(vformat(*this, fmtstr.view(), variadic_format_params));
70
5
    }
void AK::StringBuilder::appendff<char [2], AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<char [2]>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, char const (&) [2], AK::String const&)
Line
Count
Source
67
512
    {
68
512
        VariadicFormatParams<AllowDebugOnlyFormatters::No, Parameters...> variadic_format_params { parameters... };
69
512
        MUST(vformat(*this, fmtstr.view(), variadic_format_params));
70
512
    }
void AK::StringBuilder::appendff<char [3], AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<char [3]>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, char const (&) [3], AK::String const&)
Line
Count
Source
67
808
    {
68
808
        VariadicFormatParams<AllowDebugOnlyFormatters::No, Parameters...> variadic_format_params { parameters... };
69
808
        MUST(vformat(*this, fmtstr.view(), variadic_format_params));
70
808
    }
void AK::StringBuilder::appendff<char [4], AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<char [4]>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, char const (&) [4], AK::String const&)
Line
Count
Source
67
134
    {
68
134
        VariadicFormatParams<AllowDebugOnlyFormatters::No, Parameters...> variadic_format_params { parameters... };
69
134
        MUST(vformat(*this, fmtstr.view(), variadic_format_params));
70
134
    }
void AK::StringBuilder::appendff<char [10], AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<char [10]>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, char const (&) [10], AK::String const&)
Line
Count
Source
67
960
    {
68
960
        VariadicFormatParams<AllowDebugOnlyFormatters::No, Parameters...> variadic_format_params { parameters... };
69
960
        MUST(vformat(*this, fmtstr.view(), variadic_format_params));
70
960
    }
void AK::StringBuilder::appendff<char [7], AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<char [7]>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, char const (&) [7], AK::String const&)
Line
Count
Source
67
76
    {
68
76
        VariadicFormatParams<AllowDebugOnlyFormatters::No, Parameters...> variadic_format_params { parameters... };
69
76
        MUST(vformat(*this, fmtstr.view(), variadic_format_params));
70
76
    }
void AK::StringBuilder::appendff<AK::String, AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::String>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, AK::String const&, AK::String const&)
Line
Count
Source
67
1.62k
    {
68
1.62k
        VariadicFormatParams<AllowDebugOnlyFormatters::No, Parameters...> variadic_format_params { parameters... };
69
1.62k
        MUST(vformat(*this, fmtstr.view(), variadic_format_params));
70
1.62k
    }
Unexecuted instantiation: void AK::StringBuilder::appendff<unsigned long, unsigned long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned long>::Type, AK::Detail::__IdentityType<unsigned long>::Type>&&, unsigned long const&, unsigned long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<unsigned long, unsigned long, unsigned long, unsigned long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned long>::Type, AK::Detail::__IdentityType<unsigned long>::Type, AK::Detail::__IdentityType<unsigned long>::Type, AK::Detail::__IdentityType<unsigned long>::Type>&&, unsigned long const&, unsigned long const&, unsigned long const&, unsigned long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::FlyString>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::FlyString>::Type>&&, AK::FlyString const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<char [1], int, AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<char [1]>::Type, AK::Detail::__IdentityType<int>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, char const (&) [1], int const&, AK::String const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<float>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<float>::Type>&&, float const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<double, AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<double>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, double const&, AK::String const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<unsigned char, unsigned char, unsigned char>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type>&&, unsigned char const&, unsigned char const&, unsigned char const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<unsigned char, unsigned char, unsigned char, float>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<float>::Type>&&, unsigned char const&, unsigned char const&, unsigned char const&, float const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<Web::CSS::LengthPercentage, Web::CSS::LengthPercentage>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<Web::CSS::LengthPercentage>::Type, AK::Detail::__IdentityType<Web::CSS::LengthPercentage>::Type>&&, Web::CSS::LengthPercentage const&, Web::CSS::LengthPercentage const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<char [1], int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<char [1]>::Type, AK::Detail::__IdentityType<int>::Type>&&, char const (&) [1], int const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<double, double, double, double>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<double>::Type, AK::Detail::__IdentityType<double>::Type, AK::Detail::__IdentityType<double>::Type, AK::Detail::__IdentityType<double>::Type>&&, double const&, double const&, double const&, double const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<unsigned int, AK::StringView>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned int>::Type, AK::Detail::__IdentityType<AK::StringView>::Type>&&, unsigned int const&, AK::StringView const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<Web::CSS::Length, Web::CSS::Length>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<Web::CSS::Length>::Type, AK::Detail::__IdentityType<Web::CSS::Length>::Type>&&, Web::CSS::Length const&, Web::CSS::Length const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<int, AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<int>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, int const&, AK::String const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::StringView, AK::StringView>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::StringView>::Type>&&, AK::StringView const&, AK::StringView const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::String, AK::String, AK::String, AK::String, AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::String>::Type, AK::Detail::__IdentityType<AK::String>::Type, AK::Detail::__IdentityType<AK::String>::Type, AK::Detail::__IdentityType<AK::String>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, AK::String const&, AK::String const&, AK::String const&, AK::String const&, AK::String const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::String, AK::String, AK::String, AK::String, AK::String, AK::String, AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::String>::Type, AK::Detail::__IdentityType<AK::String>::Type, AK::Detail::__IdentityType<AK::String>::Type, AK::Detail::__IdentityType<AK::String>::Type, AK::Detail::__IdentityType<AK::String>::Type, AK::Detail::__IdentityType<AK::String>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, AK::String const&, AK::String const&, AK::String const&, AK::String const&, AK::String const&, AK::String const&, AK::String const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::String, Web::CSS::TimeOrCalculated, AK::String, Web::CSS::TimeOrCalculated>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::String>::Type, AK::Detail::__IdentityType<Web::CSS::TimeOrCalculated>::Type, AK::Detail::__IdentityType<AK::String>::Type, AK::Detail::__IdentityType<Web::CSS::TimeOrCalculated>::Type>&&, AK::String const&, Web::CSS::TimeOrCalculated const&, AK::String const&, Web::CSS::TimeOrCalculated const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::FlyString, AK::ByteString>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::FlyString>::Type, AK::Detail::__IdentityType<AK::ByteString>::Type>&&, AK::FlyString const&, AK::ByteString const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::FlyString, AK::FlyString>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::FlyString>::Type, AK::Detail::__IdentityType<AK::FlyString>::Type>&&, AK::FlyString const&, AK::FlyString const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::Optional<AK::FlyString>, AK::FlyString>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::Optional<AK::FlyString> >::Type, AK::Detail::__IdentityType<AK::FlyString>::Type>&&, AK::Optional<AK::FlyString> const&, AK::FlyString const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::StringView, AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, AK::StringView const&, AK::String const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<int, URL::URL, bool>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<int>::Type, AK::Detail::__IdentityType<URL::URL>::Type, AK::Detail::__IdentityType<bool>::Type>&&, int const&, URL::URL const&, bool const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::StringView, unsigned long, AK::StringView, AK::StringView>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<unsigned long>::Type, AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::StringView>::Type>&&, AK::StringView const&, unsigned long const&, AK::StringView const&, AK::StringView const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<int, int, Gfx::Rect<Web::CSSPixels>, Web::CSSPixels>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<int>::Type, AK::Detail::__IdentityType<int>::Type, AK::Detail::__IdentityType<Gfx::Rect<Web::CSSPixels> >::Type, AK::Detail::__IdentityType<Web::CSSPixels>::Type>&&, int const&, int const&, Gfx::Rect<Web::CSSPixels> const&, Web::CSSPixels const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::StringView, AK::FlyString, AK::FlyString>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::FlyString>::Type, AK::Detail::__IdentityType<AK::FlyString>::Type>&&, AK::StringView const&, AK::FlyString const&, AK::FlyString const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::FlyString, AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::FlyString>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, AK::FlyString const&, AK::String const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::StringView, AK::StringView, AK::StringView, AK::FlyString, AK::StringView, AK::String, AK::StringView>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::FlyString>::Type, AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::String>::Type, AK::Detail::__IdentityType<AK::StringView>::Type>&&, AK::StringView const&, AK::StringView const&, AK::StringView const&, AK::FlyString const&, AK::StringView const&, AK::String const&, AK::StringView const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::StringView, AK::StringView, AK::StringView, AK::StringView, AK::FlyString, AK::StringView, AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::FlyString>::Type, AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, AK::StringView const&, AK::StringView const&, AK::StringView const&, AK::StringView const&, AK::FlyString const&, AK::StringView const&, AK::String const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<Web::CSSPixels, Web::CSSPixels, Web::CSSPixels, Web::CSSPixels>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<Web::CSSPixels>::Type, AK::Detail::__IdentityType<Web::CSSPixels>::Type, AK::Detail::__IdentityType<Web::CSSPixels>::Type, AK::Detail::__IdentityType<Web::CSSPixels>::Type>&&, Web::CSSPixels const&, Web::CSSPixels const&, Web::CSSPixels const&, Web::CSSPixels const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::StringView, AK::StringView, AK::StringView>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::StringView>::Type>&&, AK::StringView const&, AK::StringView const&, AK::StringView const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<Web::CSSPixels, Web::CSSPixels, Web::CSSPixels, Web::CSSPixels, Web::CSSPixels, Web::CSSPixels, Web::CSSPixels>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<Web::CSSPixels>::Type, AK::Detail::__IdentityType<Web::CSSPixels>::Type, AK::Detail::__IdentityType<Web::CSSPixels>::Type, AK::Detail::__IdentityType<Web::CSSPixels>::Type, AK::Detail::__IdentityType<Web::CSSPixels>::Type, AK::Detail::__IdentityType<Web::CSSPixels>::Type, AK::Detail::__IdentityType<Web::CSSPixels>::Type>&&, Web::CSSPixels const&, Web::CSSPixels const&, Web::CSSPixels const&, Web::CSSPixels const&, Web::CSSPixels const&, Web::CSSPixels const&, Web::CSSPixels const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<char const*>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<char const*>::Type>&&, char const* const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<URL::URL>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<URL::URL>::Type>&&, URL::URL const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<URL::URL, AK::FlyString>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<URL::URL>::Type, AK::Detail::__IdentityType<AK::FlyString>::Type>&&, URL::URL const&, AK::FlyString const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<Web::CSS::Percentage>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<Web::CSS::Percentage>::Type>&&, Web::CSS::Percentage const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::FlyString, long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::FlyString>::Type, AK::Detail::__IdentityType<long>::Type>&&, AK::FlyString const&, long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::FlyString, double>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::FlyString>::Type, AK::Detail::__IdentityType<double>::Type>&&, AK::FlyString const&, double const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<Web::CSS::StyleSheet const*, unsigned long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<Web::CSS::StyleSheet const*>::Type, AK::Detail::__IdentityType<unsigned long>::Type>&&, Web::CSS::StyleSheet const* const&, unsigned long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::StringView, AK::StringView, AK::String>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::StringView>::Type, AK::Detail::__IdentityType<AK::String>::Type>&&, AK::StringView const&, AK::StringView const&, AK::String const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<Gfx::Rect<Web::CSSPixels> >(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<Gfx::Rect<Web::CSSPixels> >::Type>&&, Gfx::Rect<Web::CSSPixels> const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::Optional<Gfx::Rect<Web::CSSPixels> > >(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::Optional<Gfx::Rect<Web::CSSPixels> > >::Type>&&, AK::Optional<Gfx::Rect<Web::CSSPixels> > const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<Gfx::Point<Web::CSSPixels> >(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<Gfx::Point<Web::CSSPixels> >::Type>&&, Gfx::Point<Web::CSSPixels> const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::LexicalPath, AK::ByteString>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::LexicalPath>::Type, AK::Detail::__IdentityType<AK::ByteString>::Type>&&, AK::LexicalPath const&, AK::ByteString const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::String, Gfx::Rect<Web::CSSPixels>, unsigned long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::String>::Type, AK::Detail::__IdentityType<Gfx::Rect<Web::CSSPixels> >::Type, AK::Detail::__IdentityType<unsigned long>::Type>&&, AK::String const&, Gfx::Rect<Web::CSSPixels> const&, unsigned long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<Gfx::AffineTransform>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<Gfx::AffineTransform>::Type>&&, Gfx::AffineTransform const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<long, char const*>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<long>::Type, AK::Detail::__IdentityType<char const*>::Type>&&, long const&, char const* const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<Wasm::ValueType>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<Wasm::ValueType>::Type>&&, Wasm::ValueType const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<unsigned long, unsigned int, unsigned int>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned long>::Type, AK::Detail::__IdentityType<unsigned int>::Type, AK::Detail::__IdentityType<unsigned int>::Type>&&, unsigned long const&, unsigned int const&, unsigned int const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<unsigned long, unsigned int, unsigned int, unsigned char>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned long>::Type, AK::Detail::__IdentityType<unsigned int>::Type, AK::Detail::__IdentityType<unsigned int>::Type, AK::Detail::__IdentityType<unsigned char>::Type>&&, unsigned long const&, unsigned int const&, unsigned int const&, unsigned char const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::ByteString, unsigned long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<unsigned long>::Type>&&, AK::ByteString const&, unsigned long const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type, AK::Detail::__IdentityType<unsigned char>::Type>&&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&, unsigned char const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::Detail::UFixedBigInt<128ul, AK::Detail::StaticStorage<false, 128ul> > >(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::Detail::UFixedBigInt<128ul, AK::Detail::StaticStorage<false, 128ul> > >::Type>&&, AK::Detail::UFixedBigInt<128ul, AK::Detail::StaticStorage<false, 128ul> > const&)
Unexecuted instantiation: void AK::StringBuilder::appendff<AK::ByteString, unsigned long>(AK::Format::Detail::CheckedFormatString<AK::Detail::__IdentityType<AK::ByteString>::Type, AK::Detail::__IdentityType<unsigned long>::Type>&&, AK::ByteString const&, unsigned long const&)
71
72
#ifndef KERNEL
73
    [[nodiscard]] ByteString to_byte_string() const;
74
#endif
75
76
    [[nodiscard]] String to_string_without_validation() const;
77
    ErrorOr<String> to_string() const;
78
79
    [[nodiscard]] FlyString to_fly_string_without_validation() const;
80
    ErrorOr<FlyString> to_fly_string() const;
81
82
    [[nodiscard]] ErrorOr<ByteBuffer> to_byte_buffer() const;
83
84
    [[nodiscard]] StringView string_view() const;
85
    void clear();
86
87
    [[nodiscard]] size_t length() const;
88
    [[nodiscard]] bool is_empty() const;
89
    void trim(size_t count);
90
91
    template<class SeparatorType, class CollectionType>
92
    void join(SeparatorType const& separator, CollectionType const& collection, StringView fmtstr = "{}"sv)
93
0
    {
94
0
        MUST(try_join(separator, collection, fmtstr));
95
0
    }
Unexecuted instantiation: void AK::StringBuilder::join<char, AK::Vector<AK::ByteString, 0ul> >(char const&, AK::Vector<AK::ByteString, 0ul> const&, AK::StringView)
Unexecuted instantiation: void AK::StringBuilder::join<AK::StringView, AK::Vector<AK::ByteString, 0ul> >(AK::StringView const&, AK::Vector<AK::ByteString, 0ul> const&, AK::StringView)
Unexecuted instantiation: void AK::StringBuilder::join<AK::StringView, AK::Span<JS::Value const> >(AK::StringView const&, AK::Span<JS::Value const> const&, AK::StringView)
Unexecuted instantiation: void AK::StringBuilder::join<char, AK::Vector<AK::StringView, 0ul> >(char const&, AK::Vector<AK::StringView, 0ul> const&, AK::StringView)
Unexecuted instantiation: void AK::StringBuilder::join<AK::StringView, AK::Vector<AK::String, 0ul> >(AK::StringView const&, AK::Vector<AK::String, 0ul> const&, AK::StringView)
Unexecuted instantiation: void AK::StringBuilder::join<char, AK::Vector<AK::String, 0ul> >(char const&, AK::Vector<AK::String, 0ul> const&, AK::StringView)
Unexecuted instantiation: void AK::StringBuilder::join<AK::String, AK::Vector<AK::String, 0ul> >(AK::String const&, AK::Vector<AK::String, 0ul> const&, AK::StringView)
Unexecuted instantiation: void AK::StringBuilder::join<char, AK::Span<AK::StringView> >(char const&, AK::Span<AK::StringView> const&, AK::StringView)
Unexecuted instantiation: void AK::StringBuilder::join<AK::StringView, AK::Vector<int, 3ul> >(AK::StringView const&, AK::Vector<int, 3ul> const&, AK::StringView)
Unexecuted instantiation: void AK::StringBuilder::join<char, AK::Vector<int, 3ul> >(char const&, AK::Vector<int, 3ul> const&, AK::StringView)
Unexecuted instantiation: void AK::StringBuilder::join<AK::StringView, AK::Vector<AK::NonnullOwnPtr<Web::CSS::MediaCondition>, 0ul> >(AK::StringView const&, AK::Vector<AK::NonnullOwnPtr<Web::CSS::MediaCondition>, 0ul> const&, AK::StringView)
Unexecuted instantiation: void AK::StringBuilder::join<AK::StringView, AK::Vector<AK::FlyString, 0ul> >(AK::StringView const&, AK::Vector<AK::FlyString, 0ul> const&, AK::StringView)
Unexecuted instantiation: void AK::StringBuilder::join<char, AK::Vector<Web::CSS::Parser::ComponentValue, 0ul> >(char const&, AK::Vector<Web::CSS::Parser::ComponentValue, 0ul> const&, AK::StringView)
Unexecuted instantiation: void AK::StringBuilder::join<char, AK::Vector<AK::FlyString, 0ul> >(char const&, AK::Vector<AK::FlyString, 0ul> const&, AK::StringView)
Unexecuted instantiation: void AK::StringBuilder::join<AK::StringView, AK::Span<AK::FlyString const> >(AK::StringView const&, AK::Span<AK::FlyString const> const&, AK::StringView)
Unexecuted instantiation: void AK::StringBuilder::join<char, AK::Vector<unsigned char, 0ul> >(char const&, AK::Vector<unsigned char, 0ul> const&, AK::StringView)
Unexecuted instantiation: void AK::StringBuilder::join<char, AK::Vector<SQL::Value, 0ul> >(char const&, AK::Vector<SQL::Value, 0ul> const&, AK::StringView)
96
97
    template<class SeparatorType, class CollectionType>
98
    ErrorOr<void> try_join(SeparatorType const& separator, CollectionType const& collection, StringView fmtstr = "{}"sv)
99
9.91k
    {
100
9.91k
        bool first = true;
101
73.9k
        for (auto& item : collection) {
102
73.9k
            if (!first)
103
64.0k
                TRY(try_append(separator));
104
147k
            TRY(try_appendff(fmtstr, item));
105
0
            first = false;
106
147k
        }
107
9.91k
        return {};
108
9.91k
    }
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<char, AK::Vector<AK::StringView, 0ul> >(char const&, AK::Vector<AK::StringView, 0ul> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<char, AK::Vector<AK::ByteString, 0ul> >(char const&, AK::Vector<AK::ByteString, 0ul> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<char, AK::Vector<AK::String, 0ul> >(char const&, AK::Vector<AK::String, 0ul> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<AK::StringView, AK::Vector<AK::ByteString, 0ul> >(AK::StringView const&, AK::Vector<AK::ByteString, 0ul> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<AK::StringView, AK::Vector<AK::String, 0ul> >(AK::StringView const&, AK::Vector<AK::String, 0ul> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<AK::StringView, AK::Span<JS::Value const> >(AK::StringView const&, AK::Span<JS::Value const> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<char, AK::Span<AK::String const> >(char const&, AK::Span<AK::String const> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<AK::String, AK::Vector<AK::String, 0ul> >(AK::String const&, AK::Vector<AK::String, 0ul> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<char, AK::Span<AK::StringView> >(char const&, AK::Span<AK::StringView> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<AK::StringView, AK::Vector<int, 3ul> >(AK::StringView const&, AK::Vector<int, 3ul> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<char, AK::Vector<int, 3ul> >(char const&, AK::Vector<int, 3ul> const&, AK::StringView)
AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<AK::StringView, AK::Vector<int, 0ul> >(AK::StringView const&, AK::Vector<int, 0ul> const&, AK::StringView)
Line
Count
Source
99
9.90k
    {
100
9.90k
        bool first = true;
101
73.9k
        for (auto& item : collection) {
102
73.9k
            if (!first)
103
64.0k
                TRY(try_append(separator));
104
147k
            TRY(try_appendff(fmtstr, item));
105
0
            first = false;
106
147k
        }
107
9.90k
        return {};
108
9.90k
    }
AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<AK::StringView, AK::Vector<int, 9ul> >(AK::StringView const&, AK::Vector<int, 9ul> const&, AK::StringView)
Line
Count
Source
99
7
    {
100
7
        bool first = true;
101
49
        for (auto& item : collection) {
102
49
            if (!first)
103
42
                TRY(try_append(separator));
104
98
            TRY(try_appendff(fmtstr, item));
105
0
            first = false;
106
98
        }
107
7
        return {};
108
7
    }
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<AK::StringView, AK::ReverseWrapper::ReverseWrapper<AK::Vector<AK::FlyString, 0ul>&> >(AK::StringView const&, AK::ReverseWrapper::ReverseWrapper<AK::Vector<AK::FlyString, 0ul>&> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<AK::StringView, AK::Vector<AK::NonnullOwnPtr<Web::CSS::MediaCondition>, 0ul> >(AK::StringView const&, AK::Vector<AK::NonnullOwnPtr<Web::CSS::MediaCondition>, 0ul> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<AK::StringView, AK::Vector<AK::NonnullRefPtr<Web::CSS::MediaQuery>, 0ul> >(AK::StringView const&, AK::Vector<AK::NonnullRefPtr<Web::CSS::MediaQuery>, 0ul> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<char, AK::Vector<AK::FlyString, 0ul> >(char const&, AK::Vector<AK::FlyString, 0ul> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<AK::StringView, AK::Vector<AK::FlyString, 0ul> >(AK::StringView const&, AK::Vector<AK::FlyString, 0ul> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<char, AK::Vector<Web::CSS::Parser::ComponentValue, 0ul> >(char const&, AK::Vector<Web::CSS::Parser::ComponentValue, 0ul> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<AK::StringView, AK::Vector<AK::NonnullRefPtr<Web::CSS::Selector>, 0ul> >(AK::StringView const&, AK::Vector<AK::NonnullRefPtr<Web::CSS::Selector>, 0ul> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<AK::StringView, AK::Vector<Web::CSS::Supports::InParens, 0ul> >(AK::StringView const&, AK::Vector<Web::CSS::Supports::InParens, 0ul> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<AK::StringView, AK::Span<AK::FlyString const> >(AK::StringView const&, AK::Span<AK::FlyString const> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<char, AK::Vector<unsigned char, 0ul> >(char const&, AK::Vector<unsigned char, 0ul> const&, AK::StringView)
Unexecuted instantiation: AK::ErrorOr<void, AK::Error> AK::StringBuilder::try_join<char, AK::Vector<SQL::Value, 0ul> >(char const&, AK::Vector<SQL::Value, 0ul> const&, AK::StringView)
109
110
private:
111
    ErrorOr<void> will_append(size_t);
112
    u8* data();
113
    u8 const* data() const;
114
115
    UseInlineCapacityOnly m_use_inline_capacity_only { UseInlineCapacityOnly::No };
116
    Detail::ByteBuffer<inline_capacity> m_buffer;
117
};
118
119
}
120
121
#if USING_AK_GLOBALLY
122
using AK::StringBuilder;
123
#endif