Creates AttributeTrail with attribute path incremented by "qualifier".
| 12 | |
| 13 | // Creates AttributeTrail with attribute path incremented by "qualifier". |
| 14 | AttributeTrail AttributeTrail::Step(cel::AttributeQualifier qualifier) const { |
| 15 | // Cannot continue void trail |
| 16 | if (empty()) return AttributeTrail(); |
| 17 | |
| 18 | std::vector<cel::AttributeQualifier> qualifiers; |
| 19 | qualifiers.reserve(attribute_->qualifier_path().size() + 1); |
| 20 | std::copy_n(attribute_->qualifier_path().begin(), |
| 21 | attribute_->qualifier_path().size(), |
| 22 | std::back_inserter(qualifiers)); |
| 23 | qualifiers.push_back(std::move(qualifier)); |
| 24 | return AttributeTrail(cel::Attribute(std::string(attribute_->variable_name()), |
| 25 | std::move(qualifiers))); |
| 26 | } |
| 27 | |
| 28 | } // namespace google::api::expr::runtime |