Core: Fixed issue with [Cosnt]IIterator

git-svn-id: svn://ultimatepp.org/upp/trunk@9832 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2016-05-14 18:16:07 +00:00
parent 86585f61ac
commit eaa611a529
2 changed files with 9 additions and 5 deletions

View file

@ -344,6 +344,9 @@ public:
template <class Range>
using ValueTypeOf = typename std::remove_reference<decltype(*((Range *)0)->begin())>::type;
template <class Range>
using ValueTypeOfArray = typename std::remove_reference<decltype((*((Range *)0))[0])>::type;
template <class Range>
using IteratorOf = decltype(((Range *)0)->begin());
@ -352,10 +355,10 @@ using ConstIteratorOf = decltype(((const Range *)0)->begin());
template <class V>
class ConstIIterator {
protected:
typedef ValueTypeOfArray<V> T;
const V *cont;
int ii;
typedef ValueTypeOf<V> T;
struct NP { int dummy; };
public:
@ -394,10 +397,10 @@ public:
template <class V>
class IIterator {
protected:
typedef ValueTypeOfArray<V> T;
V *cont;
int ii;
typedef ValueTypeOf<V> T;
struct NP { int dummy; };
public:

View file

@ -24,7 +24,6 @@ Buffer(size_t size, const T& init) { ptr = new T[size]; Fill(ptr, ptr + size,
String MD5Digest(const void *data, int length);
IIterator typedef typename V::ValueType T;
Remove ValueType uses
InVector::InsertN possibly incorrect (can create small blocks)
@ -36,6 +35,8 @@ CoWork pipe max_queue
-----------------------
DONE
IIterator typedef typename V::ValueType T;
SerializeRaw - int64!
StringBuffer 2GB limit