Overview
Comment: | bridge: Add -[{OF,NS}Object] to {NS,OF}Enumerator |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
d23d6802cc7f66cab647daa9e6a7c10b |
User & Date: | js on 2019-06-19 01:19:57 |
Other Links: | manifest | tags |
Context
2019-06-19
| ||
23:01 | bridge: Add bridge for {OF,NS}Number check-in: 82f1f432a4 user: js tags: trunk | |
01:19 | bridge: Add -[{OF,NS}Object] to {NS,OF}Enumerator check-in: d23d6802cc user: js tags: trunk | |
00:54 | OFEnumerator: Conform to OFFastEnumeration check-in: f18b5db636 user: js tags: trunk | |
Changes
Modified src/bridge/Makefile from [e674b06e1c] to [05c9fe9398].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | include ../../extra.mk DISTCLEAN = Info.plist SHARED_LIB = ${OBJFWBRIDGE_SHARED_LIB} STATIC_LIB = ${OBJFWBRIDGE_STATIC_LIB} FRAMEWORK = ${OBJFWBRIDGE_FRAMEWORK} LIB_MAJOR = ${OBJFW_LIB_MAJOR} LIB_MINOR = ${OBJFW_LIB_MINOR} SRCS = OFArray+NSObject.m \ OFException+Swift.m \ OFDictionary+NSObject.m \ OFString+NSObject.m \ NSArray+OFObject.m \ NSDictionary+OFObject.m \ NSString+OFObject.m INCLUDES := ${SRCS:.m=.h} \ NSBridging.h \ OFBridging.h \ ObjFWBridge.h | > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | include ../../extra.mk DISTCLEAN = Info.plist SHARED_LIB = ${OBJFWBRIDGE_SHARED_LIB} STATIC_LIB = ${OBJFWBRIDGE_STATIC_LIB} FRAMEWORK = ${OBJFWBRIDGE_FRAMEWORK} LIB_MAJOR = ${OBJFW_LIB_MAJOR} LIB_MINOR = ${OBJFW_LIB_MINOR} SRCS = OFArray+NSObject.m \ OFEnumerator+NSObject.m \ OFException+Swift.m \ OFDictionary+NSObject.m \ OFString+NSObject.m \ NSArray+OFObject.m \ NSDictionary+OFObject.m \ NSEnumerator+OFObject.m \ NSString+OFObject.m INCLUDES := ${SRCS:.m=.h} \ NSBridging.h \ OFBridging.h \ ObjFWBridge.h |
︙ | ︙ |
Added src/bridge/NSEnumerator+OFObject.h version [f94a9d330c].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, * 2018, 2019 * Jonathan Schleifer <js@heap.zone> * * All rights reserved. * * 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.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import <Foundation/NSEnumerator.h> #import "NSBridging.h" OF_ASSUME_NONNULL_BEGIN @class OFEnumerator OF_GENERIC(ObjectType); #ifdef __cplusplus extern "C" { #endif extern int _NSEnumerator_OFObject_reference; #ifdef __cplusplus } #endif /*! * @category NSEnumerator (OFObject) \ * NSEnumerator+OFObject.h ObjFWBridge/NSEnumerator+OFObject.h * * @brief Support for bridging NSEnumerators to OFEnumerators. */ @interface NSEnumerator (OFObject) <NSBridging> @property (readonly, nonatomic) OFEnumerator *OFObject; @end OF_ASSUME_NONNULL_END |
Added src/bridge/NSEnumerator+OFObject.m version [682d725f6d].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, * 2018, 2019 * Jonathan Schleifer <js@heap.zone> * * All rights reserved. * * 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.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "NSEnumerator+OFObject.h" #import "OFNSEnumerator.h" int _NSEnumerator_OFObject_reference; @implementation NSEnumerator (OFObject) - (id)OFObject { return [[[OFNSEnumerator alloc] initWithNSEnumerator: self] autorelease]; } @end |
Modified src/bridge/NSOFDictionary.m from [6b0e3be066] to [c257b95937].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "NSOFDictionary.h" | < > | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "NSOFDictionary.h" #import "OFDictionary.h" #import "OFEnumerator+NSObject.h" #import "NSBridging.h" #import "OFBridging.h" #import "OFOutOfRangeException.h" @implementation NSOFDictionary |
︙ | ︙ | |||
63 64 65 66 67 68 69 | @throw [OFOutOfRangeException exception]; return (NSUInteger)count; } - (NSEnumerator *)keyEnumerator { | < | | 63 64 65 66 67 68 69 70 71 72 | @throw [OFOutOfRangeException exception]; return (NSUInteger)count; } - (NSEnumerator *)keyEnumerator { return [_dictionary keyEnumerator].NSObject; } @end |
Added src/bridge/OFEnumerator+NSObject.h version [94b35cd80c].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, * 2018, 2019 * Jonathan Schleifer <js@heap.zone> * * All rights reserved. * * 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.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #ifdef OF_BRIDGE_LOCAL_INCLUDES # import "OFEnumerator.h" #else # if defined(__has_feature) && __has_feature(modules) @import ObjFW; # else # import <ObjFW/OFEnumerator.h> # endif #endif #import "OFBridging.h" OF_ASSUME_NONNULL_BEGIN #ifdef __cplusplus extern "C" { #endif extern int _OFEnumerator_NSObject_reference; #ifdef __cplusplus } #endif /*! * @category OFEnumerator (NSObject) \ * OFEnumerator+NSObject.h ObjFWBridge/OFEnumerator+NSObject.h * @brief Support for bridging OFEnumerators to NSEnumerators. */ @interface OFEnumerator (NSObject) <OFBridging> @property (readonly, nonatomic) NSEnumerator *NSObject; @end OF_ASSUME_NONNULL_END |
Added src/bridge/OFEnumerator+NSObject.m version [a758ccb32a].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, * 2018, 2019 * Jonathan Schleifer <js@heap.zone> * * All rights reserved. * * 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.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "NSOFEnumerator.h" #import "OFEnumerator+NSObject.h" int _OFEnumerator_NSObject_reference; @implementation OFEnumerator (NSObject) - (id)NSObject { return [[[NSOFEnumerator alloc] initWithOFEnumerator: self] autorelease]; } @end |
Modified src/bridge/OFNSDictionary.m from [d1ad9f6edf] to [8621a6e906].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import <Foundation/NSDictionary.h> #import "OFNSDictionary.h" | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import <Foundation/NSDictionary.h> #import "OFNSDictionary.h" #import "NSEnumerator+OFObject.h" #import "NSBridging.h" #import "OFBridging.h" #import "OFInvalidArgumentException.h" @implementation OFNSDictionary |
︙ | ︙ | |||
68 69 70 71 72 73 74 | - (size_t)count { return _dictionary.count; } - (OFEnumerator *)keyEnumerator { | < | | 68 69 70 71 72 73 74 75 76 77 | - (size_t)count { return _dictionary.count; } - (OFEnumerator *)keyEnumerator { return [_dictionary keyEnumerator].OFObject; } @end |