| 223 | std::conjunction_v<std::is_convertible<V, cel::Value>, |
| 224 | std::is_convertible<A, AttributeTrail>>>> |
| 225 | void PopAndPush(V&& value, A&& attribute) { |
| 226 | ABSL_DCHECK(!empty()); |
| 227 | |
| 228 | *(values_ - 1) = std::forward<V>(value); |
| 229 | *(attributes_ - 1) = std::forward<A>(attribute); |
| 230 | } |
| 231 | |
| 232 | // Equivalent to `PopAndPush(1, ...)`. |
| 233 | template <typename V, |