Yes, I believe CROSS APPLY does it but you force row-by-row processing of the outer recordset, so you might want to consider using joins instead if possible. If your UDF is an inline TVF, it will be possible to eliminate it.
Tim Wilkinson
"If it doesn't work in practice, you're using the wrong theory"
- Immanuel Kant