auto y = x | std::views::filter(p);
		 
	
		
			
			std::copy_if (x.begin (), x.end (), std::back_inserter(y), p);
		 
	
		
			
			for Item of X loop
   if P (Item) then
      Y.Append (Item);
   end if;
end loop;
		 
	
		
	
		
			
			var y = x.Where(p).ToList();
		 
	
		
	
		
			
			auto y = [1, 2, 3, 4, 5].filter!(a => a%2==0);
		 
	
		
	
		
			
			var y = x.where(p).toList();
		 
	
		
			
			y = for item <- x, p.(item), do: item
		 
	
		
	
		
	
		
	
		
	
		
			
			n := 0
for _, v := range x {
	if p(v) {
		n++
	}
}
y := make([]T, 0, n)
for _, v := range x {
	if p(v) {
		y = append(y, v)
	}
}
		 
	
		
			
			func filter[S ~[]T, T any](x S, p func(T) bool) S {
	var y S
	for _, v := range x {
		if p(v) {
			y = append(y, v)
		}
	}
	return y
}
		 
	
		
			
			del := func(t *T) bool { return !p(t) }
y := slices.DeleteFunc(slices.Clone(x), del)
		 
	
		
			
			y := make([]T, 0, len(x))
for _, v := range x{
	if p(v){
		y = append(y, v)
	}
}
		 
	
		
	
		
	
		
	
		
			
			List<T> y = new ArrayList<>();
for (T t : x) if (p.test(t)) y.add(t);
		 
	
		
			
			List<T> y = x.stream().filter(p).toList();
		 
	
		
	
		
			
			(setf y (remove-if-not p x))
		 
	
		
			
			y = {}
for _, v in ipairs(x) do
	if p(v) then y[#y+1] = v end
end
		 
	
		
			
			local y={}
for _,v in ipairs(x) do
 if p(v)==true then 
  table.insert(y,v)
 end
end
		 
	
		
			
			NSArray *y=[x filteredArrayUsingPredicate:p];
		 
	
		
			
			function p($element) {  /* .... */ }
$y = array_filter ($x, "p");
		 
	
		
			
			function Filter(vv:integer):boolean;
begin
  result :=  vv mod 2= 0;
end;
type TFilter=function(v:integer):boolean;
function FilteredArray(const x:TBoundArray;p:TFilter):TBoundArray;
var
  Idx: Integer;
  v : Integer;
begin
  setlength(result,high(x)+1);
  Idx := 0;
  for v in x do
    if p(v) then
    begin
      result[Idx] := v;
      inc(Idx);
    end;
  setlength(result,Idx);
end;
[...]
  y := FilteredArray(x,@Filter);
		 
	
		
			
			# You can use a subroutine as your predicate
@primes_less_than_100 = grep { is_prime($_) } 1 .. 99;
# You can also write your predicate inline
@odd_numbers = grep { $_%2 == 1 } 1 .. 99;
		 
	
		
	
		
			
			y = [element for element in x if p(element)]
		 
	
		
	
		
	
		
			
			let y: Vec<_> = x.iter().filter(p).collect();
		 
	
		
	
		
	
		
			
			y := x select: [:item | item p].