| 18 | using ConstIterator = typename Container::const_iterator; |
| 19 | |
| 20 | ConstIterator Find(feature::TypesHolder const & types) const |
| 21 | { |
| 22 | for (auto const t : types) |
| 23 | { |
| 24 | for (auto level = ftype::GetLevel(t); level; --level) |
| 25 | { |
| 26 | auto const it = m_mapping.find(ftype::Trunc(t, level)); |
| 27 | if (it != m_mapping.cend()) |
| 28 | return it; |
| 29 | } |
| 30 | } |
| 31 | |
| 32 | return m_mapping.cend(); |
| 33 | } |
| 34 | |
| 35 | ConstIterator End() const { return m_mapping.cend(); } |
| 36 |