static inline bool CompareStringContentsPartial(IteratorA* ia, String* b) {
if (b->IsFlat()) {
if (b->IsAsciiRepresentation()) {
- VectorIterator<const char> ib(b->ToAsciiVector());
+ VectorIterator<char> ib(b->ToAsciiVector());
return CompareStringContents(ia, &ib);
} else {
- VectorIterator<const uc16> ib(b->ToUC16Vector());
+ VectorIterator<uc16> ib(b->ToUC16Vector());
return CompareStringContents(ia, &ib);
}
} else {
if (this->IsFlat()) {
if (this->IsAsciiRepresentation()) {
- VectorIterator<const char> buf1(this->ToAsciiVector());
+ VectorIterator<char> buf1(this->ToAsciiVector());
return CompareStringContentsPartial(&buf1, other);
} else {
- VectorIterator<const uc16> buf1(this->ToUC16Vector());
+ VectorIterator<uc16> buf1(this->ToUC16Vector());
return CompareStringContentsPartial(&buf1, other);
}
} else {
template <typename T>
class VectorIterator {
public:
- VectorIterator(T* d, int l) : data_(Vector<T>(d, l)), index_(0) { }
- explicit VectorIterator(Vector<T> data) : data_(data), index_(0) { }
+ VectorIterator(T* d, int l) : data_(Vector<const T>(d, l)), index_(0) { }
+ explicit VectorIterator(Vector<const T> data) : data_(data), index_(0) { }
T GetNext() { return data_[index_++]; }
bool has_more() { return index_ < data_.length(); }
private:
- Vector<T> data_;
+ Vector<const T> data_;
int index_;
};