@@ -58,19 +58,15 @@ * @brief An abstract class for an unordered set of unique objects. * * @warning Do not mutate objects that are in a set! Changing the hash of * objects in a set breaks the internal representation of the set! */ -#ifdef OF_HAVE_GENERICS -@interface OFSet: -#else -# ifndef DOXYGEN -# define ObjectType id -# endif -@interface OFSet: +@interface OFSet OF_GENERIC(ObjectType): OFObject +#if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN) +# define ObjectType id #endif - OFObject /*! * @brief Creates a new set. * * @return A new, autoreleased set */ @@ -275,13 +271,13 @@ * @return A new, autoreleased OFSet */ - (OFSet OF_GENERIC(ObjectType) *)filteredSetUsingBlock: (of_set_filter_block_t)block; #endif -@end #if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN) # undef ObjectType #endif +@end OF_ASSUME_NONNULL_END #import "OFMutableSet.h"