diff options
| author | crupest <crupest@outlook.com> | 2022-02-08 16:53:51 +0800 |
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2022-02-08 16:53:51 +0800 |
| commit | 74bb9cd27242b9320f99ff4d2b50c3051576cc14 (patch) | |
| tree | 744bac5799c593d1d6f81e7b09581bea626f2cde /include/cru/common/Range.hpp | |
| parent | b90c398de829d1ba5329651d75bae82f5e4085fe (diff) | |
| download | cru-74bb9cd27242b9320f99ff4d2b50c3051576cc14.tar.gz cru-74bb9cd27242b9320f99ff4d2b50c3051576cc14.tar.bz2 cru-74bb9cd27242b9320f99ff4d2b50c3051576cc14.zip | |
...
Diffstat (limited to 'include/cru/common/Range.hpp')
| -rw-r--r-- | include/cru/common/Range.hpp | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/include/cru/common/Range.hpp b/include/cru/common/Range.hpp deleted file mode 100644 index ecc61243..00000000 --- a/include/cru/common/Range.hpp +++ /dev/null @@ -1,43 +0,0 @@ -#pragma once -#include "Base.hpp" - -namespace cru { -struct Range final { - constexpr static Range FromTwoSides(gsl::index start, gsl::index end) { - return Range(start, end - start); - } - - constexpr static Range FromTwoSides(gsl::index start, gsl::index end, - gsl::index offset) { - return Range(start + offset, end - start); - } - - constexpr Range() = default; - constexpr Range(const gsl::index position, const gsl::index count = 0) - : position(position), count(count) {} - - gsl::index GetStart() const { return position; } - gsl::index GetEnd() const { return position + count; } - - void ChangeEnd(gsl::index new_end) { count = new_end - position; } - - Range Normalize() const { - auto result = *this; - if (result.count < 0) { - result.position += result.count; - result.count = -result.count; - } - return result; - } - - Range CoerceInto(gsl::index min, gsl::index max) const { - auto coerce = [min, max](gsl::index index) { - return index > max ? max : (index < min ? min : index); - }; - return Range::FromTwoSides(coerce(GetStart()), coerce(GetEnd())); - } - - gsl::index position = 0; - gsl::index count = 0; -}; -} // namespace cru |
