/* * Copyright (c) 2020, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include namespace AK { namespace Detail { template class ByteBuffer; class StringData; } enum class TrailingCodePointTransformation : u8; class BigEndianInputBitStream; class BigEndianOutputBitStream; class Bitmap; using ByteBuffer = Detail::ByteBuffer<32>; class CircularBuffer; class ConstrainedStream; class CountingStream; class DeprecatedFlyString; class ByteString; class DeprecatedStringCodePointIterator; class Duration; class Error; class FlyString; class GenericLexer; class IPv4Address; class IPv6Address; class JsonArray; class JsonObject; class JsonValue; class LexicalPath; class LittleEndianInputBitStream; class LittleEndianOutputBitStream; class SearchableCircularBuffer; class SeekableStream; class StackInfo; class Stream; class String; class StringBuilder; class StringImpl; class StringView; class UnixDateTime; class Utf16View; class Utf32CodePointIterator; class Utf32View; class Utf8CodePointIterator; class Utf8View; template class Span; template struct Array; template class SimpleIterator; template using ReadonlySpan = Span; using ReadonlyBytes = ReadonlySpan; 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 Optional; template<> class Optional; template<> class Optional; 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::BigEndianInputBitStream; using AK::BigEndianOutputBitStream; using AK::Bitmap; using AK::ByteBuffer; using AK::Bytes; using AK::ByteString; using AK::CircularBuffer; using AK::CircularQueue; using AK::ConstrainedStream; using AK::CountingStream; using AK::DeprecatedFlyString; using AK::DeprecatedStringCodePointIterator; using AK::DoublyLinkedList; using AK::Error; using AK::ErrorOr; using AK::FixedArray; using AK::FlyString; using AK::Function; using AK::GenericLexer; using AK::HashMap; using AK::HashTable; using AK::IPv4Address; using AK::IPv6Address; using AK::JsonArray; using AK::JsonObject; using AK::JsonValue; using AK::LexicalPath; using AK::LittleEndianInputBitStream; using AK::LittleEndianOutputBitStream; using AK::NonnullOwnPtr; using AK::NonnullRefPtr; using AK::Optional; using AK::OwnPtr; using AK::ReadonlyBytes; using AK::RefPtr; using AK::SearchableCircularBuffer; using AK::SeekableStream; using AK::SinglyLinkedList; using AK::Span; using AK::StackInfo; using AK::Stream; using AK::String; using AK::StringBuilder; using AK::StringImpl; using AK::StringView; using AK::TrailingCodePointTransformation; using AK::Traits; using AK::UnixDateTime; using AK::Utf16View; using AK::Utf32CodePointIterator; using AK::Utf32View; using AK::Utf8CodePointIterator; using AK::Utf8View; using AK::Vector; #endif