/* * Copyright (c) 2020, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace AK { namespace Detail { template class ByteBuffer; } class Bitmap; using ByteBuffer = Detail::ByteBuffer<32>; class CircularBuffer; class Error; class FlyString; class GenericLexer; class IPv4Address; class JsonArray; class JsonObject; class JsonValue; class StackInfo; class DeprecatedFlyString; class DeprecatedString; class StringBuilder; class StringImpl; class StringView; class Time; class URL; class String; class Utf16View; class Utf32View; class Utf8CodePointIterator; class Utf8View; class InputStream; class InputMemoryStream; class OutputStream; class OutputMemoryStream; template class Span; template struct Array; template class SimpleIterator; using ReadonlyBytes = Span; using Bytes = Span; template class Atomic; template class SinglyLinkedList; template class DoublyLinkedList; template class CircularQueue; template struct Traits; template, bool IsOrdered = false> class HashTable; template> using OrderedHashTable = HashTable; template, typename ValueTraits = Traits, bool IsOrdered = false> class HashMap; template, typename ValueTraits = Traits> using OrderedHashMap = HashMap; template class Badge; template class FixedArray; template class FixedPoint; template class Function; template class Function; template class NonnullRefPtr; template class NonnullOwnPtr; template class NonnullOwnPtrVector; template class NonnullRefPtrVector; template class Optional; #ifdef KERNEL template class NonnullLockRefPtr; template class NonnullLockRefPtrVector; template struct LockRefPtrTraits; template> class LockRefPtr; #endif template class RefPtr; template> class OwnPtr; template class WeakPtr; template requires(!IsRvalueReference) class Vector; template class [[nodiscard]] ErrorOr; } #if USING_AK_GLOBALLY using AK::Array; using AK::Atomic; using AK::Badge; using AK::Bitmap; using AK::ByteBuffer; using AK::Bytes; using AK::CircularBuffer; using AK::CircularQueue; using AK::DeprecatedFlyString; using AK::DeprecatedString; using AK::DoublyLinkedList; using AK::Error; using AK::ErrorOr; using AK::FixedArray; using AK::FixedPoint; using AK::Function; using AK::GenericLexer; using AK::HashMap; using AK::HashTable; using AK::InputMemoryStream; using AK::InputStream; using AK::IPv4Address; using AK::JsonArray; using AK::JsonObject; using AK::JsonValue; using AK::NonnullOwnPtr; using AK::NonnullOwnPtrVector; using AK::NonnullRefPtr; using AK::NonnullRefPtrVector; using AK::Optional; using AK::OutputMemoryStream; using AK::OutputStream; using AK::OwnPtr; using AK::ReadonlyBytes; using AK::RefPtr; using AK::SinglyLinkedList; using AK::Span; using AK::StackInfo; using AK::String; using AK::StringBuilder; using AK::StringImpl; using AK::StringView; using AK::Time; using AK::Traits; using AK::URL; using AK::Utf16View; using AK::Utf32View; using AK::Utf8CodePointIterator; using AK::Utf8View; using AK::Vector; # ifdef KERNEL using AK::LockRefPtr; using AK::LockRefPtrTraits; using AK::NonnullLockRefPtr; using AK::NonnullLockRefPtrVector; # endif #endif