Skip navigation.
 
mlRe: Using "IMP" to speed up loops?
FROM : Marcel Weiher
DATE : Sun Nov 10 21:13:05 2002

On Sunday, November 10, 2002, at 05:20  Uhr, Ken Tozier wrote:

> I was reading up on how to use IMP in the NSObject documentation in
> order to speed up some of my loops, but the examples don't look right.
>
> The documentation suggested declaring IMP's like this:
>
>     typedef BOOL (*ASCIICompareIMP)(id, SEL, unsigned char);
>
>     EqualIMP test;
>
>     test = (EqualIMP)[target methodForSelector:@selector(isEqual:)];
>
> And using them like this:
>
>     while ( !test(target, @selector(isEqual:), someObject) )
>     {
>         ...
>      }
>
> But given that the initialization line:
>
>     test = (EqualIMP)[target methodForSelector:@selector(isEqual:)];
>
> already encapsulates "id" and "SEL" from the prototype, I would have
> expected it to be used like:
>
>     while ( !test(someObject) )
>     {
>             ...
>      }
>
> What's the scoop?


The scoop is that methodForSelector simply returns a C function
pointer.  It is not a "currying" operation.

Marcel

--
Marcel Weiher                Metaobject Software Technologies
<email_removed>        www.metaobject.com
Metaprogramming for the Graphic Arts.  HOM, IDEAs, MetaAd etc.
_______________________________________________
cocoa-dev mailing list | <email_removed>
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.

Related mailsAuthorDate
mlUsing "IMP" to speed up loops? Ken Tozier Nov 10, 05:20
mlRe: Using "IMP" to speed up loops? John Hörnkvist Nov 10, 18:22
mlRe: Using "IMP" to speed up loops? Ondra Cada Nov 10, 20:09
mlRe: Using "IMP" to speed up loops? Marcel Weiher Nov 10, 21:13