public static void idx_aloop1_on <T>(idxiter <T> itr0, idx <T> src0, Action <eptr <T> > act) //Action<eptr<T>, idx<T>> act where T : struct { for (itr0.init(src0); itr0.notdone(); itr0.next()) { act.Invoke(itr0.data); } }
public static void idx_aloop2 <T, T2>(idx <T> src0, idx <T2> src1, Action <eptr <T>, eptr <T2> > act) where T : struct where T2 : struct { var itr0 = new idxiter <T>(); var itr1 = new idxiter <T2>(); for (itr0.init(src0), itr1.init(src1); itr0.notdone(); itr0.next(), itr1.next()) { act.Invoke(itr0.data, itr1.data); } }