| 512 | |
| 513 | template <class Derived_t, class Field_t> |
| 514 | bool |
| 515 | fieldFind(FieldId<Derived_t, Field_t> &field_id, char const *field_name) |
| 516 | { |
| 517 | using namespace ext::details; |
| 518 | ink_release_assert(areFieldsFinalized()); |
| 519 | Schema const &schema = Extendible<Derived_t>::schema; |
| 520 | auto field_iter = schema.fields.find(field_name); |
| 521 | if (field_iter == schema.fields.end()) { |
| 522 | return false; // didn't find name |
| 523 | } |
| 524 | field_id = FieldId<Derived_t, Field_t>(field_iter->second); |
| 525 | return true; |
| 526 | } |
| 527 | |
| 528 | // each Derived_t will have a DerivedExtfieldFind |
| 529 | template <class Derived_t> |