Core: Fixed issue with SortedRange

git-svn-id: svn://ultimatepp.org/upp/trunk@11684 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2018-01-11 08:41:05 +00:00
parent 0e1a0ce9d6
commit b5b0167cc3
2 changed files with 4 additions and 4 deletions

View file

@ -101,7 +101,7 @@ template <class BaseRange>
struct ReverseRangeClass {
typename std::remove_reference<BaseRange>::type& r;
typedef typename BaseRange::value_type value_type;
typedef ValueTypeOf<BaseRange> value_type;
typedef value_type ValueType;
const value_type& operator[](int i) const { return r[r.GetCount() - i - 1]; }
@ -193,5 +193,5 @@ ViewRangeClass<BaseRange> SortedRange(BaseRange&& r, Predicate p)
template <class BaseRange>
ViewRangeClass<BaseRange> SortedRange(BaseRange&& r)
{
return SortedRange(r, std::less<ValueTypeOf<BaseRange>>());
return ViewRangeClass<BaseRange>(r, GetSortOrder(r));
}

View file

@ -219,12 +219,12 @@ bool IsLetter_(dword c)
bool IsLower_(dword c)
{
return c != ToUpper((int)c) || Single<UnicodeInfo>().islower.Find(c) >= 0;
return c != (dword)ToUpper((int)c) || Single<UnicodeInfo>().islower.Find(c) >= 0;
}
bool IsUpper_(dword c)
{
return c != ToLower((int)c) || Single<UnicodeInfo>().isupper.Find(c) >= 0;
return c != (dword)ToLower((int)c) || Single<UnicodeInfo>().isupper.Find(c) >= 0;
}
bool IsMark_(dword c)