diff options
| author | 2019-05-08 18:27:29 -0400 | |
|---|---|---|
| committer | 2019-06-20 21:36:12 -0300 | |
| commit | b347543e8341ae323ea232d47df2c144fe21c739 (patch) | |
| tree | ca0e48c61dea6e78b073a885ec4e5f96755f7cc1 /src/common | |
| parent | texture_cache: Correct premature texceptions (diff) | |
| download | yuzu-b347543e8341ae323ea232d47df2c144fe21c739.tar.gz yuzu-b347543e8341ae323ea232d47df2c144fe21c739.tar.xz yuzu-b347543e8341ae323ea232d47df2c144fe21c739.zip | |
Reduce amount of size calculations.
Diffstat (limited to 'src/common')
| -rw-r--r-- | src/common/common_funcs.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/common/common_funcs.h b/src/common/common_funcs.h index 8b0d34da6..00a5698f3 100644 --- a/src/common/common_funcs.h +++ b/src/common/common_funcs.h | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | #pragma once | 5 | #pragma once |
| 6 | 6 | ||
| 7 | #include <algorithm> | ||
| 7 | #include <string> | 8 | #include <string> |
| 8 | 9 | ||
| 9 | #if !defined(ARCHITECTURE_x86_64) | 10 | #if !defined(ARCHITECTURE_x86_64) |
| @@ -60,4 +61,14 @@ constexpr u32 MakeMagic(char a, char b, char c, char d) { | |||
| 60 | return a | b << 8 | c << 16 | d << 24; | 61 | return a | b << 8 | c << 16 | d << 24; |
| 61 | } | 62 | } |
| 62 | 63 | ||
| 64 | template <class ForwardIt, class T, class Compare = std::less<>> | ||
| 65 | ForwardIt BinaryFind(ForwardIt first, ForwardIt last, const T& value, Compare comp = {}) { | ||
| 66 | // Note: BOTH type T and the type after ForwardIt is dereferenced | ||
| 67 | // must be implicitly convertible to BOTH Type1 and Type2, used in Compare. | ||
| 68 | // This is stricter than lower_bound requirement (see above) | ||
| 69 | |||
| 70 | first = std::lower_bound(first, last, value, comp); | ||
| 71 | return first != last && !comp(value, *first) ? first : last; | ||
| 72 | } | ||
| 73 | |||
| 63 | } // namespace Common | 74 | } // namespace Common |