Skip to content

Instantly share code, notes, and snippets.

@rolandkakonyi
Forked from steipete/PSPDFFastEnumeration.h
Created February 1, 2020 14:17
Show Gist options
  • Save rolandkakonyi/9fe42808c1e468b017b25b92d471297b to your computer and use it in GitHub Desktop.
Save rolandkakonyi/9fe42808c1e468b017b25b92d471297b to your computer and use it in GitHub Desktop.
//
// PSPDFFastEnumeration.h
// PSPDFFoundation
//
// PSPDFKit is the leading cross-platform solution for integrating PDFs into your apps: https://pspdfkit.com.
// Try it today using our free PDF Viewer app: https://pdfviewer.io/
//
// This file is MIT licensed.
@protocol PSPDFFastEnumeration <NSFastEnumeration>
- (id)pspdf_enumeratedType;
@end
// Usage: foreach (s, strings) { ... }
#define foreach(element, collection) for (typeof((collection).pspdf_enumeratedType) element in (collection))
@interface NSArray <ElementType> (PSPDFFastEnumeration)
<PSPDFFastEnumeration>
- (ElementType)pspdf_enumeratedType;
@end
@interface NSSet <ElementType> (PSPDFFastEnumeration)
<PSPDFFastEnumeration>
- (ElementType)pspdf_enumeratedType;
@end
@interface NSDictionary <KeyType, ValueType> (PSPDFFastEnumeration)
<PSPDFFastEnumeration>
- (KeyType)pspdf_enumeratedType;
@end
@interface NSOrderedSet <ElementType> (PSPDFFastEnumeration)
<PSPDFFastEnumeration>
- (ElementType)pspdf_enumeratedType;
@end
@interface NSPointerArray (PSPDFFastEnumeration) <PSPDFFastEnumeration>
- (void *)pspdf_enumeratedType;
@end
@interface NSHashTable <ElementType> (PSPDFFastEnumeration)
<PSPDFFastEnumeration>
- (ElementType)pspdf_enumeratedType;
@end
@interface NSMapTable <KeyType, ValueType> (PSPDFFastEnumeration)
<PSPDFFastEnumeration>
- (KeyType)pspdf_enumeratedType;
@end
@interface NSEnumerator <ElementType> (PSPDFFastEnumeration)
<PSPDFFastEnumeration>
- (ElementType)pspdf_enumeratedType;
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment