
URL: https://svn.lrde.epita.fr/svn/oln/branches/cleanup-2008/milena ChangeLog: 2008-09-17 Matthieu Garrigues <garrigues@lrde.epita.fr> Restore border::fill. * mln/border/fill.hh: Updates dues to the renaming of line_piter to box_runstart_piter. * mln/core/box_runstart_piter.hh(mln_box_runstart_piter): New. --- border/fill.hh | 14 ++++++++------ core/box_runstart_piter.hh | 3 +++ 2 files changed, 11 insertions(+), 6 deletions(-) Index: branches/cleanup-2008/milena/mln/core/box_runstart_piter.hh =================================================================== --- branches/cleanup-2008/milena/mln/core/box_runstart_piter.hh (revision 2283) +++ branches/cleanup-2008/milena/mln/core/box_runstart_piter.hh (revision 2284) @@ -37,6 +37,9 @@ # include <mln/core/internal/site_iterator_base.hh> # include <mln/core/site_set/box.hh> +#define mln_box_runstart_piter(I) typename mln::box_runstart_piter< mln_psite(I) > +#define mln_box_runstart_piter_(I) mln::box_runstart_piter<mln_psite(I)> + namespace mln { Index: branches/cleanup-2008/milena/mln/border/fill.hh =================================================================== --- branches/cleanup-2008/milena/mln/border/fill.hh (revision 2283) +++ branches/cleanup-2008/milena/mln/border/fill.hh (revision 2284) @@ -36,6 +36,7 @@ # include <cstring> # include <mln/core/concept/image.hh> +# include <mln/core/box_runstart_piter.hh> namespace mln @@ -70,8 +71,9 @@ typedef mln_psite(I) P; typedef mln_psite(I) P; - typename I::line_piter pl(ima.domain()); - std::size_t len_r = ima.bbox().len(P::dim - 1); + mln_box_runstart_piter(I) pl(ima.domain()); + + std::size_t len_r = pl.run_length(); std::size_t st = 0; for_all (pl) @@ -96,19 +98,19 @@ trace::entering("border::impl::fill_size_n_"); typedef mln_psite(I) P; - typename I::line_piter pl(ima.domain()); - std::size_t len_r = ima.bbox().len(P::dim - 1); + mln_box_runstart_piter(I) pl(ima.domain()); + std::size_t len_r = pl.run_length(); std::size_t st = 0; for_all (pl) { std::size_t end = ima.index_of_point (pl); for (std::size_t i = st; i < end; ++i) - const_cast<I&>(ima)[i] = v; + (const_cast<I&>(ima)).element(i) = v; st = end + len_r; } for (std::size_t i = st; i < ima.nelements (); ++i) - const_cast<I&>(ima)[i] = v; + const_cast<I&>(ima).element(i) = v; trace::exiting("border::impl::fill_size_n_"); }