diff options
Diffstat (limited to 'include/cru/base/Range.h')
-rw-r--r-- | include/cru/base/Range.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/cru/base/Range.h b/include/cru/base/Range.h index edc2ec55..ade1979a 100644 --- a/include/cru/base/Range.h +++ b/include/cru/base/Range.h @@ -1,6 +1,10 @@ #pragma once #include "Base.h" +#ifdef CRU_PLATFORM_OSX +#include <CoreFoundation/CoreFoundation.h> +#endif + namespace cru { struct Range final { constexpr static Range FromTwoSides(Index start, Index end) { @@ -36,6 +40,14 @@ struct Range final { return Range::FromTwoSides(coerce(GetStart()), coerce(GetEnd())); } +#ifdef CRU_PLATFORM_OSX + CFRange ToCFRange() const { return CFRangeMake(this->position, this->count); } + + static Range FromCFRange(const CFRange& range) { + return Range(range.location, range.length); + } +#endif + Index position = 0; Index count = 0; }; |