(
&'a self,
datums: &mut Vec<Datum<'a>>,
arena: &'a RowArena,
row_buf: &'row mut Row,
)
| 1636 | /// returns `Ok(Some(row)). |
| 1637 | #[inline(always)] |
| 1638 | pub fn evaluate_into<'a, 'row>( |
| 1639 | &'a self, |
| 1640 | datums: &mut Vec<Datum<'a>>, |
| 1641 | arena: &'a RowArena, |
| 1642 | row_buf: &'row mut Row, |
| 1643 | ) -> Result<Option<&'row Row>, EvalError> { |
| 1644 | let passed_predicates = self.evaluate_inner(datums, arena)?; |
| 1645 | if !passed_predicates { |
| 1646 | Ok(None) |
| 1647 | } else { |
| 1648 | row_buf |
| 1649 | .packer() |
| 1650 | .extend(self.mfp.projection.iter().map(|c| datums[*c])); |
| 1651 | Ok(Some(row_buf)) |
| 1652 | } |
| 1653 | } |
| 1654 | |
| 1655 | /// A version of `evaluate` which produces an iterator over `Datum` |
| 1656 | /// as output. |
no test coverage detected