URL:
https://svn.lrde.epita.fr/svn/oln/branches/cleanup-2008/milena
ChangeLog:
2008-09-17 Matthieu Garrigues <garrigues(a)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_");
}