rem: int32 numItems = CountItems(); int32 result = -1; for (int32 index = 0; index < numItems; index++) { result = predicate(ItemAtFast(index), (void *)key); if (result) break; }  return result;
add: PointerListHelperUsePredicate helper(predicate); return helper.BinarySearchIndex(key, this);
context: _PointerList_::BinarySearchIndexByPredicate(const void *key, UnaryPredicateGlue predicate) const{	int32 numItems = CountItems();	int32 result = -1;	for (int32 index = 0; index < numItems; index++) {		result = predicate(ItemAtFast(index), (void *)key);		if (result)			break;	}		return result;}