/* NSEnumerator.h
Copyright (c) 1995-2015, Apple Inc. All rights reserved.
*/
#import <Foundation/NSObject.h>
@class NSArray<ObjectType>;
NS_ASSUME_NONNULL_BEGIN
/*
* The fast enumeration protocol NSFastEnumeration is adopted and
* implemented by objects wishing to make use of a fast and safe
* enumeration style. The language "foreach" construct then can
* be used with such objects.
*
* The abstract class NSEnumerator itself is taught how to do this
* for convenience by using -nextObject to return items one at a time.
*/
typedef struct {
unsigned long state;
id __unsafe_unretained __nullable * __nullable itemsPtr;
unsigned long * __nullable mutationsPtr;
unsigned long extra[5];
} NSFastEnumerationState;