mirror of
https://git.femboyfinancial.jp/james/lipsync.git
synced 2024-11-22 18:52:02 -08:00
59 lines
1.5 KiB
C#
59 lines
1.5 KiB
C#
|
/*
|
|||
|
* ListIterator.cs
|
|||
|
* Copyright (c) 2009 kbinani
|
|||
|
*
|
|||
|
* This file is part of Boare.Cadencii.
|
|||
|
*
|
|||
|
* Boare.Cadencii is free software; you can redistribute it and/or
|
|||
|
* modify it under the terms of the GPLv3 License.
|
|||
|
*
|
|||
|
* Boare.Cadencii is distributed in the hope that it will be useful,
|
|||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|||
|
*/
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
|
|||
|
namespace bocoree {
|
|||
|
|
|||
|
public class ListIterator<T> : Iterator {
|
|||
|
private List<T> m_list;
|
|||
|
private int m_pos;
|
|||
|
|
|||
|
public ListIterator( Vector<T> list ) {
|
|||
|
m_list = new List<T>();
|
|||
|
int c = list.size();
|
|||
|
for( int i = 0; i < c; i++ ){
|
|||
|
m_list.Add( list.get( i ) );
|
|||
|
}
|
|||
|
m_pos = -1;
|
|||
|
}
|
|||
|
|
|||
|
public ListIterator( List<T> list ) {
|
|||
|
m_list = list;
|
|||
|
m_pos = -1;
|
|||
|
}
|
|||
|
|
|||
|
public Boolean hasNext() {
|
|||
|
if ( m_list != null && 0 <= m_pos + 1 && m_pos + 1 < m_list.Count ) {
|
|||
|
return true;
|
|||
|
} else {
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public Object next() {
|
|||
|
if ( m_list == null ) {
|
|||
|
return null;
|
|||
|
}
|
|||
|
m_pos++;
|
|||
|
return m_list[m_pos];
|
|||
|
}
|
|||
|
|
|||
|
public void remove() {
|
|||
|
m_list.RemoveAt( m_pos );
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|