Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Compiled class files
*.class
46 changes: 42 additions & 4 deletions apsd/classes/containers/sequences/abstractbases/VectorBase.java
Original file line number Diff line number Diff line change
Expand Up @@ -92,12 +92,50 @@ public Data DataNNext() {
@Override
public MutableForwardIterator<Data> FIterator() { return new VectorFIterator();}

@Override
public MutableBackwardIterator<Data> BIterator() {
// TODO Auto-generated method stub
return null;
protected class VectorBIterator implements MutableBackwardIterator<Data>{
protected long idxCur = Size().ToLong() - 1;

//TODO: IsValid vuole Size or Capacity?
@Override
public boolean IsValid() {return (0 <= idxCur && idxCur < Size().ToLong());}

@Override
public Data GetCurrent() {
if (!IsValid()) throw new IllegalStateException(" Iterator is not valid!");
return arr[(int) idxCur];
}

@Override
public void SetCurrent(Data dat) {
if (!IsValid()) throw new IllegalStateException(" Iterator is not valid!");
arr[(int) idxCur] = dat;
}

@Override
public Data DataNPrev() {
if (!IsValid()) throw new IllegalStateException(" Iterator is not valid!");
Data dat = GetCurrent();
idxCur--;
return dat;
}

@Override
public void Prev() { DataNPrev();}

@Override
public void Prev(long steps) { for(; steps > 0; steps--){DataNPrev();}}

@Override
public void Prev(Natural steps) {Prev(steps.ToLong());}

@Override
public void Reset() { idxCur = Size().ToLong() - 1;}

}

@Override
public MutableBackwardIterator<Data> BIterator() { return new VectorBIterator();}

/* ************************************************************************ */
/* Override specific member functions from Sequence */
/* ************************************************************************ */
Expand Down