diff --git a/uppsrc/Core/Range.h b/uppsrc/Core/Range.h index a8360d881..8adee7a9a 100644 --- a/uppsrc/Core/Range.h +++ b/uppsrc/Core/Range.h @@ -101,7 +101,7 @@ template struct ReverseRangeClass { typename std::remove_reference::type& r; - typedef typename BaseRange::value_type value_type; + typedef ValueTypeOf value_type; typedef value_type ValueType; const value_type& operator[](int i) const { return r[r.GetCount() - i - 1]; } @@ -193,5 +193,5 @@ ViewRangeClass SortedRange(BaseRange&& r, Predicate p) template ViewRangeClass SortedRange(BaseRange&& r) { - return SortedRange(r, std::less>()); + return ViewRangeClass(r, GetSortOrder(r)); } diff --git a/uppsrc/Core/UnicodeInfo.cpp b/uppsrc/Core/UnicodeInfo.cpp index ba4e75803..6a5325919 100644 --- a/uppsrc/Core/UnicodeInfo.cpp +++ b/uppsrc/Core/UnicodeInfo.cpp @@ -219,12 +219,12 @@ bool IsLetter_(dword c) bool IsLower_(dword c) { - return c != ToUpper((int)c) || Single().islower.Find(c) >= 0; + return c != (dword)ToUpper((int)c) || Single().islower.Find(c) >= 0; } bool IsUpper_(dword c) { - return c != ToLower((int)c) || Single().isupper.Find(c) >= 0; + return c != (dword)ToLower((int)c) || Single().isupper.Find(c) >= 0; } bool IsMark_(dword c)