nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
stdlib/strings: Access iterator through its position constructor.
[nit.git]
/
lib
/
standard
/
string.nit
diff --git
a/lib/standard/string.nit
b/lib/standard/string.nit
index
e1505df
..
524d4d4
100644
(file)
--- a/
lib/standard/string.nit
+++ b/
lib/standard/string.nit
@@
-378,6
+378,10
@@
abstract class StringCharView
redef fun length do return target.length
redef fun length do return target.length
+ redef fun iterator: IndexedIterator[Char] do return self.iterator_from(0)
+
+ fun iterator_from(pos: Int): IndexedIterator[Char] is abstract
+
redef fun has(c: Char): Bool
do
for i in self do
redef fun has(c: Char): Bool
do
for i in self do
@@
-747,7
+751,7
@@
private class FlatStringCharView
return target._items[index + target._index_from]
end
return target._items[index + target._index_from]
end
- redef fun iterator: IndexedIterator[Char] do return new FlatStringIterator.with_pos(target, 0)
+ redef fun iterator_from(start) do return new FlatStringIterator.with_pos(target, start)
end
end
@@
-918,7
+922,7
@@
private class FlatBufferCharView
if target.capacity < s.length then enlarge(s_length + target.length)
end
if target.capacity < s.length then enlarge(s_length + target.length)
end
- redef fun iterator: IndexedIterator[Char] do return new FlatBufferIterator.with_pos(target, 0)
+ redef fun iterator_from(pos) do return new FlatBufferIterator.with_pos(target, pos)
end
end