//  Copyright (c) 2014 Rob Rix. All rights reserved.

#import <Foundation/Foundation.h>

@protocol REDIterable <NSObject>

@property (readonly) id(^red_iterator)(void);

@end

//  Copyright (c) 2014 Rob Rix. All rights reserved.

#import <Foundation/Foundation.h>

/// A nullary block iterating the elements of a collection over successive calls.
///
/// \return The next object in the collection, or nil if it has iterated the entire collection.
typedef id (^REDIteratingBlock)(void);

/// A collection which can be iterated.
@protocol REDIterable <NSObject>

/// An iterator for this collection.
@property (readonly) REDIteratingBlock red_iterator;

@end

Add a typedef for iterators.
Add a typedef for iterators.
