@@ -7,20 +7,13 @@ * This file is part of libobjfw. 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 "config.h" - -#include -#include -#include +#import #import "OFConstString.h" -#import "OFString.h" -#import "OFExceptions.h" -#import "OFMacros.h" #ifndef __objc_INCLUDE_GNU void *_OFConstStringClassReference; #endif @@ -31,53 +24,10 @@ objc_setFutureClass((Class)&_OFConstStringClassReference, "OFConstString"); } #endif -- (const char*)cString -{ - return string; -} - -- (size_t)length -{ - return length; -} - -- (BOOL)isEqual: (id)obj -{ - if (![obj isKindOf: [OFString class]] && - ![obj isKindOf: [OFConstString class]]) - return NO; - if (strcmp(string, [obj cString])) - return NO; - - return YES; -} - -- (int)compare: (id)obj -{ - if (![obj isKindOf: [OFString class]] && - ![obj isKindOf: [OFConstString class]]) - @throw [OFInvalidArgumentException newWithClass: isa]; - - return strcmp(string, [obj cString]); -} - -- (uint32_t)hash -{ - uint32_t hash; - size_t i; - - OF_HASH_INIT(hash); - for (i = 0; i < length; i++) - OF_HASH_ADD(hash, string[i]); - OF_HASH_FINALIZE(hash); - - return hash; -} - - retain { return self; }