Index: src/OFArray.h ================================================================== --- src/OFArray.h +++ src/OFArray.h @@ -10,13 +10,13 @@ */ #include #import "OFObject.h" -#import "OFDataArray.h" #import "OFFastEnumeration.h" +@class OFDataArray; @class OFString; /** * The OFArray class is a class for storing objects in an array. */ Index: src/OFArray.m ================================================================== --- src/OFArray.m +++ src/OFArray.m @@ -12,10 +12,12 @@ #include "config.h" #include #import "OFArray.h" +#import "OFDataArray.h" +#import "OFString.h" #import "OFExceptions.h" #import "OFMacros.h" @implementation OFArray + array Index: src/OFAutoreleasePool.h ================================================================== --- src/OFAutoreleasePool.h +++ src/OFAutoreleasePool.h @@ -8,12 +8,12 @@ * Q Public License 1.0, which can be found in the file LICENSE included in * the packaging of this file. */ #import "OFObject.h" -#import "OFArray.h" -#import "OFList.h" + +@class OFMutableArray; /** * The OFAutoreleasePool class is a class that keeps track of objects that will * be released when the autorelease pool is released. * Index: src/OFAutoreleasePool.m ================================================================== --- src/OFAutoreleasePool.m +++ src/OFAutoreleasePool.m @@ -12,11 +12,11 @@ #include "config.h" #include #import "OFAutoreleasePool.h" -#import "OFList.h" +#import "OFArray.h" #import "OFExceptions.h" #ifdef OF_THREADS #import "threading.h" Index: src/OFDictionary.h ================================================================== --- src/OFDictionary.h +++ src/OFDictionary.h @@ -10,12 +10,13 @@ */ #include #import "OFObject.h" -#import "OFArray.h" #import "OFFastEnumeration.h" + +@class OFArray; struct of_dictionary_bucket { OFObject *key; OFObject *object; Index: src/OFDictionary.m ================================================================== --- src/OFDictionary.m +++ src/OFDictionary.m @@ -13,10 +13,11 @@ #include #import "OFDictionary.h" #import "OFEnumerator.h" +#import "OFArray.h" #import "OFAutoreleasePool.h" #import "OFExceptions.h" #import "OFMacros.h" #define BUCKET_SIZE sizeof(struct of_dictionary_bucket) Index: src/OFExceptions.h ================================================================== --- src/OFExceptions.h +++ src/OFExceptions.h @@ -8,12 +8,13 @@ * Q Public License 1.0, which can be found in the file LICENSE included in * the packaging of this file. */ #import "OFObject.h" -#import "OFString.h" #import "OFFile.h" + +@class OFString; /** * An exception indicating an object could not be allocated. * * This exception is preallocated, as if there's no memory, no exception can Index: src/OFExceptions.m ================================================================== --- src/OFExceptions.m +++ src/OFExceptions.m @@ -23,10 +23,11 @@ #else # define SEL_NAME(x) sel_get_name(x) #endif #import "OFExceptions.h" +#import "OFString.h" #import "OFTCPSocket.h" #ifndef _WIN32 # include # define GET_ERR errno Index: src/OFFile.h ================================================================== --- src/OFFile.h +++ src/OFFile.h @@ -17,11 +17,12 @@ typedef int uid_t; typedef int gid_t; #endif #import "OFStream.h" -#import "OFString.h" + +@class OFString; /** * The OFFile class provides functions to read, write and manipulate files. */ @interface OFFile: OFStream Index: src/OFFile.m ================================================================== --- src/OFFile.m +++ src/OFFile.m @@ -19,10 +19,11 @@ #include #include #endif #import "OFFile.h" +#import "OFString.h" #import "OFExceptions.h" #ifdef _WIN32 #import #endif Index: src/OFMutableArray.m ================================================================== --- src/OFMutableArray.m +++ src/OFMutableArray.m @@ -12,10 +12,11 @@ #include "config.h" #include #import "OFMutableArray.h" +#import "OFDataArray.h" #import "OFExceptions.h" @implementation OFMutableArray - (id)copy { Index: src/OFMutableString.m ================================================================== --- src/OFMutableString.m +++ src/OFMutableString.m @@ -22,11 +22,11 @@ #include #else #define madvise(addr, len, advise) #endif -#import "OFMutableString.h" +#import "OFString.h" #import "OFExceptions.h" #import "OFMacros.h" #import "asprintf.h" #import "unicode.h" Index: src/OFPlugin.h ================================================================== --- src/OFPlugin.h +++ src/OFPlugin.h @@ -8,11 +8,12 @@ * Q Public License 1.0, which can be found in the file LICENSE included in * the packaging of this file. */ #import "OFObject.h" -#import "OFString.h" + +@class OFString; #ifndef _WIN32 typedef void* of_plugin_handle_t; #else #include Index: src/OFPlugin.m ================================================================== --- src/OFPlugin.m +++ src/OFPlugin.m @@ -17,10 +17,11 @@ #ifndef _WIN32 #include #endif #import "OFPlugin.h" +#import "OFString.h" #import "OFAutoreleasePool.h" #import "OFExceptions.h" #ifdef _WIN32 #define dlopen(file, mode) LoadLibrary(file) Index: src/OFStream.h ================================================================== --- src/OFStream.h +++ src/OFStream.h @@ -8,11 +8,12 @@ * Q Public License 1.0, which can be found in the file LICENSE included in * the packaging of this file. */ #import "OFObject.h" -#import "OFString.h" + +@class OFString; /** * The OFStream class provides a base class for different types of streams. */ @interface OFStream: OFObject Index: src/OFStream.m ================================================================== --- src/OFStream.m +++ src/OFStream.m @@ -14,10 +14,11 @@ #include #include #include #import "OFStream.h" +#import "OFString.h" #import "OFExceptions.h" #import "OFMacros.h" #ifdef _WIN32 #include Index: src/OFString.h ================================================================== --- src/OFString.h +++ src/OFString.h @@ -11,11 +11,10 @@ #include #include #import "OFObject.h" -#import "OFArray.h" typedef uint32_t of_unichar_t; enum of_string_encoding { OF_STRING_ENCODING_UTF_8, @@ -27,10 +26,12 @@ extern int of_string_check_utf8(const char*, size_t); extern size_t of_string_unicode_to_utf8(of_unichar_t, char*); extern size_t of_string_utf8_to_unicode(const char*, size_t, of_unichar_t*); extern size_t of_string_position_to_index(const char*, size_t); extern size_t of_string_index_to_position(const char*, size_t, size_t); + +@class OFArray; /** * A class for managing strings. */ @interface OFString: OFObject Index: src/OFString.m ================================================================== --- src/OFString.m +++ src/OFString.m @@ -21,10 +21,11 @@ #else #define madvise(addr, len, advise) #endif #import "OFString.h" +#import "OFArray.h" #import "OFAutoreleasePool.h" #import "OFExceptions.h" #import "OFMacros.h" #import "asprintf.h" Index: src/OFTCPSocket.h ================================================================== --- src/OFTCPSocket.h +++ src/OFTCPSocket.h @@ -8,11 +8,12 @@ * Q Public License 1.0, which can be found in the file LICENSE included in * the packaging of this file. */ #import "OFSocket.h" -#import "OFString.h" + +@class OFString; /** * The OFTCPSocket class provides functions to create and use sockets. */ @interface OFTCPSocket: OFSocket {} Index: src/OFTCPSocket.m ================================================================== --- src/OFTCPSocket.m +++ src/OFTCPSocket.m @@ -19,10 +19,11 @@ #if !defined(HAVE_THREADSAFE_GETADDRINFO) && !defined(_WIN32) #include #endif #import "OFTCPSocket.h" +#import "OFString.h" #import "OFExceptions.h" #import "OFMacros.h" #ifndef INVALID_SOCKET #define INVALID_SOCKET -1 Index: src/OFURLEncoding.h ================================================================== --- src/OFURLEncoding.h +++ src/OFURLEncoding.h @@ -7,11 +7,11 @@ * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE included in * the packaging of this file. */ -#import "OFMutableString.h" +#import "OFString.h" extern int _OFURLEncoding_reference; /** * The OFString (OFURLEncoding) category provides an easy way to encode and Index: src/OFXMLElement.h ================================================================== --- src/OFXMLElement.h +++ src/OFXMLElement.h @@ -9,12 +9,13 @@ * the packaging of this file. */ #import "OFObject.h" #import "OFString.h" -#import "OFDictionary.h" -#import "OFArray.h" + +@class OFDictionary; +@class OFMutableArray; extern int _OFXMLElement_reference; /** * The OFXMLAttribute represents an attribute of an XML element as an object. Index: src/OFXMLElement.m ================================================================== --- src/OFXMLElement.m +++ src/OFXMLElement.m @@ -14,10 +14,12 @@ #include #include #include #import "OFXMLElement.h" +#import "OFString.h" +#import "OFArray.h" #import "OFAutoreleasePool.h" #import "OFExceptions.h" int _OFXMLElement_reference; Index: src/OFXMLParser.h ================================================================== --- src/OFXMLParser.h +++ src/OFXMLParser.h @@ -12,12 +12,13 @@ #import "OFObject.h" #import "OFString.h" extern int _OFXMLParser_reference; -@class OFMutableString; @class OFXMLParser; +@class OFArray; +@class OFMutableArray; /** * A protocol that needs to be implemented by delegates for OFXMLParser. */ @protocol OFXMLParserDelegate Index: src/OFXMLParser.m ================================================================== --- src/OFXMLParser.m +++ src/OFXMLParser.m @@ -12,10 +12,12 @@ #include "config.h" #include #import "OFXMLParser.h" +#import "OFString.h" +#import "OFArray.h" #import "OFAutoreleasePool.h" #import "OFExceptions.h" #import "OFMacros.h" int _OFXMLParser_reference; Index: tests/OFDataArray.m ================================================================== --- tests/OFDataArray.m +++ tests/OFDataArray.m @@ -11,11 +11,11 @@ #include "config.h" #include -#import "OFArray.h" +#import "OFDataArray.h" #import "OFAutoreleasePool.h" #import "OFString.h" #import "OFExceptions.h" #import "main.h" Index: tests/OFDictionary.m ================================================================== --- tests/OFDictionary.m +++ tests/OFDictionary.m @@ -10,10 +10,11 @@ */ #include "config.h" #import "OFDictionary.h" +#import "OFArray.h" #import "OFAutoreleasePool.h" #import "OFString.h" #import "OFExceptions.h" #import "main.h" Index: tests/OFXMLElement.m ================================================================== --- tests/OFXMLElement.m +++ tests/OFXMLElement.m @@ -10,10 +10,12 @@ */ #include "config.h" #import "OFXMLElement.h" +#import "OFString.h" +#import "OFArray.h" #import "OFAutoreleasePool.h" #import "OFString.h" #import "OFExceptions.h" #import "main.h" Index: tests/OFXMLParser.m ================================================================== --- tests/OFXMLParser.m +++ tests/OFXMLParser.m @@ -12,10 +12,12 @@ #include "config.h" #include #import "OFXMLParser.h" +#import "OFString.h" +#import "OFArray.h" #import "OFAutoreleasePool.h" #import "OFString.h" #import "OFExceptions.h" #import "main.h"