| 75 | private: |
| 76 | template<typename VecT> |
| 77 | const typename VecT::value_type* Find(uintptr_t FileBegin, const VecT& SortedMappings) const { |
| 78 | auto Found = std::lower_bound(SortedMappings.cbegin(), SortedMappings.cend(), FileBegin, |
| 79 | [](const auto& Range, const auto Position) { return Range.FileGuestEnd <= Position; }); |
| 80 | |
| 81 | if (Found != SortedMappings.end() && Found->FileGuestBegin <= FileBegin && Found->FileGuestEnd > FileBegin) { |
| 82 | return &(*Found); |
| 83 | } else { |
| 84 | return {}; |
| 85 | } |
| 86 | } |
| 87 | }; |
| 88 | |
| 89 | class SourcecodeResolver { |