Skip to content

Instantly share code, notes, and snippets.

@leilee
Forked from steipete/PSPDFFastEnumeration.h
Created September 19, 2017 08:59
Show Gist options
  • Save leilee/a98f4b9dcdc6a8914dbed565a745a679 to your computer and use it in GitHub Desktop.
Save leilee/a98f4b9dcdc6a8914dbed565a745a679 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