Olena-patches
Threads by month
- ----- 2025 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- 9625 discussions
https://svn.lrde.epita.fr/svn/oln/trunk/milena/sandbox
Index: ChangeLog
from Ugo Jardonnet <jardonnet(a)lrde.epita.fr>
Comment. Fix wrong fusing condition, dec condition.
* jardonnet/n_cmpt/n_cmpt5.cc: Comment. Change fusing/dec conditions.
* jardonnet/n_cmpt/n_cmpt5.hh: Remove old hack.
n_cmpt5.cc | 2 --
n_cmpt5.hh | 43 ++++++++++++++++++++++++++++++++++---------
2 files changed, 34 insertions(+), 11 deletions(-)
Index: jardonnet/n_cmpt/n_cmpt5.cc
--- jardonnet/n_cmpt/n_cmpt5.cc (revision 3039)
+++ jardonnet/n_cmpt/n_cmpt5.cc (working copy)
@@ -35,8 +35,6 @@
io::pgm::load(ima, argv[1]);
unsigned lambda = atoi(argv[2]);
- ima(point2d(0,3)) = 106;
-
int_u8 tab[] = {2,3,1,0,2,3,4,5,1,1,0,5,6,8,7,1,1,2,3,4};
image1d<int_u8> ima1= make::image(tab);
Index: jardonnet/n_cmpt/n_cmpt5.hh
--- jardonnet/n_cmpt/n_cmpt5.hh (revision 3039)
+++ jardonnet/n_cmpt/n_cmpt5.hh (working copy)
@@ -149,16 +149,40 @@
P r = find_root(parent, n);
if (r != p)
{
+ std::cout << "neighb: " << n << std::endl;
+ std::cout << "v(r): " << volume(r) << " v(p): " << volume(p) << " f(p): " << fused(p) << std::endl;
+
+ //if (volume(r) != volume(p)) // r and p have different volumes
+ // This check was wrong.
+ // you just fused with a minima.
+ // then you fuse with a neighbor already fused that has the same volume as you
+ // a) 1 50 1
+ // 2 2 2
+ // we don't have ( volume(r) == volume(p) ) => not fused(r)
+ // even if r and p are not minima
+
+ // problem :
+ // - when fusing minima : same level, both fused. NOT DEC
+ // - when fusing cmpts (a) : same level, both fused. DEC
+
// One cmpt less if
- if (volume(r) != volume(p)) // r and p have differerent volumes
+ if (fused(r) && min_v(p) == 0) // p is not a minima
if (fused(p)) // p already belong to a cmpt (fused for an another n)
- if (cmpts >= lambda) // union is still alowed
+ if (cmpts >= lambda) // union is still allowed
+ {
cmpts--;
+ std::cout << "dec" << std::endl;
+ }
- if (cmpts >= lambda ||
- volume(r) == volume(p) ||
- not fused(p))
+ mln_invariant(fused(r) || volume(r) == volume(p));
+
+ // Union made if
+ if (cmpts >= lambda || // union is still allowed or
+ not fused(r) || // r not fused or
+ not fused(p) || // p not fused or
+ min_v(p) != 0) // p is a minima
{
+ std::cout << "fuse" << p << n << std::endl;
parent(r) = p;
// This test is mandatory. Sometimes (--_) points are fused
@@ -170,6 +194,7 @@
if (fused(r))
fused(p) = true;
+
// If I try to fuse with something never fused I am on a plateau.
// not fused(r) => ( volume(r) == volume(p) )
mln_invariant(fused(r) || volume(r) == volume(p));
@@ -181,8 +206,8 @@
// fused(n) is not an invariant: --_. And it is ok (I think).
// We don't have to retro-propagate fused.
- //std::cout << "volume " << volume(p) << " - " << cmpts << std::endl;
- debug::println(fused);
+ std::cerr << "volume " << volume(p) << " - " << cmpts << std::endl;
+ //debug::println(fused);
}
}
}
@@ -190,7 +215,7 @@
deja_vu(p) = true;
}
- I iota(ima.domain());
+ mln_ch_value(I,value::int_u<16>) iota(ima.domain());
debug::iota(iota);
std::cout << std::endl;
@@ -202,7 +227,7 @@
mln_bkd_piter(S) p(sp);
for_all(p)
if (parent(p) == p) // p is root.
- output(p) = iota(p) * 10;
+ output(p) = iota(p);
else
output(p) = output(parent(p));
}
1
0
URL: https://svn.lrde.epita.fr/svn/oln/trunk/milena
ChangeLog:
2008-12-12 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
Make level::compare use test::predicate.
* mln/level/compare.hh: .
* mln/test/predicate.hh: Add a version which works on two images.
Add the concept of vv2b function.
* mln/fun/vv2b: New.
* mln/core/concept/function.hh: .
Add some vv2b functions.
* mln/fun/vv2b/eq.hh: New.
* mln/fun/vv2b/ge.hh: New.
* mln/fun/vv2b/gt.hh: New.
* mln/fun/vv2b/implies.hh: New.
* mln/fun/vv2b/le.hh: New.
* mln/fun/vv2b/lt.hh: New.
---
core/concept/function.hh | 36 ++++++++++++++++++++++
fun/vv2b/eq.hh | 75 +++++++++++++++++++++++++++++++++++++++++++++++
fun/vv2b/ge.hh | 75 +++++++++++++++++++++++++++++++++++++++++++++++
fun/vv2b/gt.hh | 75 +++++++++++++++++++++++++++++++++++++++++++++++
fun/vv2b/implies.hh | 75 +++++++++++++++++++++++++++++++++++++++++++++++
fun/vv2b/le.hh | 75 +++++++++++++++++++++++++++++++++++++++++++++++
fun/vv2b/lt.hh | 75 +++++++++++++++++++++++++++++++++++++++++++++++
level/compare.hh | 31 ++++++++++---------
test/predicate.hh | 62 ++++++++++++++++++++++++++++++++++++--
9 files changed, 560 insertions(+), 19 deletions(-)
Index: trunk/milena/mln/core/concept/function.hh
===================================================================
--- trunk/milena/mln/core/concept/function.hh (revision 3038)
+++ trunk/milena/mln/core/concept/function.hh (revision 3039)
@@ -52,6 +52,7 @@
template <typename E> struct Function_l2l;
template <typename E> struct Function_vv2v;
+ template <typename E> struct Function_vv2b;
/// Function category flag type.
template <>
@@ -324,6 +325,28 @@
Function_vv2v(const Function_vv2v&);
};
+ /*------------------------.
+ | Value, Value -> Boolean.|
+ `------------------------*/
+
+ template <>
+ struct Function_vv2b<void> { typedef Function<void> super; };
+
+ /// Base class for implementation of function-objects from
+ /// a couple of values to a boolean.
+ ///
+ /// The parameter \a E is the exact type.
+ ///
+ template <typename E>
+ struct Function_vv2b : public Function<E>
+ {
+ typedef bool result;
+ typedef Function_vv2b<void> category;
+ protected:
+ Function_vv2b();
+ Function_vv2b(const Function_vv2b&);
+ };
+
# ifndef MLN_INCLUDE_ONLY
@@ -483,6 +506,19 @@
{
}
+ template <typename E>
+ inline
+ Function_vv2b<E>::Function_vv2b()
+ {
+ }
+
+ template <typename E>
+ inline
+ Function_vv2b<E>::Function_vv2b(const Function_vv2b<E>& rhs)
+ : Function<E>(rhs)
+ {
+ }
+
# endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln
Index: trunk/milena/mln/level/compare.hh
===================================================================
--- trunk/milena/mln/level/compare.hh (revision 3038)
+++ trunk/milena/mln/level/compare.hh (revision 3039)
@@ -34,6 +34,10 @@
*/
# include <mln/core/concept/image.hh>
+# include <mln/fun/vv2b/eq.hh>
+# include <mln/fun/vv2b/le.hh>
+# include <mln/fun/vv2b/lt.hh>
+# include <mln/test/predicate.hh>
namespace mln
@@ -82,42 +86,39 @@
inline
bool operator == (const Image<L>& lhs_, const Image<R>& rhs_)
{
+ typedef fun::vv2b::eq<mln_value(L), mln_value(R)> F;
+
const L& lhs = exact(lhs_);
const R& rhs = exact(rhs_);
mln_precondition(lhs.domain() == rhs.domain());
- mln_piter(L) p(lhs.domain());
- for_all(p)
- if (! (lhs(p) == rhs(p)))
- return false;
- return true;
+
+ return test::predicate(lhs_, rhs_, F());
}
template <typename L, typename R>
inline
bool operator < (const Image<L>& lhs_, const Image<R>& rhs_)
{
+ typedef fun::vv2b::lt<mln_value(L), mln_value(R)> F;
+
const L& lhs = exact(lhs_);
const R& rhs = exact(rhs_);
mln_precondition(lhs.domain() == rhs.domain());
- mln_piter(L) p(lhs.domain());
- for_all(p)
- if (! (lhs(p) < rhs(p)))
- return false;
- return true;
+
+ return test::predicate(lhs_, rhs_, F());
}
template <typename L, typename R> // required!
inline
bool operator <= (const Image<L>& lhs_, const Image<R>& rhs_)
{
+ typedef fun::vv2b::le<mln_value(L), mln_value(R)> F;
+
const L& lhs = exact(lhs_);
const R& rhs = exact(rhs_);
mln_precondition(lhs.domain() == rhs.domain());
- mln_piter(L) p(lhs.domain());
- for_all(p)
- if (! (lhs(p) <= rhs(p)))
- return false;
- return true;
+
+ return test::predicate(lhs_, rhs_, F());
}
# endif // ! MLN_INCLUDE_ONLY
Index: trunk/milena/mln/test/predicate.hh
===================================================================
--- trunk/milena/mln/test/predicate.hh (revision 3038)
+++ trunk/milena/mln/test/predicate.hh (revision 3039)
@@ -54,6 +54,17 @@
bool predicate(const Image<I>& ima, const Function_v2b<F>& f);
+ /*! Test if all pixel values of \p lhs and \p rhs verify the
+ * predicate \p f.
+ *
+ * \param[in] lhs The image.
+ * \param[in] rhs The image.
+ * \param[in] f The predicate.
+ */
+ template <typename I, typename J, typename F>
+ bool predicate(const Image<I>& lhs, const Image<J>& rhs, const Function_v2b<F>& f);
+
+
/*! Test if all points of \p pset verify the predicate \p f.
*
* \param[in] pset The point set.
@@ -70,9 +81,8 @@
template <typename I, typename F>
inline
- bool predicate_(trait::image::speed::any, const I& ima_, const F& f)
+ bool predicate_(trait::image::speed::any, const I& ima, const F& f)
{
- const I& ima = exact(ima_);
mln_piter(I) p(ima.domain());
for_all(p)
if (! f(ima(p)))
@@ -82,9 +92,8 @@
template <typename I, typename F>
inline
- bool predicate_(trait::image::speed::fastest, const I& ima_, const F& f)
+ bool predicate_(trait::image::speed::fastest, const I& ima, const F& f)
{
- const I& ima = exact(ima_);
mln_pixter(const I) pxl(ima);
for_all(pxl)
if (! f(pxl.val()))
@@ -92,6 +101,33 @@
return true;
}
+ template <typename I, typename J, typename F>
+ inline
+ bool predicate_(trait::image::speed::any,
+ trait::image::speed::any,
+ const I& lhs, const J& rhs, const F& f)
+ {
+ mln_piter(I) p(lhs.domain());
+ for_all(p)
+ if (! f(lhs(p), rhs(p)))
+ return false;
+ return true;
+ }
+
+ template <typename I, typename J, typename F>
+ inline
+ bool predicate_(trait::image::speed::fastest,
+ trait::image::speed::fastest,
+ const I& lhs, const J& rhs, const F& f)
+ {
+ mln_pixter(const I) pxl1(lhs);
+ mln_pixter(const I) pxl2(rhs);
+ for_all_2(pxl1, pxl2)
+ if (! f(pxl1.val(), pxl2.val()))
+ return false;
+ return true;
+ }
+
template <typename S, typename F>
inline
bool predicate_(const Site_Set<S>& pset, const F& f)
@@ -117,6 +153,24 @@
exact(f));
}
+
+ template <typename I, typename J, typename F>
+ inline
+ bool predicate(const Image<I>& lhs_, const Image<J>& rhs_, const Function_vv2b<F>& f)
+ {
+ const I& lhs = exact(lhs_);
+ const J& rhs = exact(rhs_);
+
+ mln_precondition(lhs.has_data());
+ mln_precondition(rhs.has_data());
+ mln_precondition(lhs.domain() == rhs.domain());
+
+ return impl::predicate_(mln_trait_image_speed(I)(),
+ mln_trait_image_speed(J)(),
+ lhs, rhs,
+ exact(f));
+ }
+
template <typename S, typename F>
inline
bool predicate(const Site_Set<S>& pset, const Function_p2b<F>& f)
Index: trunk/milena/mln/fun/vv2b/implies.hh
===================================================================
--- trunk/milena/mln/fun/vv2b/implies.hh (revision 0)
+++ trunk/milena/mln/fun/vv2b/implies.hh (revision 3039)
@@ -0,0 +1,75 @@
+// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+#ifndef MLN_FUN_VV2B_IMPLIES_HH
+# define MLN_FUN_VV2B_IMPLIES_HH
+
+/// \file mln/fun/vv2b/implies.hh
+///
+/// Functor that computes "logical implies" between two values.
+
+# include <mln/core/concept/function.hh>
+# include <mln/trait/op/and.hh>
+
+
+namespace mln
+{
+
+ namespace fun
+ {
+
+ namespace vv2b
+ {
+
+ /// Functor computing logical-implies between two values.
+ template <typename L, typename R = L>
+ struct implies : public Function_vv2b< implies<L,R> >
+ {
+ bool operator()(const L& v1, const R& v2) const;
+ };
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+ template <typename L, typename R>
+ inline
+ bool
+ implies<L,R>::operator()(const L& v1, const R& v2) const
+ {
+ return (! v1) || v2;
+ }
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::fun::vv2b
+
+ } // end of namespace mln::fun
+
+} // end of namespace mln
+
+
+#endif // ! MLN_FUN_VV2B_IMPLIES_HH
Index: trunk/milena/mln/fun/vv2b/eq.hh
===================================================================
--- trunk/milena/mln/fun/vv2b/eq.hh (revision 0)
+++ trunk/milena/mln/fun/vv2b/eq.hh (revision 3039)
@@ -0,0 +1,75 @@
+// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+#ifndef MLN_FUN_VV2B_EQ_HH
+# define MLN_FUN_VV2B_EQ_HH
+
+/// \file mln/fun/vv2b/eq.hh
+///
+/// Functor that computes equal between two values.
+
+# include <mln/core/concept/function.hh>
+# include <mln/trait/op/and.hh>
+
+
+namespace mln
+{
+
+ namespace fun
+ {
+
+ namespace vv2b
+ {
+
+ /// Functor computing equal between two values.
+ template <typename L, typename R = L>
+ struct eq : public Function_vv2b< eq<L,R> >
+ {
+ bool operator()(const L& v1, const R& v2) const;
+ };
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+ template <typename L, typename R>
+ inline
+ bool
+ eq<L,R>::operator()(const L& v1, const R& v2) const
+ {
+ return v1 == v2;
+ }
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::fun::vv2b
+
+ } // end of namespace mln::fun
+
+} // end of namespace mln
+
+
+#endif // ! MLN_FUN_VV2B_EQ_HH
Index: trunk/milena/mln/fun/vv2b/gt.hh
===================================================================
--- trunk/milena/mln/fun/vv2b/gt.hh (revision 0)
+++ trunk/milena/mln/fun/vv2b/gt.hh (revision 3039)
@@ -0,0 +1,75 @@
+// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+#ifndef MLN_FUN_VV2B_GT_HH
+# define MLN_FUN_VV2B_GT_HH
+
+/// \file mln/fun/vv2b/gt.hh
+///
+/// Functor that computes "greater than" between two values.
+
+# include <mln/core/concept/function.hh>
+# include <mln/trait/op/and.hh>
+
+
+namespace mln
+{
+
+ namespace fun
+ {
+
+ namespace vv2b
+ {
+
+ /// Functor computing "greater than" between two values.
+ template <typename L, typename R = L>
+ struct gt : public Function_vv2b< gt<L,R> >
+ {
+ bool operator()(const L& v1, const R& v2) const;
+ };
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+ template <typename L, typename R>
+ inline
+ bool
+ gt<L,R>::operator()(const L& v1, const R& v2) const
+ {
+ return v1 > v2;
+ }
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::fun::vv2b
+
+ } // end of namespace mln::fun
+
+} // end of namespace mln
+
+
+#endif // ! MLN_FUN_VV2B_GT_HH
Index: trunk/milena/mln/fun/vv2b/ge.hh
===================================================================
--- trunk/milena/mln/fun/vv2b/ge.hh (revision 0)
+++ trunk/milena/mln/fun/vv2b/ge.hh (revision 3039)
@@ -0,0 +1,75 @@
+// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+#ifndef MLN_FUN_VV2B_GE_HH
+# define MLN_FUN_VV2B_GE_HH
+
+/// \file mln/fun/vv2b/ge.hh
+///
+/// Functor that computes "greater or equal than" between two values.
+
+# include <mln/core/concept/function.hh>
+# include <mln/trait/op/and.hh>
+
+
+namespace mln
+{
+
+ namespace fun
+ {
+
+ namespace vv2b
+ {
+
+ /// Functor computing "greater or equal than" between two values.
+ template <typename L, typename R = L>
+ struct ge : public Function_vv2b< ge<L,R> >
+ {
+ bool operator()(const L& v1, const R& v2) const;
+ };
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+ template <typename L, typename R>
+ inline
+ bool
+ ge<L,R>::operator()(const L& v1, const R& v2) const
+ {
+ return v1 >= v2;
+ }
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::fun::vv2b
+
+ } // end of namespace mln::fun
+
+} // end of namespace mln
+
+
+#endif // ! MLN_FUN_VV2B_GE_HH
Index: trunk/milena/mln/fun/vv2b/lt.hh
===================================================================
--- trunk/milena/mln/fun/vv2b/lt.hh (revision 0)
+++ trunk/milena/mln/fun/vv2b/lt.hh (revision 3039)
@@ -0,0 +1,75 @@
+// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+#ifndef MLN_FUN_VV2B_LT_HH
+# define MLN_FUN_VV2B_LT_HH
+
+/// \file mln/fun/vv2b/lt.hh
+///
+/// Functor that computes "lower than" between two values.
+
+# include <mln/core/concept/function.hh>
+# include <mln/trait/op/and.hh>
+
+
+namespace mln
+{
+
+ namespace fun
+ {
+
+ namespace vv2b
+ {
+
+ /// Functor computing "lower than" between two values.
+ template <typename L, typename R = L>
+ struct lt : public Function_vv2b< lt<L,R> >
+ {
+ bool operator()(const L& v1, const R& v2) const;
+ };
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+ template <typename L, typename R>
+ inline
+ bool
+ lt<L,R>::operator()(const L& v1, const R& v2) const
+ {
+ return v1 < v2;
+ }
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::fun::vv2b
+
+ } // end of namespace mln::fun
+
+} // end of namespace mln
+
+
+#endif // ! MLN_FUN_VV2B_LT_HH
Index: trunk/milena/mln/fun/vv2b/le.hh
===================================================================
--- trunk/milena/mln/fun/vv2b/le.hh (revision 0)
+++ trunk/milena/mln/fun/vv2b/le.hh (revision 3039)
@@ -0,0 +1,75 @@
+// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+#ifndef MLN_FUN_VV2B_LE_HH
+# define MLN_FUN_VV2B_LE_HH
+
+/// \file mln/fun/vv2b/le.hh
+///
+/// Functor that computes "lower or equal than" between two values.
+
+# include <mln/core/concept/function.hh>
+# include <mln/trait/op/and.hh>
+
+
+namespace mln
+{
+
+ namespace fun
+ {
+
+ namespace vv2b
+ {
+
+ /// Functor computing "lower or equal than" between two values.
+ template <typename L, typename R = L>
+ struct le : public Function_vv2b< le<L,R> >
+ {
+ bool operator()(const L& v1, const R& v2) const;
+ };
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+ template <typename L, typename R>
+ inline
+ bool
+ le<L,R>::operator()(const L& v1, const R& v2) const
+ {
+ return v1 <= v2;
+ }
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::fun::vv2b
+
+ } // end of namespace mln::fun
+
+} // end of namespace mln
+
+
+#endif // ! MLN_FUN_VV2B_LE_HH
1
0
* mln/core/image/graph_window_piter.hh,
* mln/core/internal/neighb_niter_impl.hh,
* mln/core/site_set/p_graph_piter.hh: add id().
* tests/core/image/graph_image.cc,
* tests/core/image/line_graph_image.cc: use id() instead of
element().id().
---
milena/ChangeLog | 12 ++++
milena/mln/core/image/graph_window_piter.hh | 37 +++++++++---
milena/mln/core/internal/neighb_niter_impl.hh | 10 +++
milena/mln/core/site_set/p_graph_piter.hh | 11 +++
milena/tests/core/image/graph_image.cc | 84 ++++++++++++------------
milena/tests/core/image/line_graph_image.cc | 80 ++++++++++++------------
6 files changed, 144 insertions(+), 90 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 60a03d4..75ed693 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,17 @@
2008-12-12 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Add missing id() member in graph related piters.
+
+ * mln/core/image/graph_window_piter.hh,
+ * mln/core/internal/neighb_niter_impl.hh,
+ * mln/core/site_set/p_graph_piter.hh: add id().
+
+ * tests/core/image/graph_image.cc,
+ * tests/core/image/line_graph_image.cc: use id() instead of
+ element().id().
+
+2008-12-12 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Add new macros mln_*ITER() to declare iterators.
* tests/core/other/category.cc,
diff --git a/milena/mln/core/image/graph_window_piter.hh b/milena/mln/core/image/graph_window_piter.hh
index e4186f3..86abb4d 100644
--- a/milena/mln/core/image/graph_window_piter.hh
+++ b/milena/mln/core/image/graph_window_piter.hh
@@ -91,6 +91,12 @@ namespace mln
/// Compute the current psite.
mln_psite(W) compute_p_() const;
+
+ /// Convert towards the graph element id.
+ operator unsigned() const;
+
+ /// Return the graph element id.
+ unsigned id() const;
/// \}
private:
@@ -151,14 +157,6 @@ namespace mln
}
template <typename S, typename W, typename I>
- inline
- mln_psite(W)
- graph_window_piter<S,W,I>::compute_p_() const
- {
- return mln_psite(S)(this->center().site_set(), iter_.id());
- }
-
- template <typename S, typename W, typename I>
template <typename Pref>
inline
void
@@ -170,12 +168,35 @@ namespace mln
template <typename S, typename W, typename I>
inline
+ mln_psite(W)
+ graph_window_piter<S,W,I>::compute_p_() const
+ {
+ return mln_psite(S)(this->center().site_set(), iter_.id());
+ }
+
+ template <typename S, typename W, typename I>
+ inline
const mln_graph_element(S)&
graph_window_piter<S, W, I>::element() const
{
return iter_;
}
+ template <typename S, typename W, typename I>
+ inline
+ graph_window_piter<S, W, I>::operator unsigned() const
+ {
+ return iter_.id();
+ }
+
+ template <typename S, typename W, typename I>
+ inline
+ unsigned
+ graph_window_piter<S, W, I>::id() const
+ {
+ return iter_.id();
+ }
+
# endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln
diff --git a/milena/mln/core/internal/neighb_niter_impl.hh b/milena/mln/core/internal/neighb_niter_impl.hh
index aa0965d..d80789f 100644
--- a/milena/mln/core/internal/neighb_niter_impl.hh
+++ b/milena/mln/core/internal/neighb_niter_impl.hh
@@ -67,6 +67,16 @@ namespace mln
return internal::force_exact<E>(*this).compute_p_().element();
}
+ unsigned id() const
+ {
+ return internal::force_exact<E>(*this).compute_p_().id();
+ }
+
+ operator unsigned() const
+ {
+ return internal::force_exact<E>(*this).compute_p_().id();
+ }
+
};
diff --git a/milena/mln/core/site_set/p_graph_piter.hh b/milena/mln/core/site_set/p_graph_piter.hh
index d91a2cb..e6f4ce8 100644
--- a/milena/mln/core/site_set/p_graph_piter.hh
+++ b/milena/mln/core/site_set/p_graph_piter.hh
@@ -91,6 +91,9 @@ namespace mln
/// Convert towards the graph element id.
operator unsigned() const;
+ /// Return the graph element id.
+ unsigned id() const;
+
private:
/// Update the psite corresponding to this iterator.
@@ -199,6 +202,14 @@ namespace mln
template <typename S, typename I>
inline
+ unsigned
+ p_graph_piter<S,I>::id() const
+ {
+ return iter_.id();
+ }
+
+ template <typename S, typename I>
+ inline
void
p_graph_piter<S,I>::update_()
{
diff --git a/milena/tests/core/image/graph_image.cc b/milena/tests/core/image/graph_image.cc
index 2094a24..20e0961 100644
--- a/milena/tests/core/image/graph_image.cc
+++ b/milena/tests/core/image/graph_image.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright(C) 2007, 2008 EPITA Research and Development Laboratory(LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -46,20 +46,33 @@
#include <mln/debug/draw_graph.hh>
#include <mln/debug/println.hh>
+/* The graph is as follows:
+
+ 0 1 2 3 4
+ .-----------
+ |
+ 0 | 0 2
+ 1 | \ / |
+ 2 | 1 |
+ 3 | \ |
+ 4 | 3-4
+
+*/
// Expected neighbors for forward and backward iteration.
-static unsigned fwd[5][3] = { { 1, -1, -1 },
- { 0, 2, 3 },
- { 1, 4, -1 },
- { 1, 4, -1 },
- { 3, 2, -1 } };
+// -1 is an invalid id.
+static unsigned expected_fwd_nb[5][3] = { { 1, -1, -1 },
+ { 0, 2, 3 },
+ { 1, 4, -1 },
+ { 1, 4, -1 },
+ { 3, 2, -1 } };
-static unsigned bkd[5][3] = { { 1, -1, -1 },
- { 3, 2, 0 },
- { 4, 1, -1 },
- { 4, 1, -1 },
- { 2, 3, -1 } };
+static unsigned expected_bkd_nb[5][3] = { { 1, -1, -1 },
+ { 3, 2, 0 },
+ { 4, 1, -1 },
+ { 4, 1, -1 },
+ { 2, 3, -1 } };
int main()
@@ -70,19 +83,6 @@ int main()
| Graph. |
`--------*/
- /* The graph is as follows:
-
- 0 1 2 3 4
- .-----------
- |
- 0 | 0 2
- 1 | \ / |
- 2 | 1 |
- 3 | \ |
- 4 | 3-4
-
- */
-
// Points associated to vertices.
typedef fun::i2v::array<point2d> fsite_t;
fsite_t sites(5);
@@ -95,7 +95,7 @@ int main()
// Edges.
util::graph g;
// Populate the graph with vertices.
- for (unsigned i = 0; i < sites.size(); ++i)
+ for(unsigned i = 0; i < sites.size(); ++i)
g.add_vertex();
// Populate the graph with edges.
g.add_edge(0, 1);
@@ -120,11 +120,11 @@ int main()
// Graph values.
typedef fun::i2v::array<unsigned> viota_t;
viota_t iota(pv.nsites());
- for (unsigned i = 0; i < iota.size(); ++i)
+ for(unsigned i = 0; i < iota.size(); ++i)
iota(i) = 10 + i;
// Create graph image.
- mln_const_VAR(ima, (iota | pv));
+ mln_const_VAR(ima,(iota | pv));
{
// FIXME: Move this part to a special test case.
@@ -139,13 +139,13 @@ int main()
// Print the image.
/* FIXME: Unfortunately, displaying graph images is not easy right
- now (2008-02-05). We could use
+ now(2008-02-05). We could use
debug::println(ima);
but there's not specialization working for graph_image; the one
selected by the compiler is based on a 2-D bbox, and expects the
- interface of graph_image to work with points (not psites).
+ interface of graph_image to work with points(not psites).
Moreover, this implementation only shows *values*, not the graph
itslef.
@@ -169,7 +169,7 @@ int main()
// iteration over the domain of IMA.
mln_piter_(ima_t) p(ima.domain());
unsigned i = 10;
- for_all (p)
+ for_all(p)
mln_assertion(ima(p) == i++);
typedef graph_elt_window<util::graph, fsite_t> win_t;
@@ -178,12 +178,12 @@ int main()
{
// Window - Forward iteration
mln_qiter_(win_t) q(win, p);
- for_all (p)
+ for_all(p)
{
i = 0;
- for_all (q)
+ for_all(q)
{
- mln_assertion(fwd[p.element().id()][i] == q.element().id());
+ mln_assertion(expected_fwd_nb[p.id()][i] == q.id());
++i;
}
}
@@ -192,12 +192,12 @@ int main()
{
// Window - Backward iteration
mln_bkd_qiter_(win_t) q(win, p);
- for_all (p)
+ for_all(p)
{
i = 0;
- for_all (q)
+ for_all(q)
{
- mln_assertion(bkd[p.element().id()][i] == q.element().id());
+ mln_assertion(expected_bkd_nb[p.id()][i] == q.id());
++i;
}
}
@@ -209,12 +209,12 @@ int main()
// Neighborhood - Forward iteration
mln_niter_(neighb_t) n(neigh, p);
- for_all (p)
+ for_all(p)
{
i = 0;
- for_all (n)
+ for_all(n)
{
- mln_assertion(fwd[p.element().id()][i] == n.element().id());
+ mln_assertion(expected_fwd_nb[p.id()][i] == n.id());
++i;
}
}
@@ -223,12 +223,12 @@ int main()
{
// Neighborhood - Backward iteration
mln_bkd_niter_(neighb_t) n(neigh, p);
- for_all (p)
+ for_all(p)
{
i = 0;
- for_all (n)
+ for_all(n)
{
- mln_assertion(bkd[p.element().id()][i] == n.element().id());
+ mln_assertion(expected_bkd_nb[p.id()][i] == n.id());
++i;
}
}
diff --git a/milena/tests/core/image/line_graph_image.cc b/milena/tests/core/image/line_graph_image.cc
index 36a836f..e7008e7 100644
--- a/milena/tests/core/image/line_graph_image.cc
+++ b/milena/tests/core/image/line_graph_image.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright(C) 2007, 2008 EPITA Research and Development Laboratory(LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -44,19 +44,32 @@
#include <mln/core/var.hh>
+/* The graph and its corresponding line graph are as follows:
+
+ 0 1 2 3 4 0 1 2 3 4
+ .----------- .-----------
+ | |
+ 0 | 0 2 0 | * *
+ 1 | \ / | 1 | 0 1 |
+ 2 | 1 | 2 | * 4
+ 3 | \ | 3 | 2 |
+ 4 | 3-4 4 | *3*
+
+*/
+
// Expected neighbors for forward and backward iteration.
-static unsigned fwd[5][3] = { { 1, 2, -1 },
- { 0, 2, 4 },
- { 0, 1, 3 },
- { 2, 4, -1 },
- { 1, 3, -1 } };
+static unsigned expected_fwd_nbh[5][3] = { { 1, 2, -1 },
+ { 0, 2, 4 },
+ { 0, 1, 3 },
+ { 2, 4, -1 },
+ { 1, 3, -1 } };
-static unsigned bkd[5][3] = { { 2, 1, -1 },
- { 4, 2, 0 },
- { 3, 1, 0 },
- { 4, 2, -1 },
- { 3, 1, -1 } };
+static unsigned expected_bkd_nbh[5][3] = { { 2, 1, -1 },
+ { 4, 2, 0 },
+ { 3, 1, 0 },
+ { 4, 2, -1 },
+ { 3, 1, -1 } };
int main()
@@ -67,19 +80,6 @@ int main()
| Graph. |
`--------*/
- /* The graph and its corresponding line graph are as follows:
-
- 0 1 2 3 4 0 1 2 3 4
- .----------- .-----------
- | |
- 0 | 0 2 0 | * *
- 1 | \ / | 1 | 0 1 |
- 2 | 1 | 2 | * 4
- 3 | \ | 3 | 2 |
- 4 | 3-4 4 | *3*
-
- */
-
// Sites associated to edges.
typedef fun::i2v::array<point2d> fsite_t;
fsite_t sites(5);
@@ -91,7 +91,7 @@ int main()
util::graph g;
// Populate the graph with vertices.
- for (unsigned i = 0; i < sites.size(); ++i)
+ for(unsigned i = 0; i < sites.size(); ++i)
g.add_vertex();
// Populate the graph with edges.
g.add_edge(0, 1);
@@ -114,11 +114,11 @@ int main()
// Graph values.
typedef fun::i2v::array<unsigned> viota_t;
viota_t iota(pe.nsites());
- for (unsigned i = 0; i < iota.size(); ++i)
+ for(unsigned i = 0; i < iota.size(); ++i)
iota(i) = 10 + i;
// Create line graph image.
- mln_const_VAR(ima, (iota | pe));
+ mln_const_VAR(ima,(iota | pe));
/*------------.
| Iterators. |
@@ -130,7 +130,7 @@ int main()
// Manual iteration over the domain of IMA.
mln_piter_(ima_t) p(ima.domain());
unsigned i = 10;
- for_all (p)
+ for_all(p)
mln_assertion(ima(p) == i++);
typedef line_graph_elt_window<util::graph, fsite_t> win_t;
@@ -139,12 +139,12 @@ int main()
{
// Window - Forward iteration
mln_fwd_qiter_(win_t) q(win, p);
- for_all (p)
+ for_all(p)
{
i = 0;
- for_all (q)
+ for_all(q)
{
- mln_assertion(fwd[p.element().id()][i] == q.element().id());
+ mln_assertion(expected_fwd_nbh[p.id()][i] == q.id());
++i;
}
}
@@ -153,12 +153,12 @@ int main()
{
// Window - Backward iteration
mln_bkd_qiter_(win_t) q(win, p);
- for_all (p)
+ for_all(p)
{
i = 0;
- for_all (q)
+ for_all(q)
{
- mln_assertion(bkd[p.element().id()][i] == q.element().id());
+ mln_assertion(expected_bkd_nbh[p.id()][i] == q.id());
++i;
}
}
@@ -171,12 +171,12 @@ int main()
{
// Neighborhood - Forward iteration
mln_fwd_niter_(neighb_t) n(neigh, p);
- for_all (p)
+ for_all(p)
{
i = 0;
- for_all (n)
+ for_all(n)
{
- mln_assertion(fwd[p.element().id()][i] == n.element().id());
+ mln_assertion(expected_fwd_nbh[p.id()][i] == n.id());
++i;
}
}
@@ -185,12 +185,12 @@ int main()
{
// Neighborhood - Backward iteration
mln_bkd_niter_(neighb_t) n(neigh, p);
- for_all (p)
+ for_all(p)
{
i = 0;
- for_all (n)
+ for_all(n)
{
- mln_assertion(bkd[p.element().id()][i] == n.element().id());
+ mln_assertion(expected_bkd_nbh[p.id()][i] == n.id());
++i;
}
}
--
1.5.6.5
1
0
* tests/core/other/category.cc,
* mln/core/macros.hh: update doc.
* mln/core/var.hh: add new macros here.
* tests/core/image/graph_image.cc,
* tests/core/image/line_graph_image.cc: rename variables and fix
coding style.
* tests/core/other/Makefile.am,
* tests/core/other/var.cc: new test to check macros.
---
milena/ChangeLog | 12 ++
milena/mln/core/macros.hh | 7 +-
milena/mln/core/var.hh | 195 ++++++++++++++++++++++++++++++++++-
milena/tests/core/other/Makefile.am | 2 +
milena/tests/core/other/category.cc | 10 +-
milena/tests/core/other/var.cc | 139 +++++++++++++++++++++++++
6 files changed, 351 insertions(+), 14 deletions(-)
create mode 100644 milena/tests/core/other/var.cc
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 0748651..60a03d4 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,15 @@
+2008-12-12 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Add new macros mln_*ITER() to declare iterators.
+
+ * tests/core/other/category.cc,
+ * mln/core/macros.hh: update doc.
+
+ * mln/core/var.hh: add new macros here.
+
+ * tests/core/other/Makefile.am,
+ * tests/core/other/var.cc: new test to check macros.
+
2008-12-11 Guillaume Lazzara <z(a)lrde.epita.fr>
Fix many various tests.
diff --git a/milena/mln/core/macros.hh b/milena/mln/core/macros.hh
index 16ce3fe..ba5702e 100644
--- a/milena/mln/core/macros.hh
+++ b/milena/mln/core/macros.hh
@@ -29,10 +29,9 @@
#ifndef MLN_CORE_MACROS_HH
# define MLN_CORE_MACROS_HH
-/*! \file mln/core/macros.hh
- *
- * \brief Definition of the set of Milena macros.
- */
+/// \file mln/core/macros.hh
+///
+/// Definition of the set of Milena macros.
# define mln_deduce(T, A1, A2) typename T::A1::A2
diff --git a/milena/mln/core/var.hh b/milena/mln/core/var.hh
index dfec471..0b40216 100644
--- a/milena/mln/core/var.hh
+++ b/milena/mln/core/var.hh
@@ -28,13 +28,18 @@
#ifndef MLN_CORE_VAR_HH
# define MLN_CORE_VAR_HH
-/*! \file mln/core/var.hh
- *
- * \brief Definition of the macro mln_VAR. Warning: that macro relies
- * on an extention of g++ (typeof) so it is NOT standard C++.
- */
+/// \file mln/core/var.hh
+///
+/// This file contains various macros to declare variables.
+///
+/// Warning: that macro relies on an extention of g++ (typeof) so it is
+/// NOT standard C++.
+# include <mln/core/macros.hh>
+/// Definition of the macro mln_VAR.
+/// Deduce the type of Expr, create a variable of that type and assign the
+/// result to it.
#define mln_VAR(Var, Expr) \
\
typeof(Expr) Var = Expr; \
@@ -46,4 +51,184 @@
typedef const typeof(Expr) Var##_t
+// mln_PITER
+
+/// Shortcuts to declare site iterators
+/// \{
+#define mln_PITER(p, obj) \
+ typedef typeof(obj) p##__obj_type; \
+ mln_piter(p##__obj_type) p(obj)
+
+#define mln_PITER_(p, obj) \
+ typedef typeof(obj) p##__obj_type; \
+ mln_piter_(p##__obj_type) p(obj)
+/// \}
+
+/// Shortcuts to declare site forward iterators
+/// \{
+#define mln_FWD_PITER(p, obj) \
+ typedef typeof(obj) p##__obj_type; \
+ mln_fwd_piter(p##__obj_type) p(obj)
+
+#define mln_FWD_PITER_(p, obj) \
+ typedef typeof(obj) p##__obj_type; \
+ mln_fwd_piter_(p##__obj_type) p(obj)
+/// \}
+
+/// Shortcuts to declare site backward iterators
+/// \{
+#define mln_BKD_PITER(p, obj) \
+ typedef typeof(obj) p##__obj_type; \
+ mln_bkd_piter(p##__obj_type) p(obj)
+
+#define mln_BKD_PITER_(p, obj) \
+ typedef typeof(obj) p##__obj_type; \
+ mln_bkd_piter_(p##__obj_type) p(obj)
+/// \}
+
+
+// mln_NITER
+
+/// Shortcuts to declare neighbor iterators
+/// \{
+#define mln_NITER(n, obj, p) \
+ typedef typeof(obj) n##__obj_type; \
+ mln_niter(n##__obj_type) n(obj, p)
+
+#define mln_NITER_(n, obj, p) \
+ typedef typeof(obj) n##__obj_type; \
+ mln_niter_(n##__obj_type) n(obj, p)
+/// \}
+
+/// Shortcuts to declare neighbor forward iterators
+/// \{
+#define mln_FWD_NITER(n, obj, p) \
+ typedef typeof(obj) n##__obj_type; \
+ mln_fwd_niter(n##__obj_type) n(obj, p)
+
+#define mln_FWD_NITER_(n, obj, p) \
+ typedef typeof(obj) n##__obj_type; \
+ mln_fwd_niter_(n##__obj_type) n(obj, p)
+/// \}
+
+/// Shortcuts to declare neighbor backward iterators
+/// \{
+#define mln_BKD_NITER(n, obj, p) \
+ typedef typeof(obj) n##__obj_type; \
+ mln_bkd_niter(n##__obj_type) n(obj, p)
+
+#define mln_BKD_NITER_(n, obj, p) \
+ typedef typeof(obj) n##__obj_type; \
+ mln_bkd_niter_(n##__obj_type) n(obj, p)
+/// \}
+
+
+// mln_QITER
+
+/// Shortcuts to declare neighbor iterators on windows
+/// \{
+#define mln_QITER(q, obj, p) \
+ typedef typeof(obj) q##__obj_type; \
+ mln_qiter(q##__obj_type) q(obj, p)
+
+#define mln_QITER_(q, obj, p) \
+ typedef typeof(obj) q##__obj_type; \
+ mln_qiter_(q##__obj_type) q(obj, p)
+/// \}
+
+/// Shortcuts to declare neighbor forward iterators on windows
+/// \{
+#define mln_FWD_QITER(q, obj, p) \
+ typedef typeof(obj) q##__obj_type; \
+ mln_fwd_qiter(q##__obj_type) q(obj, p)
+
+#define mln_FWD_QITER_(q, obj, p) \
+ typedef typeof(obj) q##__obj_type; \
+ mln_fwd_qiter_(q##__obj_type) q(obj, p)
+/// \}
+
+/// Shortcuts to declare neighbor backward iterators on windows
+/// \{
+#define mln_BKD_QITER(q, obj, p) \
+ typedef typeof(obj) q##__obj_type; \
+ mln_bkd_qiter(q##__obj_type) q(obj, p)
+
+#define mln_BKD_QITER_(q, obj, p) \
+ typedef typeof(obj) q##__obj_type; \
+ mln_bkd_qiter_(q##__obj_type) q(obj, p)
+/// \}
+
+
+// mln_EITER
+
+/// Shortcuts to declare element iterators
+/// \{
+#define mln_EITER(e, obj) \
+ typedef typeof(obj) e##__obj_type; \
+ mln_eiter(e##__obj_type) e(obj)
+
+#define mln_EITER_(e, obj) \
+ typedef typeof(obj) e##__obj_type; \
+ mln_eiter_(e##__obj_type) e(obj)
+/// \}
+
+/// Shortcuts to declare element forward iterators
+/// \{
+#define mln_FWD_EITER(e, obj) \
+ typedef typeof(obj) e##__obj_type; \
+ mln_fwd_eiter(e##__obj_type) e(obj)
+
+#define mln_FWD_EITER_(e, obj) \
+ typedef typeof(obj) e##__obj_type; \
+ mln_fwd_eiter_(e##__obj_type) e(obj)
+/// \}
+
+/// Shortcuts to declare element backward iterators
+/// \{
+#define mln_BKD_EITER(e, obj) \
+ typedef typeof(obj) e##__obj_type; \
+ mln_bkd_eiter(e##__obj_type) e(obj)
+
+#define mln_BKD_EITER_(e, obj) \
+ typedef typeof(obj) e##__obj_type; \
+ mln_bkd_eiter_(e##__obj_type) e(obj)
+/// \}
+
+
+// mln_VITER
+
+/// Shortcuts to declare value iterators
+/// \{
+#define mln_VITER(v, obj) \
+ typedef typeof(obj) v##__obj_type; \
+ mln_viter(v##__obj_type) v(obj)
+
+#define mln_VITER_(v, obj) \
+ typedef typeof(obj) v##__obj_type; \
+ mln_viter_(v##__obj_type) v(obj)
+/// \}
+
+/// Shortcuts to declare value forward iterators
+/// \{
+#define mln_FWD_VITER(v, obj) \
+ typedef typeof(obj) v##__obj_type; \
+ mln_fwd_viter(v##__obj_type) v(obj)
+
+#define mln_FWD_VITER_(v, obj) \
+ typedef typeof(obj) v##__obj_type; \
+ mln_fwd_viter_(v##__obj_type) v(obj)
+/// \}
+
+/// Shortcuts to declare value backward iterators
+/// \{
+#define mln_BKD_VITER(v, obj) \
+ typedef typeof(obj) v##__obj_type; \
+ mln_bkd_viter(v##__obj_type) v(obj)
+
+#define mln_BKD_VITER_(v, obj) \
+ typedef typeof(obj) v##__obj_type; \
+ mln_bkd_viter_(v##__obj_type) v(obj)
+/// \}
+
+
#endif // ! MLN_CORE_VAR_HH
diff --git a/milena/tests/core/other/Makefile.am b/milena/tests/core/other/Makefile.am
index e6f3633..018f1e6 100644
--- a/milena/tests/core/other/Makefile.am
+++ b/milena/tests/core/other/Makefile.am
@@ -22,6 +22,7 @@ check_PROGRAMS = \
pixter3d \
pixter3d_more \
point_set_compatibility \
+ var \
w_window
box_runstart_piter_SOURCES = box_runstart_piter.cc
@@ -42,6 +43,7 @@ pixter2d_more_SOURCES = pixter2d_more.cc
pixter3d_SOURCES = pixter3d.cc
pixter3d_more_SOURCES = pixter3d_more.cc
point_set_compatibility_SOURCES = point_set_compatibility.cc
+var_SOURCES = var.cc
w_window_SOURCES = w_window.cc
TESTS = $(check_PROGRAMS)
diff --git a/milena/tests/core/other/category.cc b/milena/tests/core/other/category.cc
index 12d2ac0..3edf612 100644
--- a/milena/tests/core/other/category.cc
+++ b/milena/tests/core/other/category.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,10 +26,9 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/core/other/category.cc
- *
- * \brief Tests on mln::category.
- */
+/// \file tests/core/other/category.cc
+///
+/// Tests on mln::category.
#include <mln/core/category.hh>
diff --git a/milena/tests/core/other/var.cc b/milena/tests/core/other/var.cc
new file mode 100644
index 0000000..6079142
--- /dev/null
+++ b/milena/tests/core/other/var.cc
@@ -0,0 +1,139 @@
+// Copyright (C) 2008 EPITA Research and Development Laboratory
+// (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+/// \file tests/core/other/var.cc
+///
+/// Tests all macros located in mln/core/var.hh
+
+#include <mln/core/image/image2d.hh>
+#include <mln/core/alias/window2d.hh>
+#include <mln/core/alias/neighb2d.hh>
+#include <mln/histo/data.hh>
+#include <mln/util/array.hh>
+
+#include <mln/core/var.hh>
+
+template <typename T>
+void test_template()
+{
+ using namespace mln;
+
+ image2d<T> ima(1,1);
+ neighb2d neighb;
+ window2d win;
+ {
+ mln_PITER(p, ima.domain());
+ mln_NITER(n, neighb, p);
+ mln_QITER(q, win, p);
+ }
+ {
+ mln_FWD_PITER(p, ima.domain());
+ mln_FWD_NITER(n, neighb, p);
+ mln_FWD_QITER(q, win, p);
+ }
+ {
+ mln_BKD_PITER(p, ima.domain());
+ mln_BKD_NITER(n, neighb, p);
+ mln_BKD_QITER(q, win, p);
+ }
+
+ util::array<point2d> arr;
+ {
+ mln_EITER(e, arr);
+ }
+ {
+ mln_FWD_EITER(e, arr);
+ }
+ {
+ mln_BKD_EITER(e, arr);
+ }
+
+ histo::data<bool> d;
+ {
+ mln_VITER(v, d.vset());
+ }
+ {
+ mln_FWD_VITER(v, d.vset());
+ }
+ {
+ mln_BKD_VITER(v, d.vset());
+ }
+
+}
+
+void test()
+{
+ using namespace mln;
+
+ image2d<int> ima(1,1);
+ neighb2d neighb;
+ window2d win;
+ {
+ mln_PITER_(p, ima.domain());
+ mln_NITER_(n, neighb, p);
+ mln_QITER_(q, win, p);
+ }
+ {
+ mln_FWD_PITER_(p, ima.domain());
+ mln_FWD_NITER_(n, neighb, p);
+ mln_FWD_QITER_(q, win, p);
+ }
+ {
+ mln_BKD_PITER_(p, ima.domain());
+ mln_BKD_NITER_(n, neighb, p);
+ mln_BKD_QITER_(q, win, p);
+ }
+
+ util::array<point2d> arr;
+ {
+ mln_EITER_(e, arr);
+ }
+ {
+ mln_FWD_EITER_(e, arr);
+ }
+ {
+ mln_BKD_EITER_(e, arr);
+ }
+
+ histo::data<bool> d;
+ {
+ mln_VITER_(v, d.vset());
+ }
+ {
+ mln_FWD_VITER_(v, d.vset());
+ }
+ {
+ mln_BKD_VITER_(v, d.vset());
+ }
+}
+
+int main()
+{
+ test();
+ test_template<int>();
+}
--
1.5.6.5
1
0
* tests/morpho/hit_or_miss.cc,
* mln/util/tree_to_image.hh,
* mln/topo/internal/complex_iterator_base.hh,
* mln/topo/internal/complex_relative_iterator_sequence.hh,
* mln/topo/algebraic_face.hh,
* mln/core/image/image2d.hh,
* mln/core/image/image2d_h.hh,
* mln/core/alias/complex_geometry.hh,
* mln/accu/count_adjacent_vertices.hh: update comments.
* tests/fun/x2x/rotation.cc,
* mln/value/internal/convert.hh,
* mln/topo/all.hh,
* mln/morpho/opening_area_on_vertices.hh,
* mln/registration/internal/rms.hh,
* mln/morpho/erosion.hh,
* mln/morpho/general.hh,
* mln/morpho/general.spe.hh,
* mln/morpho/closing_area_on_vertices.hh,
* mln/debug/println_with_border.hh,
* mln/fun/p2p/mirror.hh,
* mln/core/site_set/attic/p_complex_faces_piter.hh,
* mln/core/internal/neighb_niter_impl.hh,
* mln/core/image/complex_neighborhood_piter.hh,
* mln/convert/to.hh,
* mln/accu/land_basic.hh,
* mln/accu/lor.hh,
* mln/accu/lor_basic.hh,
* mln/binarization/includes.hh,
* mln/border/get.hh,
* mln/accu/land.hh: add missing/fix includes.
* mln/canvas/browsing/depth_first_search.hh: use template parameter G
instead of util::graph.
* mln/convert/from_to.hh: add a new overload from_to() for conversion
from a type T to itself.
* mln/core/clock_neighb.hh: add a missing typedef window and win()
member.
* mln/core/image/hexa.hh: remove duplicate method has() and try to fix
image properties.
* mln/core/image/hexa_piter.hh: update attribute name.
* mln/core/internal/piter_adaptor.hh: update change_target();
* mln/debug/iota.spe.hh: cleanup.
* mln/debug/println.spe.hh: remove wrong ifndef.
* mln/labeling/relabel.hh: fix infinite recursion.
* mln/metal/has_neighborhood.hh: remove. Not needed anymore.
* mln/morpho/hit_or_miss.hh: improve dispatch and fix a wrong
precondition.
* mln/morpho/line_gradient.hh: update with the new graph structure.
* mln/subsampling/gaussian_subsampling.hh: add missing coma.
* mln/topo/face_iter.hh,
* mln/topo/internal/complex_set_iterator_base.hh,
* mln/topo/internal/complex_relative_iterator_base.hh,
* mln/topo/adj_lower_face_iter.hh,
* mln/topo/adj_lower_higher_face_iter.hh,
* mln/topo/adj_higher_face_iter.hh: add missing forward declarations.
* mln/trait/neighborhood.hh: Fix wrong declaration order.
* tests/morpho/complex_image_wst.cc,
* tests/border/resize_image_if.cc,
* tests/border/get.cc: fix test.
* tests/border/resize_image3d_3.cc: write test.
* tests/core/image/Makefile.am: enable hexa and image2d_h tests.
* tests/core/image/hexa.cc,
* tests/core/image/image2d_h.cc: make the test compile.
* tests/labeling/relabel.cc: fix typo.
* tests/unit_test/build_unit_test.sh: do not compile headers
located in mln/concept/doc.
---
milena/ChangeLog | 93 ++++++++
milena/mln/accu/count_adjacent_vertices.hh | 1 +
milena/mln/accu/land.hh | 1 +
milena/mln/accu/land_basic.hh | 1 +
milena/mln/accu/lor.hh | 1 +
milena/mln/accu/lor_basic.hh | 1 +
milena/mln/binarization/includes.hh | 10 +-
milena/mln/border/get.hh | 11 +-
milena/mln/canvas/browsing/depth_first_search.hh | 9 +-
milena/mln/convert/from_to.hh | 13 +-
milena/mln/convert/to.hh | 1 +
milena/mln/core/alias/complex_geometry.hh | 3 +-
milena/mln/core/clock_neighb.hh | 35 +++-
.../mln/core/image/complex_neighborhood_piter.hh | 4 +-
milena/mln/core/image/hexa.hh | 35 +--
milena/mln/core/image/hexa_piter.hh | 36 ++--
milena/mln/core/image/image2d.hh | 2 +-
milena/mln/core/image/image2d_h.hh | 12 +-
milena/mln/core/internal/neighb_niter_impl.hh | 2 +
milena/mln/core/internal/piter_adaptor.hh | 31 ++--
.../core/site_set/attic/p_complex_faces_piter.hh | 10 +-
milena/mln/debug/iota.spe.hh | 20 +-
milena/mln/debug/println.spe.hh | 49 +++--
milena/mln/debug/println_with_border.hh | 17 +-
milena/mln/fun/p2p/mirror.hh | 7 +
milena/mln/labeling/relabel.hh | 2 +-
milena/mln/metal/has_neighborhood.hh | 53 -----
milena/mln/morpho/closing_area_on_vertices.hh | 15 +-
milena/mln/morpho/erosion.hh | 2 +-
milena/mln/morpho/general.hh | 8 +-
milena/mln/morpho/general.spe.hh | 5 +
milena/mln/morpho/hit_or_miss.hh | 239 ++++++++++++--------
milena/mln/morpho/line_gradient.hh | 71 +++---
milena/mln/morpho/opening_area_on_vertices.hh | 17 +-
milena/mln/registration/internal/rms.hh | 1 +
milena/mln/subsampling/gaussian_subsampling.hh | 2 +-
milena/mln/topo/adj_higher_face_iter.hh | 13 +-
milena/mln/topo/adj_lower_face_iter.hh | 19 ++-
milena/mln/topo/adj_lower_higher_face_iter.hh | 15 +-
milena/mln/topo/algebraic_face.hh | 14 +-
milena/mln/topo/all.hh | 41 ++--
milena/mln/topo/face_iter.hh | 10 +-
milena/mln/topo/internal/complex_iterator_base.hh | 8 +-
.../internal/complex_relative_iterator_base.hh | 15 +-
.../internal/complex_relative_iterator_sequence.hh | 5 +-
.../mln/topo/internal/complex_set_iterator_base.hh | 13 +-
milena/mln/trait/neighborhood.hh | 38 ++--
milena/mln/util/tree_to_image.hh | 47 ++--
milena/mln/value/internal/convert.hh | 11 +-
milena/tests/border/get.cc | 14 +-
milena/tests/border/resize_image3d_3.cc | 37 +--
milena/tests/border/resize_image_if.cc | 10 +-
milena/tests/core/image/Makefile.am | 8 +-
milena/tests/core/image/hexa.cc | 34 ++--
milena/tests/core/image/image2d_h.cc | 28 ++-
milena/tests/fun/x2x/rotation.cc | 2 +-
milena/tests/labeling/relabel.cc | 6 +-
milena/tests/morpho/complex_image_wst.cc | 29 ++--
milena/tests/morpho/hit_or_miss.cc | 14 +-
milena/tests/unit_test/build_unit_test.sh | 2 +-
60 files changed, 735 insertions(+), 518 deletions(-)
delete mode 100644 milena/mln/metal/has_neighborhood.hh
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 926ad95..0748651 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,96 @@
+2008-12-11 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Fix many various tests.
+
+ * tests/morpho/hit_or_miss.cc,
+ * mln/util/tree_to_image.hh,
+ * mln/topo/internal/complex_iterator_base.hh,
+ * mln/topo/internal/complex_relative_iterator_sequence.hh,
+ * mln/topo/algebraic_face.hh,
+ * mln/core/image/image2d.hh,
+ * mln/core/image/image2d_h.hh,
+ * mln/core/alias/complex_geometry.hh,
+ * mln/accu/count_adjacent_vertices.hh: update comments.
+
+ * tests/fun/x2x/rotation.cc,
+ * mln/value/internal/convert.hh,
+ * mln/topo/all.hh,
+ * mln/morpho/opening_area_on_vertices.hh,
+ * mln/registration/internal/rms.hh,
+ * mln/morpho/erosion.hh,
+ * mln/morpho/general.hh,
+ * mln/morpho/general.spe.hh,
+ * mln/morpho/closing_area_on_vertices.hh,
+ * mln/debug/println_with_border.hh,
+ * mln/fun/p2p/mirror.hh,
+ * mln/core/site_set/attic/p_complex_faces_piter.hh,
+ * mln/core/internal/neighb_niter_impl.hh,
+ * mln/core/image/complex_neighborhood_piter.hh,
+ * mln/convert/to.hh,
+ * mln/accu/land_basic.hh,
+ * mln/accu/lor.hh,
+ * mln/accu/lor_basic.hh,
+ * mln/binarization/includes.hh,
+ * mln/border/get.hh,
+ * mln/accu/land.hh: add missing/fix includes.
+
+ * mln/canvas/browsing/depth_first_search.hh: use template parameter G
+ instead of util::graph.
+
+ * mln/convert/from_to.hh: add a new overload from_to() for conversion
+ from a type T to itself.
+
+ * mln/core/clock_neighb.hh: add a missing typedef window and win()
+ member.
+
+ * mln/core/image/hexa.hh: remove duplicate method has() and try to fix
+ image properties.
+
+ * mln/core/image/hexa_piter.hh: update attribute name.
+
+ * mln/core/internal/piter_adaptor.hh: update change_target();
+
+ * mln/debug/iota.spe.hh: cleanup.
+
+ * mln/debug/println.spe.hh: remove wrong ifndef.
+
+ * mln/labeling/relabel.hh: fix infinite recursion.
+
+ * mln/metal/has_neighborhood.hh: remove. Not needed anymore.
+
+
+ * mln/morpho/hit_or_miss.hh: improve dispatch and fix a wrong
+ precondition.
+
+ * mln/morpho/line_gradient.hh: update with the new graph structure.
+
+ * mln/subsampling/gaussian_subsampling.hh: add missing coma.
+
+ * mln/topo/face_iter.hh,
+ * mln/topo/internal/complex_set_iterator_base.hh,
+ * mln/topo/internal/complex_relative_iterator_base.hh,
+ * mln/topo/adj_lower_face_iter.hh,
+ * mln/topo/adj_lower_higher_face_iter.hh,
+ * mln/topo/adj_higher_face_iter.hh: add missing forward declarations.
+
+ * mln/trait/neighborhood.hh: Fix wrong declaration order.
+
+ * tests/morpho/complex_image_wst.cc,
+ * tests/border/resize_image_if.cc,
+ * tests/border/get.cc: fix test.
+
+ * tests/border/resize_image3d_3.cc: write test.
+
+ * tests/core/image/Makefile.am: enable hexa and image2d_h tests.
+
+ * tests/core/image/hexa.cc,
+ * tests/core/image/image2d_h.cc: make the test compile.
+
+ * tests/labeling/relabel.cc: fix typo.
+
+ * tests/unit_test/build_unit_test.sh: do not compile headers
+ located in mln/concept/doc.
+
2008-12-12 Ugo Jardonnet <jardonnet(a)lrde.epita.fr>
Strengthen unit_test. Beautify file generation.
diff --git a/milena/mln/accu/count_adjacent_vertices.hh b/milena/mln/accu/count_adjacent_vertices.hh
index 164a150..382e509 100644
--- a/milena/mln/accu/count_adjacent_vertices.hh
+++ b/milena/mln/accu/count_adjacent_vertices.hh
@@ -30,6 +30,7 @@
# define MLN_ACCU_COUNT_ADJACENT_VERTICES_HH
/// \file mln/accu/count_adjacent_vertices.hh
+///
/// Define an accumulator that counts the vertices adjacent to a
/// set of p_edges psites.
diff --git a/milena/mln/accu/land.hh b/milena/mln/accu/land.hh
index 1b3058e..80a1701 100644
--- a/milena/mln/accu/land.hh
+++ b/milena/mln/accu/land.hh
@@ -35,6 +35,7 @@
///
/// \todo Have land be parameterized.
+# include <mln/core/concept/meta_accumulator.hh>
# include <mln/accu/internal/base.hh>
diff --git a/milena/mln/accu/land_basic.hh b/milena/mln/accu/land_basic.hh
index 831ff4b..ea4a886 100644
--- a/milena/mln/accu/land_basic.hh
+++ b/milena/mln/accu/land_basic.hh
@@ -35,6 +35,7 @@
///
/// \todo Have land_basic be parameterized.
+# include <mln/core/concept/meta_accumulator.hh>
# include <mln/accu/internal/base.hh>
diff --git a/milena/mln/accu/lor.hh b/milena/mln/accu/lor.hh
index 2e74d63..11411d5 100644
--- a/milena/mln/accu/lor.hh
+++ b/milena/mln/accu/lor.hh
@@ -35,6 +35,7 @@
///
/// \todo Have lor be parameterized.
+# include <mln/core/concept/meta_accumulator.hh>
# include <mln/accu/internal/base.hh>
diff --git a/milena/mln/accu/lor_basic.hh b/milena/mln/accu/lor_basic.hh
index 39a9864..896bb39 100644
--- a/milena/mln/accu/lor_basic.hh
+++ b/milena/mln/accu/lor_basic.hh
@@ -35,6 +35,7 @@
///
/// \todo Have lor_basic be parameterized.
+# include <mln/core/concept/meta_accumulator.hh>
# include <mln/accu/internal/base.hh>
diff --git a/milena/mln/binarization/includes.hh b/milena/mln/binarization/includes.hh
index ac01dfb..c191f7d 100644
--- a/milena/mln/binarization/includes.hh
+++ b/milena/mln/binarization/includes.hh
@@ -1,4 +1,5 @@
// Copyright (C) 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,16 +29,13 @@
#ifndef MLN_BINARIZATION_INCLUDES_HH
# define MLN_BINARIZATION_INCLUDES_HH
-/*! \file mln/binarization/includes.hh
- *
- * \brief Basic list of includes for all files in mln/binarization/.
- */
+/// \file mln/binarization/includes.hh
+///
+/// Basic list of includes for all files in mln/binarization/.
# include <mln/core/concept/image.hh>
# include <mln/core/concept/window.hh>
# include <mln/core/concept/neighborhood.hh>
-# include <mln/metal/has_neighborhood.hh>
-
#endif // ! MLN_BINARIZATION_INCLUDES_HH
diff --git a/milena/mln/border/get.hh b/milena/mln/border/get.hh
index 4a6642b..9d752fa 100644
--- a/milena/mln/border/get.hh
+++ b/milena/mln/border/get.hh
@@ -29,13 +29,12 @@
#ifndef MLN_BORDER_GET_HH
# define MLN_BORDER_GET_HH
-/*! \file mln/border/get.hh
- *
- * \brief Define function that returns the real border thickness of image.
- */
+/// \file mln/border/get.hh
+///
+/// Define function that returns the real border thickness of image.
# include <mln/trait/images.hh>
-
+# include <mln/trace/all.hh>
namespace mln
{
@@ -72,7 +71,7 @@ namespace mln
unsigned get_(trait::image::ext_domain::some, trait::image::category::morpher,
const I& ima)
{
- return border::get( *ima.delegatee_() );
+ return border::get(*ima.delegatee_());
}
diff --git a/milena/mln/canvas/browsing/depth_first_search.hh b/milena/mln/canvas/browsing/depth_first_search.hh
index 716be86..a8d840e 100644
--- a/milena/mln/canvas/browsing/depth_first_search.hh
+++ b/milena/mln/canvas/browsing/depth_first_search.hh
@@ -62,7 +62,12 @@
**
*/
+# include <queue>
+# include <mln/core/concept/iterator.hh>
+# include <mln/core/concept/browsing.hh>
# include <mln/core/concept/graph.hh>
+# include <mln/util/vertex.hh>
+
namespace mln
{
@@ -96,7 +101,7 @@ namespace mln
f.init(g);
- mln_vertex_iter(util::graph) v(g);
+ mln_vertex_iter(G) v(g);
for_all(v)
if (f.to_be_treated(v.id()))
{
@@ -105,7 +110,7 @@ namespace mln
f.update_treated(v.id());
while (!queue.empty())
{
- util::vertex<util::graph> current_v = g.vertex(queue.front());
+ util::vertex<G> current_v = g.vertex(queue.front());
queue.pop();
for (unsigned nv = 0; nv < current_v.nmax_nbh_vertices(); ++nv)
if (f.to_be_queued(current_v.ith_nbh_vertex(nv)))
diff --git a/milena/mln/convert/from_to.hh b/milena/mln/convert/from_to.hh
index 877ac7a..1c4761d 100644
--- a/milena/mln/convert/from_to.hh
+++ b/milena/mln/convert/from_to.hh
@@ -63,8 +63,11 @@ namespace mln
template <typename T>
void
- from_to(const float& from, Object<T>& to);
+ from_to(const T& from, T& to);
+ template <typename T>
+ void
+ from_to(const float& from, Object<T>& to);
template <typename T>
void
@@ -87,6 +90,14 @@ namespace mln
mlc_abort(F)::check();
}
+ // T -> T
+ template <typename T>
+ inline
+ void
+ from_to(const T& from, T& to)
+ {
+ to = from;
+ }
// Image -> Site_Set.
template <typename I, typename S>
diff --git a/milena/mln/convert/to.hh b/milena/mln/convert/to.hh
index 9d1ae7d..154084a 100644
--- a/milena/mln/convert/to.hh
+++ b/milena/mln/convert/to.hh
@@ -37,6 +37,7 @@
# include <mln/core/routine/exact.hh>
# include <mln/metal/equal.hh>
# include <mln/trace/all.hh>
+# include <mln/convert/from_to.hh>
# include <mln/convert/from_to.hxx>
diff --git a/milena/mln/core/alias/complex_geometry.hh b/milena/mln/core/alias/complex_geometry.hh
index 3bde2d4..d4e3a75 100644
--- a/milena/mln/core/alias/complex_geometry.hh
+++ b/milena/mln/core/alias/complex_geometry.hh
@@ -29,7 +29,8 @@
# define MLN_CORE_ALIAS_COMPLEX_GEOMETRY_HH
/// \file mln/core/alias/complex_geometry.hh
-/// \brief Definition of mln::geom::complex_geometry aliases.
+///
+/// Definition of mln::geom::complex_geometry aliases.
# include <mln/geom/complex_geometry.hh>
# include <mln/core/alias/point3df.hh>
diff --git a/milena/mln/core/clock_neighb.hh b/milena/mln/core/clock_neighb.hh
index 1e18a8c..be0245c 100644
--- a/milena/mln/core/clock_neighb.hh
+++ b/milena/mln/core/clock_neighb.hh
@@ -35,13 +35,14 @@
# include <mln/core/concept/neighborhood.hh>
+# include <mln/core/window.hh>
# include <mln/core/dpoint.hh>
# include <mln/core/site_set/p_array.hh>
namespace mln
{
- // fwd decls
+ // forward declarations
template <typename D> class dpsites_fwd_piter;
template <typename D> class dpsites_bkd_piter;
@@ -60,6 +61,9 @@ namespace mln
/// Site associated type.
typedef mln_psite(D) site;
+ /// Window associated type.
+ typedef window<dpsite> window;
+
/// Site_Iterator type to browse the psites of a generic
/// neighborhood w.r.t. the ordering of delta-psites.
///
@@ -93,11 +97,15 @@ namespace mln
///
clock_neighb<D>& append(const D& dp);
/// \}
- const std::vector<D>& vect() const
- {
- return vec_;
- }
+ /// Return the dpsites of this neighborhood.
+ const std::vector<D>& vect() const;
+
+ /// Return the corresponding window.
+ /// FIXME: not in constant time!
+ mln::window<D> win() const;
+
+ private:
std::vector<D> vec_;
};
@@ -119,7 +127,24 @@ namespace mln
return *this;
}
+ template <typename D>
+ inline
+ const std::vector<D>&
+ clock_neighb<D>::vect() const
+ {
+ return vec_;
+ }
+ template <typename D>
+ inline
+ window<D>
+ clock_neighb<D>::win() const
+ {
+ window<D> result;
+ for (unsigned i = 0; i < vec_.size(); ++i)
+ result.insert(vec_[i]);
+ return result;
+ }
# endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln
diff --git a/milena/mln/core/image/complex_neighborhood_piter.hh b/milena/mln/core/image/complex_neighborhood_piter.hh
index 4cbf7ab..6c44649 100644
--- a/milena/mln/core/image/complex_neighborhood_piter.hh
+++ b/milena/mln/core/image/complex_neighborhood_piter.hh
@@ -29,8 +29,10 @@
# define MLN_CORE_IMAGE_COMPLEX_NEIGHBORHOOD_PITER_HH
/// \file mln/core/image/complex_neighborhood_piter.hh
-/// \brief Definition of a site iterator on a complex neighborhood.
+///
+/// Definition of a site iterator on a complex neighborhood.
+# include <mln/core/concept/neighborhood.hh>
# include <mln/core/internal/site_relative_iterator_base.hh>
// FIXME: These might be factor-able, both between fwd/bkd and nbh/win.
diff --git a/milena/mln/core/image/hexa.hh b/milena/mln/core/image/hexa.hh
index 3b113ea..433907b 100644
--- a/milena/mln/core/image/hexa.hh
+++ b/milena/mln/core/image/hexa.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -30,11 +31,10 @@
# define MLN_CORE_IMAGE_HEXA_HH
-/*! \file mln/core/image/hexa.hh
- *
- * \brief Definition of a morpher that makes hexagonal the mesh of an
- * image.
- */
+/// \file mln/core/image/hexa.hh
+///
+/// Definition of a morpher that makes hexagonal the mesh of an
+/// image.
# include <mln/core/internal/image_domain_morpher.hh>
# include <mln/core/alias/point2d_h.hh>
@@ -65,7 +65,7 @@ namespace mln
namespace trait
{
-
+ /// FIXME: use the right properties.
template <typename I>
struct image_< hexa<I> > : default_image_morpher< I, mln_value(I),
hexa<I> >
@@ -77,14 +77,14 @@ namespace mln
typedef trait::image::category::domain_morpher category;
+ typedef mln_trait_image_pw_io(I) pw_io; // un-write when I const
+ typedef mln_trait_image_dimension(I) dimension;
- typedef mln_trait_image_border(I) border; // have a border only if I does.
-
- typedef mln_trait_image_io_from_(I) io; // un-write when I const
-
- typedef mln_trait_image_data_from_(I) data;
+ // Extended domain
+ typedef mln_trait_image_ext_domain(I) ext_domain; // have a border only if I does.
+ typedef mln_trait_image_ext_value(I) ext_value;
+ typedef mln_trait_image_ext_io(I) ext_io; // un-write when I const
- typedef trait::image::support::regular support;
// typedef mlc_if( I_data_are_linear_,
// trait::data::stored, // if linear then just stored
// I_data_ ) data; // otherwise like I
@@ -157,7 +157,6 @@ namespace mln
/// Test if \p p belongs to the image domain.
bool has(const psite& p) const;
- bool has(const psite& p) const;
/// Read-only access of pixel value at hexa point site \p p.
rvalue operator()(const point2d_h& p) const;
@@ -267,14 +266,6 @@ namespace mln
}
- template <typename I>
- inline
- bool
- hexa<I>::has(const psite& p) const
- {
- return this->has(p);
- }
-
# endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln
diff --git a/milena/mln/core/image/hexa_piter.hh b/milena/mln/core/image/hexa_piter.hh
index ad6f36f..222c1e5 100644
--- a/milena/mln/core/image/hexa_piter.hh
+++ b/milena/mln/core/image/hexa_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,10 +29,9 @@
#ifndef MLN_CORE_IMAGE_HEXA_PITER_HH
# define MLN_CORE_IMAGE_HEXA_PITER_HH
-/*! \file mln/core/image/hexa_piter.hh
- *
- * \brief Definition of iterators on hexagonal points.
- */
+/// \file mln/core/image/hexa_piter.hh
+///
+/// Definition of iterators on hexagonal points.
# include <mln/core/internal/piter_adaptor.hh>
@@ -42,13 +42,13 @@
namespace mln
{
- /*! \brief A generic forward iterator on points of subsets.
- *
- * Parameter \c S is a point set type; parameter F is a function
- * from point to Boolean.
- *
- * \see mln::hexa
- */
+ /// A generic forward iterator on points of subsets.
+ ///
+ /// Parameter \c S is a point set type; parameter F is a function
+ /// from point to Boolean.
+ ///
+ /// \see mln::hexa
+ ///
template <typename S>
class hexa_fwd_piter_
: public internal::piter_adaptor_< mln_fwd_piter(S),
@@ -111,9 +111,9 @@ namespace mln
void
hexa_fwd_piter_<S>::start()
{
- this->piter_.start();
- p_[0] = this->piter_[0];
- p_[1] = this->piter_[1];
+ this->pi_.start();
+ p_[0] = this->pi_[0];
+ p_[1] = this->pi_[1];
}
template <typename S>
@@ -121,9 +121,9 @@ namespace mln
void
hexa_fwd_piter_<S>::next_()
{
- this->piter_.next();
- p_[0] = this->piter_[0] * 2;
- p_[1] = this->piter_[1] * 2 + this->piter_[0] % 2;
+ this->pi_.next();
+ p_[0] = this->pi_[0] * 2;
+ p_[1] = this->pi_[1] * 2 + this->pi_[0] % 2;
}
template <typename S>
diff --git a/milena/mln/core/image/image2d.hh b/milena/mln/core/image/image2d.hh
index b58dfed..7528a51 100644
--- a/milena/mln/core/image/image2d.hh
+++ b/milena/mln/core/image/image2d.hh
@@ -30,7 +30,7 @@
# define MLN_CORE_IMAGE_IMAGE2D_HH
/// \file mln/core/image/image2d.hh
-/// \brief Definition of the basic mln::image2d class.
+/// Definition of the basic mln::image2d class.
///
/// \todo Re-activate include at EOF when make::image2d is up again.
diff --git a/milena/mln/core/image/image2d_h.hh b/milena/mln/core/image/image2d_h.hh
index e733bc9..f2ba145 100644
--- a/milena/mln/core/image/image2d_h.hh
+++ b/milena/mln/core/image/image2d_h.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,11 +29,10 @@
#ifndef MLN_CORE_IMAGE_IMAGE2D_H_HH
# define MLN_CORE_IMAGE_IMAGE2D_H_HH
-/*! \file mln/core/image/image2d_h.hh
- *
- * \brief Definition of an alias for a 2d image based on an hexagonal
- * mesh.
- */
+/// \file mln/core/image/image2d_h.hh
+///
+/// Definition of an alias for a 2d image based on an hexagonal
+/// mesh.
# include <mln/core/image/image2d.hh>
# include <mln/core/image/hexa.hh>
diff --git a/milena/mln/core/internal/neighb_niter_impl.hh b/milena/mln/core/internal/neighb_niter_impl.hh
index 868e1f8..aa0965d 100644
--- a/milena/mln/core/internal/neighb_niter_impl.hh
+++ b/milena/mln/core/internal/neighb_niter_impl.hh
@@ -32,6 +32,8 @@
///
/// Optional implementation for neigbh_niter.
+# include <mln/core/macros.hh>
+# include <mln/core/internal/force_exact.hh>
namespace mln
{
diff --git a/milena/mln/core/internal/piter_adaptor.hh b/milena/mln/core/internal/piter_adaptor.hh
index a2467dc..5c8e7be 100644
--- a/milena/mln/core/internal/piter_adaptor.hh
+++ b/milena/mln/core/internal/piter_adaptor.hh
@@ -1,4 +1,5 @@
// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,15 +29,14 @@
#ifndef MLN_CORE_INTERNAL_PITER_ADAPTOR_HH
# define MLN_CORE_INTERNAL_PITER_ADAPTOR_HH
-/*! \file mln/core/internal/piter_adaptor.hh
- *
- * \brief Definition of iterators on points of boxes.
- *
- * \todo Rename as site_iterator_adaptor_base.
- *
- * \todo Distinguish between adaptors of site_set_iterator,
- * site_relative_iterator, etc. (?)
- */
+/// \file mln/core/internal/piter_adaptor.hh
+///
+/// \brief Definition of iterators on points of boxes.
+///
+/// \todo Rename as site_iterator_adaptor_base.
+///
+/// \todo Distinguish between adaptors of site_set_iterator,
+/// site_relative_iterator, etc. (?)
# include <mln/core/internal/site_iterator_base.hh>
@@ -47,11 +47,11 @@ namespace mln
namespace internal
{
- /*! A base class for point iterator adaptors.
- *
- * Parameter \c Pi is the type of the point iterator adaptee;
- * parameter E is the exact type.
- */
+ /// A base class for point iterator adaptors.
+ ///
+ /// Parameter \c Pi is the type of the point iterator adaptee;
+ /// parameter E is the exact type.
+ ///
template <typename Pi, typename S, typename E>
class piter_adaptor_ : public internal::site_iterator_base< S, E >
{
@@ -78,7 +78,7 @@ namespace mln
/// Hook to the current location.
const mln_psite(S)& p_hook_() const;
- /// Change the site set targeted by this iterator.
+ /// Change the site set targeted by this iterator.
void change_target(const S& s);
/// Change the site set targeted by pi_. This default impl is a
@@ -166,6 +166,7 @@ namespace mln
void
piter_adaptor_<Pi,S,E>::pi_change_target_(const S& s)
{
+ this->pi_.change_target(s);
}
# endif // ! MLN_INCLUDE_ONLY
diff --git a/milena/mln/core/site_set/attic/p_complex_faces_piter.hh b/milena/mln/core/site_set/attic/p_complex_faces_piter.hh
index 936b10e..8c66788 100644
--- a/milena/mln/core/site_set/attic/p_complex_faces_piter.hh
+++ b/milena/mln/core/site_set/attic/p_complex_faces_piter.hh
@@ -37,7 +37,7 @@
# include <mln/core/site_set/p_complex.hh>
# include <mln/core/internal/p_complex_piter_base.hh>
-# include <mln/topo/attic/complex_faces_iter.hh>
+# include <mln/topo/attic/faces_iter.hh>
/* FIXME: p_complex_faces_fwd_piter_ and p_complex_faces_bkd_piter_
are really long names: find something shorter. */
@@ -61,13 +61,13 @@ namespace mln
/// mln::p_complex<D, P>.
template <unsigned N, unsigned D, typename P>
class p_complex_faces_fwd_piter_
- : public internal::p_complex_piter_base_< topo::complex_faces_fwd_iter_<N, D>,
+ : public internal::p_complex_piter_base_< topo::faces_fwd_iter_<N, D>,
p_complex<D, P>,
P,
p_complex_faces_fwd_piter_<N, D, P> >
{
typedef p_complex_faces_fwd_piter_<N, D, P> self_;
- typedef internal::p_complex_piter_base_< topo::complex_faces_fwd_iter_<N, D>,
+ typedef internal::p_complex_piter_base_< topo::faces_fwd_iter_<N, D>,
p_complex<D, P>,
P,
self_ > super_;
@@ -91,13 +91,13 @@ namespace mln
class p_complex_faces_bkd_piter_
/* FIXME: Rename internal::p_complex_piter_base_ to something else,
as it is also used for p_faces piters! */
- : public internal::p_complex_piter_base_< topo::complex_faces_bkd_iter_<N, D>,
+ : public internal::p_complex_piter_base_< topo::faces_bkd_iter_<N, D>,
p_complex<D, P>,
P,
p_complex_faces_bkd_piter_<N, D, P> >
{
typedef p_complex_faces_bkd_piter_<N, D, P> self_;
- typedef internal::p_complex_piter_base_< topo::complex_faces_bkd_iter_<N, D>,
+ typedef internal::p_complex_piter_base_< topo::faces_bkd_iter_<N, D>,
p_complex<D, P>,
P,
self_ > super_;
diff --git a/milena/mln/debug/iota.spe.hh b/milena/mln/debug/iota.spe.hh
index ea52cf4..d0d4a9b 100644
--- a/milena/mln/debug/iota.spe.hh
+++ b/milena/mln/debug/iota.spe.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,10 +29,9 @@
#ifndef MLN_DEBUG_IOTA_SPE_HH
# define MLN_DEBUG_IOTA_SPE_HH
-/*! \file mln/debug/iota.spe.hh
- *
- * \brief Specializations for mln::debug::iota.
- */
+/// \file mln/debug/iota.spe.hh
+///
+/// Specializations for mln::debug::iota.
# ifndef MLN_DEBUG_IOTA_HH
# error "Forbidden inclusion of *.spe.hh"
@@ -46,12 +46,16 @@ namespace mln
namespace debug
{
-# ifndef MLN_INCLUDE_ONLY
namespace impl
{
template <typename I>
+ void iota(trait::image::speed::fastest, I& input);
+
+# ifndef MLN_INCLUDE_ONLY
+
+ template <typename I>
inline
void
iota(trait::image::speed::fastest, I& input)
@@ -62,10 +66,10 @@ namespace mln
p.val() = ++i % mln_max(mln_value(I));
}
- } // end of namespace mln::debug::impl
-
# endif // ! MLN_INCLUDE_ONLY
+ } // end of namespace mln::debug::impl
+
} // end of namespace mln::debug
} // end of namespace mln
diff --git a/milena/mln/debug/println.spe.hh b/milena/mln/debug/println.spe.hh
index 7e8ebc7..3d1a188 100644
--- a/milena/mln/debug/println.spe.hh
+++ b/milena/mln/debug/println.spe.hh
@@ -1,4 +1,5 @@
// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,12 +29,11 @@
#ifndef MLN_DEBUG_PRINTLN_SPE_HH
# define MLN_DEBUG_PRINTLN_SPE_HH
-/*! \file mln/debug/println.spe.hh
- *
- * \brief Specializations for mln::debug::println.
- *
- * \todo Clean-up code.
- */
+/// \file mln/debug/println.spe.hh
+///
+/// Specializations for mln::debug::println.
+///
+/// \todo Clean-up code.
# ifndef MLN_DEBUG_PRINTLN_HH
# error "Forbidden inclusion of *.spe.hh"
@@ -47,19 +47,35 @@
# include <mln/level/fill.hh>
# include <mln/accu/max.hh>
+//FIXME: do not include all these headers
+# include <mln/core/alias/box2d.hh>
+# include <mln/core/alias/box2d_h.hh>
+# include <mln/core/alias/box3d.hh>
namespace mln
{
+ // Forward declaration.
+ template <typename I> class hexa;
namespace debug
{
-# ifndef MLN_INCLUDE_ONLY
-
namespace impl
{
-# ifdef MLN_CORE_SITE_SET_BOX2D_HH
+ void println(const box2d& b, const image2d<char>& input);
+
+ template <typename I>
+ void println(const box2d& b, const I& input);
+
+ template <typename I>
+ void println(const box2d_h& b, const hexa<I>& input);
+
+ template <typename I>
+ void println(const box3d& b, const I& input);
+
+
+# ifndef MLN_INCLUDE_ONLY
// 2D versions.
@@ -112,16 +128,12 @@ namespace mln
std::cout << std::endl;
}
-# endif // MLN_CORE_SITE_SET_BOX2D_HH
-
-# ifdef MLN_CORE_IMAGE_IMAGE2D_H_HH
-
// Hexa version.
template <typename I>
void
println(const box2d_h& b, const hexa<I>& input)
{
- typename hexa<I>::fwd_piter p(input.domain());
+ mln_piter(hexa<I>) p(input.domain());
int c = 1;
int r = 1;
@@ -147,11 +159,6 @@ namespace mln
std::cout << std::endl;
}
-# endif // MLN_CORE_IMAGE_IMAGE2D_H_HH
-
-
-# ifdef MLN_CORE_SITE_SET_BOX3D_HH
-
// 3D version.
template <typename I>
void
@@ -183,12 +190,10 @@ namespace mln
}
}
-# endif // MLN_CORE_SITE_SET_BOX3D_HH
+# endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln::debug::impl
-# endif // ! MLN_INCLUDE_ONLY
-
} // end of namespace mln::debug
} // end of namespace mln
diff --git a/milena/mln/debug/println_with_border.hh b/milena/mln/debug/println_with_border.hh
index 52ff01b..589f703 100644
--- a/milena/mln/debug/println_with_border.hh
+++ b/milena/mln/debug/println_with_border.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,18 +29,18 @@
#ifndef MLN_DEBUG_PRINTLN_WITH_BORDER_HH
# define MLN_DEBUG_PRINTLN_WITH_BORDER_HH
-/*! \file mln/debug/println_with_border.hh
- *
- * \brief Print an image on the standard output with its border.
- */
+/// \file mln/debug/println_with_border.hh
+///
+/// Print an image on the standard output with its border.
# include <mln/core/concept/image.hh>
# include <mln/core/concept/window.hh>
-# include <mln/debug/format.hh>
-
# include <mln/core/alias/box2d.hh>
# include <mln/core/alias/box3d.hh>
+# include <mln/geom/bbox.hh>
+
+# include <mln/debug/format.hh>
// Specializations are in:
# include <mln/debug/println_with_border.spe.hh>
@@ -65,7 +66,7 @@ namespace mln
void
println_with_border(const S&, const I& input)
{
- for (size_t i = 0; i < input.nelements(); i++)
+ for (size_t i = 0; i < input.nelements(); i++)
std::cout << format(input.buffer()[i]) << ' ';
std::cout << std::endl;
}
diff --git a/milena/mln/fun/p2p/mirror.hh b/milena/mln/fun/p2p/mirror.hh
index 5c0519c..88b1211 100644
--- a/milena/mln/fun/p2p/mirror.hh
+++ b/milena/mln/fun/p2p/mirror.hh
@@ -1,4 +1,5 @@
// Copyright (C) 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,6 +29,12 @@
#ifndef MLN_FUN_P2P_MIRROR_HH
# define MLN_FUN_P2P_MIRROR_HH
+/// \file mln/fun/p2p/mirror.hh
+///
+/// FIXME: doc
+
+# include <mln/core/concept/function.hh>
+
namespace mln
{
diff --git a/milena/mln/labeling/relabel.hh b/milena/mln/labeling/relabel.hh
index d906a38..551da6d 100644
--- a/milena/mln/labeling/relabel.hh
+++ b/milena/mln/labeling/relabel.hh
@@ -156,7 +156,7 @@ namespace mln
typedef fun::l2l::relabel<mln_value(I)> fl2l_t;
fl2l_t fl2l = make::relabelfun(fl2b, nlabels, new_nlabels);
- mln_concrete(I) output = relabel(label, nlabels, new_nlabels, fl2b);
+ mln_concrete(I) output = labeling::relabel(label, nlabels, new_nlabels, fl2l);
trace::exiting("labeling::relabel");
return output;
diff --git a/milena/mln/metal/has_neighborhood.hh b/milena/mln/metal/has_neighborhood.hh
deleted file mode 100644
index 627db43..0000000
--- a/milena/mln/metal/has_neighborhood.hh
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
-//
-// This file is part of the Olena Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License version 2 as published by the
-// Free Software Foundation.
-//
-// This library 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. See the GNU
-// General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-// Boston, MA 02111-1307, USA.
-//
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-#ifndef MLN_METAL_HAS_NEIGHBORHOOD_HH
-# define MLN_METAL_HAS_NEIGHBORHOOD_HH
-
-# include <mln/neighb/get.hh>
-
-namespace mln
-{
-
- namespace metal
- {
-
- template <typename I>
- struct has_neighborhood
- {
- static void check()
- {
- // Ensure the image has a `neighb' property.
- typedef mln_neighb(I) neighb;
- }
- };
-
- } // end of namespace mln::metal
-
-} // end of namespace mln
-
-#endif // ! MLN_METAL_HAS_NEIGHBORHOOD_HH
diff --git a/milena/mln/morpho/closing_area_on_vertices.hh b/milena/mln/morpho/closing_area_on_vertices.hh
index 6cd9a10..7af8e6e 100644
--- a/milena/mln/morpho/closing_area_on_vertices.hh
+++ b/milena/mln/morpho/closing_area_on_vertices.hh
@@ -31,10 +31,10 @@
/// \file mln/morpho/closing_area.hh
///
-/// \brief Morphological area closing on a line graph image computing
+/// Morphological area closing on a line graph image computing
/// the area in terms of adjacent vertices.
-# include <mln/core/image/line_graph_image.hh>
+# include <mln/core/site_set/p_edges.hh>
# include <mln/morpho/closing_attribute.hh>
# include <mln/accu/count_adjacent_vertices.hh>
@@ -47,22 +47,23 @@ namespace mln
/// Morphological area closing on a mln::line_graph_image computing
/// the area in terms of adjacent vertices.
- template <typename P, typename V, typename N, typename O>
- void closing_area_on_vertices(const line_graph_image<P, V>& input,
+ template <typename P2V, typename G, typename V2P, typename N, typename O>
+ void closing_area_on_vertices(const pw::image<P2V, p_edges<G, V2P> >& input,
const Neighborhood<N>& nbh,
unsigned lambda, Image<O>& output);
# ifndef MLN_INCLUDE_ONLY
- template <typename P, typename V, typename N, typename O>
+ template <typename P2V, typename G, typename V2P, typename N, typename O>
inline
- void closing_area_on_vertices(const line_graph_image<P, V>& input,
+ void closing_area_on_vertices(const pw::image<P2V, p_edges<G, V2P> >& input,
const Neighborhood<N>& nbh,
unsigned lambda, Image<O>& output)
{
mln_precondition(exact(output).domain() == exact(input).domain());
- typedef accu::count_adjacent_vertices<P, V> attribute_t;
+ typedef p_edges<G, V2P> pe_t;
+ typedef accu::count_adjacent_vertices<P2V, pe_t> attribute_t;
// FIXME: Change sig of closing_attribute!
closing_attribute<attribute_t>(input, nbh, lambda, output);
}
diff --git a/milena/mln/morpho/erosion.hh b/milena/mln/morpho/erosion.hh
index 4f750fe..053e320 100644
--- a/milena/mln/morpho/erosion.hh
+++ b/milena/mln/morpho/erosion.hh
@@ -35,8 +35,8 @@
///
/// \todo The overloads are hidden and I don't know why!
-# include <mln/morpho/includes.hh>
# include <mln/morpho/general.hh>
+# include <mln/morpho/includes.hh>
# include <mln/accu/land.hh>
# include <mln/accu/land_basic.hh>
# include <mln/accu/min.hh>
diff --git a/milena/mln/morpho/general.hh b/milena/mln/morpho/general.hh
index 72ab05d..31905f0 100644
--- a/milena/mln/morpho/general.hh
+++ b/milena/mln/morpho/general.hh
@@ -36,13 +36,17 @@
/// \todo Have infimum and supremum for value types, apart from
/// morphology!
-# include <mln/morpho/includes.hh>
+# include <mln/core/concept/image.hh>
+# include <mln/core/concept/window.hh>
+# include <mln/core/concept/neighborhood.hh>
+
+# include <mln/extension/adjust_fill.hh>
+# include <mln/accu/transform.hh>
// Specializations are in:
# include <mln/morpho/general.spe.hh>
-
# define mln_morpho_select_accu(I, S, F) \
typename mln::metal::if_< mln::metal::is< mln_trait_image_kind(I), \
trait::image::kind::binary >, \
diff --git a/milena/mln/morpho/general.spe.hh b/milena/mln/morpho/general.spe.hh
index 784c88c..0ce2112 100644
--- a/milena/mln/morpho/general.spe.hh
+++ b/milena/mln/morpho/general.spe.hh
@@ -39,6 +39,11 @@
# include <mln/win/octagon2d.hh>
# include <mln/win/rectangle2d.hh>
+# include <mln/accu/transform_directional.hh>
+# include <mln/accu/transform_snake.hh>
+# include <mln/accu/transform_stop.hh>
+# include <mln/accu/transform_diagonal.hh>
+
# include <mln/accu/min_h.hh>
# include <mln/accu/line.hh>
diff --git a/milena/mln/morpho/hit_or_miss.hh b/milena/mln/morpho/hit_or_miss.hh
index 38bb1d5..55f08ac 100644
--- a/milena/mln/morpho/hit_or_miss.hh
+++ b/milena/mln/morpho/hit_or_miss.hh
@@ -58,8 +58,8 @@ namespace mln
*/
template <typename I, typename Wh, typename Wm>
mln_concrete(I)
- hit_or_miss(const Image<I>& input,
- const Window<Wh>& win_hit, const Window<Wm>& win_miss);
+ hit_or_miss(const Image<I>& input,
+ const Window<Wh>& win_hit, const Window<Wm>& win_miss);
/// Morphological hit-or-miss opening.
@@ -68,8 +68,8 @@ namespace mln
*/
template <typename I, typename Wh, typename Wm>
mln_concrete(I)
- hit_or_miss_opening(const Image<I>& input,
- const Window<Wh>& win_hit, const Window<Wm>& win_miss);
+ hit_or_miss_opening(const Image<I>& input,
+ const Window<Wh>& win_hit, const Window<Wm>& win_miss);
/// Morphological hit-or-miss opening of the background.
@@ -78,8 +78,8 @@ namespace mln
*/
template <typename I, typename Wh, typename Wm>
mln_concrete(I)
- hit_or_miss_background_opening(const Image<I>& input,
- const Window<Wh>& win_hit, const Window<Wm>& win_miss);
+ hit_or_miss_background_opening(const Image<I>& input,
+ const Window<Wh>& win_hit, const Window<Wm>& win_miss);
/// Morphological hit-or-miss closing.
@@ -88,8 +88,8 @@ namespace mln
*/
template <typename I, typename Wh, typename Wm>
mln_concrete(I)
- hit_or_miss_closing(const Image<I>& input,
- const Window<Wh>& win_hit, const Window<Wm>& win_miss);
+ hit_or_miss_closing(const Image<I>& input,
+ const Window<Wh>& win_hit, const Window<Wm>& win_miss);
/// Morphological hit-or-miss closing of the background.
@@ -98,8 +98,8 @@ namespace mln
*/
template <typename I, typename Wh, typename Wm>
mln_concrete(I)
- hit_or_miss_background_closing(const Image<I>& input,
- const Window<Wh>& win_hit, const Window<Wm>& win_miss);
+ hit_or_miss_background_closing(const Image<I>& input,
+ const Window<Wh>& win_hit, const Window<Wm>& win_miss);
@@ -123,7 +123,6 @@ namespace mln
// Tests.
mln_precondition(input.has_data());
- mln_precondition(win_hit.is_centered());
mln_precondition((win_hit && win_miss).is_empty());
// Avoid warnings.
@@ -138,111 +137,155 @@ namespace mln
namespace impl
{
-
- // Preconditions.
+ // On sets.
template <typename I, typename Wh, typename Wm>
inline
- void hit_or_miss_preconditions_(const Image<I>& input_,
- const Window<Wh>& win_hit_,
- const Window<Wm>& win_miss_)
+ mln_concrete(I)
+ hit_or_miss_logic(const Image<I>& input,
+ const Window<Wh>& win_hit,
+ const Window<Wm>& win_miss)
{
- const I& input = exact(input_);
- const Wh& win_hit = exact(win_hit_);
- const Wm& win_miss = exact(win_miss_);
- mln_precondition(input.has_data());
- mln_precondition((win_hit && win_miss).is_empty());
+ trace::entering("morpho::impl::hit_or_miss_logic");
+ internal::hit_or_miss_tests(input, win_hit, win_miss);
+
+ mln_concrete(I) output = logical::and_(erosion(input, win_hit),
+ erosion(complementation(input),
+ win_miss));
+
+ trace::exiting("morpho::impl::hit_or_miss_logic");
+ return output;
}
- // On sets.
- template <typename I, typename Wh, typename Wm>
- inline
- mln_concrete(I)
- hit_or_miss_(trait::image::kind::logic,
- const I& input,
- const Wh& win_hit, const Wm& win_miss)
+ namespace generic
{
- return logical::and_(erosion(input, win_hit),
- erosion(complementation(input), win_miss));
- }
+ // On functions.
- // On functions.
+ template <typename I, typename Wh, typename Wm>
+ inline
+ mln_concrete(I)
+ hit_or_miss(const Image<I>& input_,
+ const Window<Wh>& win_hit_,
+ const Window<Wm>& win_miss_)
+ {
+ trace::entering("morpho::impl::generic::hit_or_miss");
+ internal::hit_or_miss_tests(input_, win_hit_, win_miss_);
- template <typename I, typename Wh, typename Wm>
- inline
- mln_concrete(I)
- hit_or_miss_(trait::image::kind::any,
- const I& input,
- const Wh& win_hit, const Wm& win_miss)
- {
- typedef mln_value(I) V;
- mln_value(I) zero_V = literal::zero;
+ const I& input = exact(input_);
+ const Wh& win_hit = exact(win_hit_);
+ const Wm& win_miss = exact(win_miss_);
+
+ typedef mln_value(I) V;
+ mln_value(I) zero_V = literal::zero;
- mln_concrete(I) output;
- initialize(output, input);
+ mln_concrete(I) output;
+ initialize(output, input);
- if (constrained_hit_or_miss) // CHMT.
+ if (constrained_hit_or_miss) // CHMT.
{
if (win_hit.is_centered())
- {
- mln_concrete(I)
- ero_fg = erosion(input, win_hit),
- dil_bg = dilation(input, win_miss);
- level::fill(output,
- fun::p2v::ternary(pw::value(input) == pw::value(ero_fg)
- && pw::value(dil_bg) < pw::value(input),
- fun::cast<V>(pw::value(input) - pw::value(dil_bg)),
- pw::cst(zero_V)));
- }
+ {
+ mln_concrete(I)
+ ero_fg = erosion(input, win_hit),
+ dil_bg = dilation(input, win_miss);
+ level::fill(output,
+ fun::p2v::ternary(pw::value(input) == pw::value(ero_fg)
+ && pw::value(dil_bg) < pw::value(input),
+ fun::cast<V>(pw::value(input) - pw::value(dil_bg)),
+ pw::cst(zero_V)));
+ }
else if (win_miss.is_centered())
- {
- mln_concrete(I)
- ero_bg = erosion(input, win_miss),
- dil_fg = dilation(input, win_hit);
- level::fill(output,
- fun::p2v::ternary(pw::value(input) == pw::value(dil_fg)
- && pw::value(ero_bg) > pw::value(input),
- fun::cast<V>(pw::value(ero_bg) - pw::value(input)),
- pw::cst(zero_V)));
- }
+ {
+ mln_concrete(I)
+ ero_bg = erosion(input, win_miss),
+ dil_fg = dilation(input, win_hit);
+ level::fill(output,
+ fun::p2v::ternary(pw::value(input) == pw::value(dil_fg)
+ && pw::value(ero_bg) > pw::value(input),
+ fun::cast<V>(pw::value(ero_bg) - pw::value(input)),
+ pw::cst(zero_V)));
+ }
else
level::fill(output, zero_V);
}
- else // Unconstrained: UHMT.
+ else // Unconstrained: UHMT.
{
mln_concrete(I)
ero = erosion(input, win_hit),
dil = dilation(input, win_miss);
level::fill(output,
fun::p2v::ternary(pw::value(dil) < pw::value(ero),
- fun::cast<V>(pw::value(ero) - pw::value(dil)),
- pw::cst(zero_V)));
+ fun::cast<V>(pw::value(ero) - pw::value(dil)),
+ pw::cst(zero_V)));
}
- return output;
- }
+ trace::exiting("morpho::impl::generic::hit_or_miss");
+ return output;
+ }
+ } // end of namespace mln::morpho::impl::generic
} // end of mln::morpho::impl
+ namespace internal
+ {
+
+ template <typename I, typename Wh, typename Wm>
+ inline
+ mln_concrete(I)
+ hit_or_miss_dispatch(trait::image::kind::any,
+ const Image<I>& input,
+ const Window<Wh>& win_hit,
+ const Window<Wm>& win_miss)
+ {
+ return impl::generic::hit_or_miss(input, win_hit, win_miss);
+ }
+
+ template <typename I, typename Wh, typename Wm>
+ inline
+ mln_concrete(I)
+ hit_or_miss_dispatch(trait::image::kind::logic,
+ const Image<I>& input,
+ const Window<Wh>& win_hit,
+ const Window<Wm>& win_miss)
+ {
+ return impl::hit_or_miss_logic(input, win_hit, win_miss);
+ }
+
+
+ template <typename I, typename Wh, typename Wm>
+ inline
+ mln_concrete(I)
+ hit_or_miss_dispatch(const Image<I>& input,
+ const Window<Wh>& win_hit,
+ const Window<Wm>& win_miss)
+ {
+ return hit_or_miss_dispatch(mln_trait_image_kind(I)(),
+ exact(input),
+ exact(win_hit),
+ exact(win_miss));
+ }
+
+ } // end of namespace mln::morpho::internal
+
template <typename I, typename Wh, typename Wm>
inline
mln_concrete(I)
- hit_or_miss(const Image<I>& input,
- const Window<Wh>& win_hit, const Window<Wm>& win_miss)
+ hit_or_miss(const Image<I>& input,
+ const Window<Wh>& win_hit,
+ const Window<Wm>& win_miss)
{
trace::entering("morpho::hit_or_miss");
internal::hit_or_miss_tests(input, win_hit, win_miss);
- mln_concrete(I) output = impl::hit_or_miss_(mln_trait_image_kind(I)(),
- exact(input),
- exact(win_hit), exact(win_miss));
-
+ mln_concrete(I) output = internal::hit_or_miss_dispatch(input,
+ win_hit,
+ win_miss);
trace::exiting("morpho::hit_or_miss");
return output;
}
@@ -251,14 +294,17 @@ namespace mln
template <typename I, typename Wh, typename Wm>
inline
mln_concrete(I)
- hit_or_miss_opening(const Image<I>& input,
- const Window<Wh>& win_hit, const Window<Wm>& win_miss)
+ hit_or_miss_opening(const Image<I>& input,
+ const Window<Wh>& win_hit,
+ const Window<Wm>& win_miss)
{
trace::entering("morpho::hit_or_miss_opening");
internal::hit_or_miss_tests(input, win_hit, win_miss);
- mln_concrete(I) output = dilation( hit_or_miss(input, win_hit, win_miss),
- win::sym(win_hit) );
+ mln_concrete(I) output = dilation(internal::hit_or_miss_dispatch(input,
+ win_hit,
+ win_miss),
+ win::sym(win_hit));
trace::exiting("morpho::hit_or_miss_opening");
return output;
@@ -268,16 +314,21 @@ namespace mln
template <typename I, typename Wh, typename Wm>
inline
mln_concrete(I)
- hit_or_miss_background_opening(const Image<I>& input,
- const Window<Wh>& win_hit, const Window<Wm>& win_miss)
+ hit_or_miss_background_opening(const Image<I>& input,
+ const Window<Wh>& win_hit,
+ const Window<Wm>& win_miss)
{
trace::entering("morpho::hit_or_miss_background_opening");
internal::hit_or_miss_tests(input, win_hit, win_miss);
- mln_concrete(I) output = hit_or_miss_opening(complementation(input), win_miss, win_hit);
+ mln_concrete(I) output = hit_or_miss_opening(complementation(input),
+ win_miss,
+ win_hit);
- mln_postcondition( dilation( hit_or_miss(input, win_hit, win_miss),
- win::sym(win_miss) ) == output);
+ mln_postcondition(dilation(internal::hit_or_miss_dispatch(input,
+ win_hit,
+ win_miss),
+ win::sym(win_miss)) == output);
trace::exiting("morpho::hit_or_miss_background_opening");
return output;
}
@@ -286,14 +337,16 @@ namespace mln
template <typename I, typename Wh, typename Wm>
inline
mln_concrete(I)
- hit_or_miss_closing(const Image<I>& input,
- const Window<Wh>& win_hit, const Window<Wm>& win_miss)
+ hit_or_miss_closing(const Image<I>& input,
+ const Window<Wh>& win_hit,
+ const Window<Wm>& win_miss)
{
trace::entering("morpho::hit_or_miss_closing");
internal::hit_or_miss_tests(input, win_hit, win_miss);
- mln_concrete(I) output = complementation( hit_or_miss_opening( complementation(input),
- win_hit, win_miss ) );
+ mln_concrete(I) output =
+ complementation(hit_or_miss_opening(complementation(input),
+ win_hit, win_miss));
// FIXME: Postcondition.
trace::exiting("morpho::hit_or_miss_closing");
@@ -304,16 +357,18 @@ namespace mln
template <typename I, typename Wh, typename Wm>
inline
mln_concrete(I)
- hit_or_miss_background_closing(const Image<I>& input,
- const Window<Wh>& win_hit, const Window<Wm>& win_miss)
+ hit_or_miss_background_closing(const Image<I>& input,
+ const Window<Wh>& win_hit,
+ const Window<Wm>& win_miss)
{
trace::entering("morpho::hit_or_miss_background_closing");
internal::hit_or_miss_tests(input, win_hit, win_miss);
mln_concrete(I) output = hit_or_miss_closing(input, win_miss, win_hit);
- mln_postcondition( complementation( hit_or_miss_background_opening( complementation(input),
- win_hit, win_miss ) ) == output );
+ mln_postcondition(complementation(hit_or_miss_background_opening(
+ complementation(input),
+ win_hit, win_miss)) == output);
trace::exiting("morpho::hit_or_miss_background_closing");
return output;
}
diff --git a/milena/mln/morpho/line_gradient.hh b/milena/mln/morpho/line_gradient.hh
index f9b32b2..1d0128a 100644
--- a/milena/mln/morpho/line_gradient.hh
+++ b/milena/mln/morpho/line_gradient.hh
@@ -1,4 +1,5 @@
// Copyright (C) 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -29,7 +30,8 @@
# define MLN_MORPHO_LINE_GRADIENT_HH
/// \file mln/morpho/line_gradient.hh
-/// \brief Conversions to mln::line_graph_image.
+///
+/// Conversions to mln::line_graph_image.
# include <functional>
@@ -42,7 +44,11 @@
# include <mln/core/image/image2d.hh>
# include <mln/core/alias/window2d.hh>
-# include <mln/core/image/line_graph_image.hh>
+
+# include <mln/core/site_set/p_edges.hh>
+
+# include <mln/util/graph.hh>
+# include <mln/util/site_pair.hh>
// FIXME: Generalize to other (input) images as well (image1d,
// image3d, etc.).
@@ -53,68 +59,67 @@ namespace mln
namespace morpho
{
- /// \brief Create a line graph image representing the gradient
+ /// Create a line graph image representing the gradient
/// norm of a mln::image2d.
/* FIXME: Currently, the adjacency is set to 4-c and cannot be
changed. */
- template <typename T>
- mln::line_graph_image<mln::point2d, T>
- line_gradient(const mln::image2d<T>& ima);
+ template <typename F, typename S>
+ mln::pw::image<F, S>
+ line_gradient(const mln::image2d<mln_result(F)>& ima);
# ifndef MLN_INCLUDE_ONLY
- template <typename T>
- mln::line_graph_image<mln::point2d, T>
- line_gradient(const mln::image2d<T>& ima)
+ template <typename F, typename S>
+ mln::pw::image<F, S>
+ line_gradient(const mln::image2d<mln_result(F)>& ima)
{
// FIXME: Precondition: Ensure the image is scalar.
- typedef T value_t;
+ typedef mln_result(F) value_t;
- util::graph<mln::point2d> g;
-
- // Points.
- /* FIXME: The need for such a structure during the conversion
- exhibits the lack of a service from util::graph (or a another,
- missing tool) regarding the retrieval of vertices' ids from
- points. */
- std::map< mln::point2d, util::vertex_id, util::ord<point2d> > points;
+ util::graph g;
// Vertices.
- std::vector<value_t> vertex_values;
+ image2d<unsigned> vpsite(ima.domain());
+ fun::i2v::array<mln::point2d> fv2p(ima.domain().nsites());
+ fun::i2v::array<value_t> vertex_values(ima.domain().nsites());
+
mln_fwd_piter(image2d<value_t>) p(ima.domain());
for_all (p)
{
- util::vertex_id id = g.add_vertex (p);
- vertex_values.push_back (ima(p));
- points[p] = id;
+ g.add_vertex();
+ unsigned id = g.v_nmax() - 1;
+ vpsite[p] = id;
+ fv2p(id) = p;
}
// Edges.
// FIXME: The creation of this window should be generic.
window2d next_c4_win;
next_c4_win.insert(0, 1).insert(1, 0);
- std::vector<value_t> edge_values;
- mln_fwd_qiter_(window2d) q(next_c4_win, p);
+ typedef fun::i2v::array<value_t> edge_values_t;
+ typedef fun::i2v::array< util::site_pair<point2d> > edge_sites_t;
+ edge_values_t edge_values;
+ edge_sites_t edge_sites;
+ mln_fwd_qiter_(window2d) q(next_c4_win, p);
for_all (p)
for_all (q)
if (ima.domain().has(q))
{
- util::edge_id id = g.add_edge(points[p], points[q]);
- // Avoid a warning about an undefined variable when NDEBUG
- // is not defined.
- (void) id;
+ g.add_edge(vpsite(p), vpsite(q));
// The computed value is a norm of the gradient between P and Q.
- edge_values.push_back(math::abs(ima(p) - ima(q)));
- mln_assertion(id != mln_max(util::edge_id::equiv));
+ unsigned edge_id = edge_values.size();
+ edge_values.resize(edge_values.size() + 1);
+ edge_values(edge_id) = math::abs(ima(p) - ima(q));
}
// Line graph point set.
- p_line_graph<mln::point2d> plg(g);
+ typedef p_edges<util::graph, edge_sites_t> pe_t;
+ pe_t plg(g, edge_sites);
// Line graph image.
- typedef line_graph_image<mln::point2d, value_t> ima_t;
- ima_t lg_ima(plg, vertex_values, edge_values);
+ typedef pw::image<edge_values_t, pe_t> ima_t;
+ ima_t lg_ima = (edge_values | plg);
return lg_ima;
}
diff --git a/milena/mln/morpho/opening_area_on_vertices.hh b/milena/mln/morpho/opening_area_on_vertices.hh
index d6e7234..b8e420e 100644
--- a/milena/mln/morpho/opening_area_on_vertices.hh
+++ b/milena/mln/morpho/opening_area_on_vertices.hh
@@ -30,10 +30,12 @@
# define MLN_MORPHO_OPENING_AREA_ON_VERTICES_HH
/// \file mln/morpho/opening_area_on_vertices.hh
-/// \brief Morphological area opening on a line graph image computing
+///
+/// Morphological area opening on a line graph image computing
/// the area in terms of adjacent vertices.
-# include <mln/core/image/line_graph_image.hh>
+# include <mln/pw/image.hh>
+# include <mln/core/site_set/p_edges.hh>
# include <mln/morpho/opening_attribute.hh>
# include <mln/accu/count_adjacent_vertices.hh>
@@ -46,22 +48,23 @@ namespace mln
/// Morphological area opening on a mln::line_graph_image computing
/// the area in terms of adjacent vertices.
- template <typename P, typename V, typename N, typename O>
- void opening_area_on_vertices(const line_graph_image<P, V>& input,
+ template <typename P2V, typename G, typename V2P, typename N, typename O>
+ void opening_area_on_vertices(const pw::image<P2V, p_edges<G, V2P> >& input,
const Neighborhood<N>& nbh,
unsigned lambda, Image<O>& output);
# ifndef MLN_INCLUDE_ONLY
- template <typename P, typename V, typename N, typename O>
+ template <typename P2V, typename G, typename V2P, typename N, typename O>
inline
- void opening_area_on_vertices(const line_graph_image<P, V>& input,
+ void opening_area_on_vertices(const pw::image<P2V, p_edges<G, V2P> >& input,
const Neighborhood<N>& nbh,
unsigned lambda, Image<O>& output)
{
mln_precondition(exact(output).domain() == exact(input).domain());
- typedef accu::count_adjacent_vertices<P, V> attribute_t;
+ typedef p_edges<G, V2P> pe_t;
+ typedef accu::count_adjacent_vertices<P2V, pe_t> attribute_t;
// FIXME: Change sig of opening_attribute!
opening_attribute<attribute_t>(input, nbh, lambda, output);
}
diff --git a/milena/mln/registration/internal/rms.hh b/milena/mln/registration/internal/rms.hh
index f5b8579..375ff79 100644
--- a/milena/mln/registration/internal/rms.hh
+++ b/milena/mln/registration/internal/rms.hh
@@ -28,6 +28,7 @@
#ifndef MLN_REGISTRATION_INTERNAL_RMS_HH
# define MLN_REGISTRATION_INTERNAL_RMS_HH
+# include <mln/norm/l2.hh>
# include <mln/core/site_set/p_array.hh>
namespace mln
diff --git a/milena/mln/subsampling/gaussian_subsampling.hh b/milena/mln/subsampling/gaussian_subsampling.hh
index b4aa2e0..4e20a1b 100644
--- a/milena/mln/subsampling/gaussian_subsampling.hh
+++ b/milena/mln/subsampling/gaussian_subsampling.hh
@@ -52,7 +52,7 @@ namespace mln
template <typename I>
inline
mln_concrete(I)
- gaussian_subsampling(const Image<I>& input, float sigma
+ gaussian_subsampling(const Image<I>& input, float sigma,
const mln_dpsite(I)& first_p,
const mln_deduce(I, site, coord)& gap);
diff --git a/milena/mln/topo/adj_higher_face_iter.hh b/milena/mln/topo/adj_higher_face_iter.hh
index e51d678..0cac258 100644
--- a/milena/mln/topo/adj_higher_face_iter.hh
+++ b/milena/mln/topo/adj_higher_face_iter.hh
@@ -29,7 +29,8 @@
# define MLN_TOPO_ADJ_HIGHER_FACE_ITER_HH
/// \file mln/topo/adj_higher_face_iter.hh
-/// \brief Definition of forward and backward iterators on the
+///
+/// Definition of forward and backward iterators on the
/// adjacent (n+1)-faces of a (reference) n-face in a complex.
# include <mln/topo/internal/complex_relative_iterator_base.hh>
@@ -42,9 +43,17 @@ namespace mln
namespace topo
{
- // Forward declaration.
+ // Forward declarations.
template <unsigned D> class complex;
+ namespace internal
+ {
+
+ template <typename F, typename E>
+ class complex_iterator_base;
+
+ } // end of namespace mln::topo::internal
+
/*------------------------------------.
| topo::adj_higher_face_fwd_iter<D>. |
diff --git a/milena/mln/topo/adj_lower_face_iter.hh b/milena/mln/topo/adj_lower_face_iter.hh
index 88cc8f2..23bcc36 100644
--- a/milena/mln/topo/adj_lower_face_iter.hh
+++ b/milena/mln/topo/adj_lower_face_iter.hh
@@ -29,7 +29,7 @@
# define MLN_TOPO_ADJ_LOWER_FACE_ITER_HH
/// \file mln/topo/adj_lower_face_iter.hh
-/// \brief Definition of forward and backward iterators on the
+/// Definition of forward and backward iterators on the
/// adjacent (n-1)-faces of a (reference) n-face in a complex.
# include <mln/topo/internal/complex_relative_iterator_base.hh>
@@ -42,15 +42,26 @@ namespace mln
namespace topo
{
- // Forward declaration.
+ // Forward declarations.
template <unsigned D> class complex;
+ namespace internal
+ {
+
+ template <typename C, typename F, typename E>
+ class forward_complex_relative_iterator_base;
+
+ template <typename C, typename F, typename E>
+ class backward_complex_relative_iterator_base;
+
+ } // end of namespace mln::topo::internal
+
/*-----------------------------------.
| topo::adj_lower_face_fwd_iter<D>. |
`-----------------------------------*/
- /// \brief Forward iterator on all the adjacent (n-1)-faces of the
+ /// Forward iterator on all the adjacent (n-1)-faces of the
/// n-face of an mln::complex<D>.
///
/// \arg \p D The dimension of the complex this iterator belongs to.
@@ -83,7 +94,7 @@ namespace mln
| topo::adj_lower_face_bkd_iter<D>. |
`-----------------------------------*/
- /// \brief Backward iterator on all the adjacent (n-1)-faces of the
+ /// Backward iterator on all the adjacent (n-1)-faces of the
/// n-face of an mln::complex<D>.
///
/// \arg \p D The dimension of the complex this iterator belongs to.
diff --git a/milena/mln/topo/adj_lower_higher_face_iter.hh b/milena/mln/topo/adj_lower_higher_face_iter.hh
index dcd11c2..f3c28c3 100644
--- a/milena/mln/topo/adj_lower_higher_face_iter.hh
+++ b/milena/mln/topo/adj_lower_higher_face_iter.hh
@@ -29,7 +29,8 @@
# define MLN_TOPO_ADJ_LOWER_HIGHER_FACE_ITER_HH
/// \file mln/topo/adj_lower_higher_face_iter.hh
-/// \brief Definition of forward and backward iterators on all the
+///
+/// Definition of forward and backward iterators on all the
/// adjacent (n-1)-faces and (n+1)-faces of a (reference) n-face in a
/// complex.
@@ -47,12 +48,20 @@ namespace mln
// Forward declaration.
template <unsigned D> class complex;
+ namespace internal
+ {
+
+ template <typename I1, typename I2, typename E>
+ class complex_relative_iterator_sequence;
+
+ } // end of namespace mln::topo::internal
+
/*------------------------------------------.
| topo::adj_lower_higher_face_fwd_iter<D>. |
`------------------------------------------*/
- /// \brief Forward iterator on all the adjacent (n-1)-faces and
+ /// Forward iterator on all the adjacent (n-1)-faces and
/// (n+1)-faces of the n-face of an mln::complex<D>.
///
/// \arg \p D The dimension of the complex this iterator belongs to.
@@ -83,7 +92,7 @@ namespace mln
| topo::adj_lower_higher_face_bkd_iter<D>. |
`------------------------------------------*/
- /// \brief Forward iterator on all the adjacent (n-1)-faces and
+ /// Forward iterator on all the adjacent (n-1)-faces and
/// (n+1)-faces of the n-face of an mln::complex<D>.
///
/// \arg \p D The dimension of the complex this iterator belongs to.
diff --git a/milena/mln/topo/algebraic_face.hh b/milena/mln/topo/algebraic_face.hh
index 1c666ac..03768f8 100644
--- a/milena/mln/topo/algebraic_face.hh
+++ b/milena/mln/topo/algebraic_face.hh
@@ -29,9 +29,11 @@
# define MLN_TOPO_ALGEBRAIC_FACE_HH
/// \file mln/topo/algebraic_face.hh
-/// \brief Algebraic face of a complex.
+///
+/// Algebraic face of a complex.
#include <mln/topo/face.hh>
+#include <mln/topo/algebraic_n_face.hh>
namespace mln
@@ -44,13 +46,13 @@ namespace mln
template <unsigned D> class complex;
template <unsigned N, unsigned D> class n_face;
template <unsigned N, unsigned D> class face_data;
-
+
/*-------.
| Face. |
`-------*/
- /// \brief Algebraic face handle in a complex; the face dimension
+ /// Algebraic face handle in a complex; the face dimension
/// is dynamic.
///
/// Contrary to an mln::topo::algebraic_n_face, the dimension of an
@@ -111,7 +113,7 @@ namespace mln
/// Comparison of two instances of mln::topo::algebraic_face.
/// \{
- /// \brief Is \a lhs equal to \a rhs?
+ /// Is \a lhs equal to \a rhs?
///
/// \pre Arguments \a lhs and \a rhs must belong to the same
/// mln::topo::complex.
@@ -119,7 +121,7 @@ namespace mln
bool operator==(const algebraic_face<D>& lhs,
const algebraic_face<D>& rhs);
- /// \brief Is \a lhs different from \a rhs?
+ /// Is \a lhs different from \a rhs?
///
/// \pre Arguments \a lhs and \a rhs must belong to the same
/// mln::topo::complex.
@@ -127,7 +129,7 @@ namespace mln
bool operator!=(const algebraic_face<D>& lhs,
const algebraic_face<D>& rhs);
- /// \brief Is \a lhs ``less'' than \a rhs?
+ /// Is \a lhs ``less'' than \a rhs?
///
/// This comparison is required by algorithms sorting algebraic
/// face handles.
diff --git a/milena/mln/topo/all.hh b/milena/mln/topo/all.hh
index 2d06897..8f61744 100644
--- a/milena/mln/topo/all.hh
+++ b/milena/mln/topo/all.hh
@@ -1,4 +1,5 @@
// Copyright (C) 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,10 +29,9 @@
#ifndef MLN_TOPO_ALL_HH
# define MLN_TOPO_ALL_HH
-/*! \file mln/topo/all.hh
- *
- * \brief File that includes all "point-wise" expression tools.
- */
+/// \file mln/topo/all.hh
+///
+/// File that includes all topology related algorithms.
namespace mln
@@ -42,22 +42,21 @@ namespace mln
} // end of namespace mln
-
-# include <mln/core/topo/adj_higher_dim_connected_n_face_iter.hh>
-# include <mln/core/topo/adj_higher_face_iter.hh>
-# include <mln/core/topo/adj_lower_dim_connected_n_face_iter.hh>
-# include <mln/core/topo/adj_lower_face_iter.hh>
-# include <mln/core/topo/adj_lower_higher_face_iter.hh>
-# include <mln/core/topo/center_only_iter.hh>
-# include <mln/core/topo/centered_iter_adapter.hh>
-# include <mln/core/topo/complex.hh>
-# include <mln/core/topo/complex_iterators.hh>
-# include <mln/core/topo/face.hh>
-# include <mln/core/topo/face_data.hh>
-# include <mln/core/topo/face_iter.hh>
-# include <mln/core/topo/n_face.hh>
-# include <mln/core/topo/n_face_iter.hh>
-# include <mln/core/topo/n_faces_set.hh>
-# include <mln/core/topo/static_n_face_iter>
+# include <mln/topo/attic/faces_iter.hh>
+# include <mln/topo/adj_higher_dim_connected_n_face_iter.hh>
+# include <mln/topo/adj_higher_face_iter.hh>
+# include <mln/topo/adj_lower_dim_connected_n_face_iter.hh>
+# include <mln/topo/adj_lower_face_iter.hh>
+# include <mln/topo/adj_lower_higher_face_iter.hh>
+# include <mln/topo/center_only_iter.hh>
+# include <mln/topo/centered_iter_adapter.hh>
+# include <mln/topo/complex.hh>
+# include <mln/topo/complex_iterators.hh>
+# include <mln/topo/face.hh>
+# include <mln/topo/face_data.hh>
+# include <mln/topo/face_iter.hh>
+# include <mln/topo/n_face.hh>
+# include <mln/topo/n_face_iter.hh>
+# include <mln/topo/n_faces_set.hh>
#endif // ! MLN_TOPO_ALL_HH
diff --git a/milena/mln/topo/face_iter.hh b/milena/mln/topo/face_iter.hh
index 4030594..a9b2665 100644
--- a/milena/mln/topo/face_iter.hh
+++ b/milena/mln/topo/face_iter.hh
@@ -45,9 +45,17 @@ namespace mln
namespace topo
{
- // Forward declaration.
+ // Forward declarations.
template <unsigned D> class complex;
+ namespace internal
+ {
+
+ template <typename F, typename E>
+ class complex_set_iterator_base;
+
+ } // end of namespace mln::topo::internal
+
/*-------------------------.
| topo::face_fwd_iter<D>. |
diff --git a/milena/mln/topo/internal/complex_iterator_base.hh b/milena/mln/topo/internal/complex_iterator_base.hh
index ceb86f3..cd98fba 100644
--- a/milena/mln/topo/internal/complex_iterator_base.hh
+++ b/milena/mln/topo/internal/complex_iterator_base.hh
@@ -21,7 +21,7 @@
// file, or you compile this file and link it with other files to
// produce an executable, this file does not by itself cause the
// resulting executable to be covered by the GNU General Public
-// License.
+// License.
// reasons why the executable file might be covered by the GNU General
// Public License.
@@ -29,7 +29,7 @@
# define MLN_TOPO_INTERNAL_COMPLEX_ITERATOR_BASE_HH
/** \file mln/topo/internal/complex_iterator_base.hh
- \brief Definition of an implementation (factoring) class for
+ Definition of an implementation (factoring) class for
iterators on complexes.
Concrete iterators should inherit either from
@@ -69,7 +69,7 @@ namespace mln
namespace internal
{
- /// \brief Factoring class for iterators on mln::complex.
+ /// Factoring class for iterators on mln::complex.
///
/// \arg \p F The type of the face handle.
/// \arg \p E The type exact type of the iterator.
@@ -82,7 +82,7 @@ namespace mln
/// The type of the iterated faces.
typedef F face;
- /// \brief Conversion.
+ /// Conversion.
///
/// Return a reference to the corresponding face handle.
/// \{
diff --git a/milena/mln/topo/internal/complex_relative_iterator_base.hh b/milena/mln/topo/internal/complex_relative_iterator_base.hh
index 4925952..c795043 100644
--- a/milena/mln/topo/internal/complex_relative_iterator_base.hh
+++ b/milena/mln/topo/internal/complex_relative_iterator_base.hh
@@ -21,7 +21,7 @@
// file, or you compile this file and link it with other files to
// produce an executable, this file does not by itself cause the
// resulting executable to be covered by the GNU General Public
-// License.
+// License.
// reasons why the executable file might be covered by the GNU General
// Public License.
@@ -29,7 +29,7 @@
# define MLN_TOPO_INTERNAL_COMPLEX_RELATIVE_ITERATOR_BASE_HH
/** \file mln/topo/internal/complex_relative_iterator_base.hh
- \brief Definition of an implementation (factoring) class for
+ Definition of an implementation (factoring) class for
iterators on mln::complex.
The hierarchy of classes in this file is as follows
@@ -68,11 +68,16 @@ namespace mln
namespace internal
{
+ // Forward declaration.
+ template <typename F, typename E>
+ class complex_iterator_base;
+
+
/*----------------------------------------------------------.
| topo::internal::complex_relative_iterator_base<C, F, E>. |
`----------------------------------------------------------*/
- /// \brief Factoring class for relative iterators on mln::complex.
+ /// Factoring class for relative iterators on mln::complex.
///
/// \arg \p C The type of the center face handle.
/// \arg \p F The type of the face handle.
@@ -124,7 +129,7 @@ namespace mln
| topo::internal::forward_complex_relative_iterator_base<C, F, E>. |
`------------------------------------------------------------------*/
- /// \brief Factoring class for forward relative iterators on
+ /// Factoring class for forward relative iterators on
/// mln::complex.
///
/// \arg \p C The type of the center face handle.
@@ -175,7 +180,7 @@ namespace mln
| topo::internal::backward_complex_relative_iterator_base<C, F, E>. |
`-------------------------------------------------------------------*/
- /// \brief Factoring class for backward relative iterators on
+ /// Factoring class for backward relative iterators on
/// mln::complex.
///
/// \arg \p C The type of the center face handle.
diff --git a/milena/mln/topo/internal/complex_relative_iterator_sequence.hh b/milena/mln/topo/internal/complex_relative_iterator_sequence.hh
index 57b4843..c3574d0 100644
--- a/milena/mln/topo/internal/complex_relative_iterator_sequence.hh
+++ b/milena/mln/topo/internal/complex_relative_iterator_sequence.hh
@@ -29,7 +29,8 @@
# define MLN_TOPO_INTERNAL_COMPLEX_RELATIVE_ITERATOR_SEQUENCE_HH
/// \file mln/topo/internal/complex_relative_iterator_sequence.hh
-/// \brief Definition of a meta complex relative iterator using two
+///
+/// Definition of a meta complex relative iterator using two
/// complex relative iterators sequentially.
# include <iosfwd>
@@ -48,7 +49,7 @@ namespace mln
namespace internal
{
- /// \brief A meta relative iterator on the faces of a complex
+ /// A meta relative iterator on the faces of a complex
/// using two complex relative iterators sequentially.
///
/// The first relative iterator is used, and when it becomes
diff --git a/milena/mln/topo/internal/complex_set_iterator_base.hh b/milena/mln/topo/internal/complex_set_iterator_base.hh
index c04f5cd..231cb8a 100644
--- a/milena/mln/topo/internal/complex_set_iterator_base.hh
+++ b/milena/mln/topo/internal/complex_set_iterator_base.hh
@@ -21,7 +21,7 @@
// file, or you compile this file and link it with other files to
// produce an executable, this file does not by itself cause the
// resulting executable to be covered by the GNU General Public
-// License.
+// License.
// reasons why the executable file might be covered by the GNU General
// Public License.
@@ -29,7 +29,8 @@
# define MLN_TOPO_INTERNAL_COMPLEX_SET_ITERATOR_BASE_HH
/// \file mln/topo/internal/complex_set_iterator_base.hh
-/// \brief Definition of an implementation (factoring) class for
+///
+/// Definition of an implementation (factoring) class for
/// (set) iterators on faces of a complex.
# include <mln/topo/internal/complex_iterator_base.hh>
@@ -43,7 +44,13 @@ namespace mln
namespace internal
{
- /// \brief Factoring class for (set) iterators on mln::complex.
+
+ // Forward declaration.
+ template <typename F, typename E>
+ class complex_iterator_base;
+
+
+ /// Factoring class for (set) iterators on mln::complex.
///
/// \arg \p F The type of the face handle.
/// \arg \p E The type exact type of the iterator.
diff --git a/milena/mln/trait/neighborhood.hh b/milena/mln/trait/neighborhood.hh
index 56db0c9..1c605b5 100644
--- a/milena/mln/trait/neighborhood.hh
+++ b/milena/mln/trait/neighborhood.hh
@@ -29,7 +29,8 @@
# define MLN_TRAIT_NEIGHBORHOOD_HH
/// \file mln/trait/neighborhood.hh
-/// \brief Some base trait types for neighborhood types.
+///
+/// Some base trait types for neighborhood types.
# include <string>
@@ -52,23 +53,6 @@ namespace mln
// Forward declaration.
struct undef;
- struct undefined_neighborhood
- {
- typedef undef kind;
- };
-
-
- struct default_neighborhood : undefined_neighborhood
- {
- typedef trait::neighborhood::kind::generic kind;
- };
-
-
- template <typename V>
- struct neighborhood : default_neighborhood
- {
- };
-
/*----------------.
| Traits values. |
@@ -106,6 +90,24 @@ namespace mln
}
+
+ struct undefined_neighborhood_
+ {
+ typedef undef kind;
+ };
+
+
+ struct default_neighborhood_ : undefined_neighborhood_
+ {
+ typedef trait::neighborhood::kind::generic kind;
+ };
+
+
+ template <typename V>
+ struct neighborhood_ : default_neighborhood_
+ {
+ };
+
} // end of namespace mln::trait
} // end of namespace mln
diff --git a/milena/mln/util/tree_to_image.hh b/milena/mln/util/tree_to_image.hh
index 21004fd..40b31ae 100644
--- a/milena/mln/util/tree_to_image.hh
+++ b/milena/mln/util/tree_to_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,13 +29,10 @@
#ifndef MLN_UTIL_TREE_TO_IMAGE_HH
# define MLN_UTIL_TREE_TO_IMAGE_HH
-/*!
- * \file mln/util/tree_to_image.hh
- *
- * \brief Definition of function which transform a tree into an
- * image.
- *
- */
+/// \file mln/util/tree_to_image.hh
+///
+/// Definition of function which transform a tree into an
+/// image.
# include <mln/core/concept/image.hh>
# include <mln/util/tree.hh>
@@ -47,33 +45,30 @@ namespace mln
namespace util
{
- /*! \brief Convert a tree into an image.
- *
- * \param[in] tree The tree to convert.
- * \param[out] output_ The image containing tree informations.
- *
- */
+ /// Convert a tree into an image.
+ ///
+ /// \param[in] tree The tree to convert.
+ /// \param[out] output_ The image containing tree informations.
+ ///
template <typename T, typename I>
void
tree_to_image (tree<T>& tree, Image<I>& output_);
- /*! Display a tree.
- *
- * \param[in] ima_ The domain of output image.
- * \param[in] tree The tree to display.
- *
- */
+ /// Display a tree.
+ ///
+ /// \param[in] ima_ The domain of output image.
+ /// \param[in] tree The tree to display.
+ ///
template <typename I, typename J>
void
display_tree(const Image<J>& ima_, tree<I>& tree);
- /*! Display an arborescence from \p tree_node.
- *
- * \param[in] ima_ The domain of output image.
- * \param[in] tree_node The root tree_node to display.
- *
- */
+ /// Display an arborescence from \p tree_node.
+ ///
+ /// \param[in] ima_ The domain of output image.
+ /// \param[in] tree_node The root tree_node to display.
+ ///
template <typename I, typename J>
void
display_branch(const Image<J>& ima_, tree_node<I>* tree_node);
diff --git a/milena/mln/value/internal/convert.hh b/milena/mln/value/internal/convert.hh
index fc5b50f..0d3c1c4 100644
--- a/milena/mln/value/internal/convert.hh
+++ b/milena/mln/value/internal/convert.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,11 +29,11 @@
#ifndef MLN_VALUE_INTERNAL_CONVERT_HH
# define MLN_VALUE_INTERNAL_CONVERT_HH
-/*! \file mln/value/internal/convert.hh
- *
- * \brief Define a conversion between an index and an iterable value.
- */
+/// \file mln/value/internal/convert.hh
+///
+/// Define a conversion between an index and an iterable value.
+# include <mln/core/contract.hh>
# include <mln/trait/value_.hh>
diff --git a/milena/tests/border/get.cc b/milena/tests/border/get.cc
index 88d552a..9cc6602 100644
--- a/milena/tests/border/get.cc
+++ b/milena/tests/border/get.cc
@@ -66,17 +66,17 @@ int main()
I ima(3,3, 51);
mln_assertion(border::get(ima) == 51);
- mln_assertion( ima.has(point2d(2,2)) == true );
+ mln_assertion(ima.has(point2d(2,2)) == true);
sub_image<I, box2d> sub(ima, b);
- mln_assertion( sub.has (point2d(2,2)) == false &&
- sub.has(point2d(2,2)) == false );
+ mln_assertion(sub.has(point2d(2,2)) == false &&
+ sub.has(point2d(2,2)) == false);
mln_assertion(border::get(sub) == 0);
image_if<I, f_box2d_t> imaif(ima, f_b);
- mln_assertion( imaif.has (point2d(2,2)) == false &&
- ima.has(point2d(2,2)) == true );
- mln_assertion(border::get(imaif) == 51);
+ mln_assertion(imaif.has(point2d(2,2)) == false &&
+ ima.has(point2d(2,2)) == true);
+ mln_assertion(border::get(imaif) == 0);
- mln_assertion(border::get( (ima | b) | f_b ) == 0);
+ mln_assertion(border::get((ima | b) | f_b) == 0);
}
diff --git a/milena/tests/border/resize_image3d_3.cc b/milena/tests/border/resize_image3d_3.cc
index 409d11d..1a94b9c 100644
--- a/milena/tests/border/resize_image3d_3.cc
+++ b/milena/tests/border/resize_image3d_3.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,10 +26,9 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/border/resize_image3d_3.cc
- *
- * \brief Tests on mln::border::resize.
- */
+/// \file tests/border/resize_image3d_3.cc
+///
+/// Tests on mln::border::resize.
#include <mln/core/image/image3d.hh>
@@ -41,33 +41,22 @@
using namespace mln;
-int
-main (void)
+int main ()
{
unsigned border = 3;
unsigned new_border = 1;
- std::cout << std::endl
- << "Test 3d resize"
- << std::endl
- << std::endl;
image3d<value::int_u8> ima(1, 3, 2, border);
level::fill (ima, 2);
border::fill(ima, 8);
- std::cout << "before resize ("
- << border
- << ")"
- << std::endl;
- debug::println_with_border(ima);
- std::cout << std::endl;
-
+ mln_assertion(ima.has(point3d(-3, -3, -3)) == true);
+ mln_assertion(ima.has(point3d(-4, -4, -4)) == false);
border::resize (ima, new_border);
- std::cout << "after resize ("
- << new_border
- << ")"
- << std::endl;
- debug::println_with_border(ima);
- std::cout << std::endl;
+ mln_assertion(ima.border() == new_border);
+ mln_assertion(ima.has(point3d(-1, -1, -1)) == true);
+ mln_assertion(ima.has(point3d(-1, -2, -1)) == false);
+ mln_assertion(ima.has(point3d(-3, -3, -3)) == false);
+ mln_assertion(ima.has(point3d(-4, -4, -4)) == false);
}
diff --git a/milena/tests/border/resize_image_if.cc b/milena/tests/border/resize_image_if.cc
index 5b738d3..4ed8522 100644
--- a/milena/tests/border/resize_image_if.cc
+++ b/milena/tests/border/resize_image_if.cc
@@ -66,15 +66,15 @@ int main()
I ima(3,3, border);
mln_assertion(border::get(ima) == border);
- mln_assertion( ima.has(point2d(2,2)) == true );
+ mln_assertion(ima.has(point2d(2,2)) == true);
my_box2d f_b(b);
image_if<I, my_box2d> imaif(ima, f_b);
- mln_assertion( imaif.has(point2d(2,2)) == false &&
- ima.has(point2d(2,2)) == true );
+ mln_assertion(imaif.has(point2d(2,2)) == false &&
+ ima.has(point2d(2,2)) == true);
- mln_assertion(border::get(imaif) == border);
+ mln_assertion(border::get(imaif) == 0);
border::resize (imaif, new_border);
- mln_assertion(border::get(imaif) == new_border);
+ mln_assertion(border::get(imaif) == 0);
}
diff --git a/milena/tests/core/image/Makefile.am b/milena/tests/core/image/Makefile.am
index 7d60304..a28dc4e 100644
--- a/milena/tests/core/image/Makefile.am
+++ b/milena/tests/core/image/Makefile.am
@@ -9,11 +9,11 @@ check_PROGRAMS = \
complex_image \
decorated_image \
flat_image \
-## hexa \
+ hexa \
graph_image \
image1d \
image2d \
-## image2d_h \
+ image2d_h \
image3d \
image_if \
interpolated \
@@ -36,10 +36,10 @@ complex_image_SOURCES = complex_image.cc
decorated_image_SOURCES = decorated_image.cc
graph_image_SOURCES = graph_image.cc
flat_image_SOURCES = flat_image.cc
-##hexa_SOURCES = hexa.cc
+hexa_SOURCES = hexa.cc
image1d_SOURCES = image1d.cc
image2d_SOURCES = image2d.cc
-##image2d_h_SOURCES = image2d_h.cc
+image2d_h_SOURCES = image2d_h.cc
image3d_SOURCES = image3d.cc
image_if_SOURCES = image_if.cc
interpolated_SOURCES = interpolated.cc
diff --git a/milena/tests/core/image/hexa.cc b/milena/tests/core/image/hexa.cc
index 7bd7c3a..cd157b4 100644
--- a/milena/tests/core/image/hexa.cc
+++ b/milena/tests/core/image/hexa.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,18 +26,18 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/core/image/hexa.cc
- *
- * \brief Tests on mln::hexa
- */
+/// \file tests/core/image/hexa.cc
+///
+/// Tests on mln::hexa
+
#include <mln/core/image/image2d.hh>
#include <mln/core/image/hexa.hh>
-
#include <mln/value/int_u8.hh>
-#include <mln/trait/image/print.hh>
#include <mln/debug/iota.hh>
+#include <mln/debug/println.hh>
+//FIXME: Write a real test!!
int main()
{
@@ -45,15 +46,18 @@ int main()
typedef image2d<int_u8> I;
- I ima(3,3);
- hexa<I> h(ima);
+ I ima(3,4);
+
+ // FIXME!! The values differs from the test core/image/hexa which
+ // may be a bug! debug::iota does not seem to behave correctly.
debug::iota(ima);
- trait::image::print(h, std::cout);
+ debug::println(ima);
+ hexa<I> h(ima);
+
+ debug::println(h);
- hexa<I>::fwd_piter p(h.domain());
+// mln_piter_(hexa<I>) p(h.domain());
- for_all(p)
- {
- std::cout << p << "->" << h(p) << std::endl;
- }
+// for_all(p)
+// std::cout << p << " -> " << h(p) << std::endl;
}
diff --git a/milena/tests/core/image/image2d_h.cc b/milena/tests/core/image/image2d_h.cc
index f2d0e2e..53f2690 100644
--- a/milena/tests/core/image/image2d_h.cc
+++ b/milena/tests/core/image/image2d_h.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,31 +26,32 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/core/image/image2d_h.cc
- *
- * \brief Tests on mln::image2d_h
- */
+/// \file tests/core/image/image2d_h.cc
+///
+/// Tests on mln::image2d_h
#include <mln/core/image/image2d_h.hh>
-
-#include <mln/value/int_u16.hh>
-#include <mln/trait/image/print.hh>
+#include <mln/value/int_u8.hh>
#include <mln/debug/iota.hh>
#include <mln/debug/println.hh>
+//FIXME: Write a real test!!
int main()
{
using namespace mln;
- using value::int_u16;
-
- image2d_h<int_u16> h(50,50);
+ using value::int_u8;
- debug::println(h);
+ image2d_h<int_u8> h(3, 8);
+ // FIXME!! The values differs from the test core/image/hexa which
+ // may be a bug! debug::iota does not seem to behave correctly.
debug::iota(h);
debug::println(h);
- trait::image::print(h, std::cout);
+// mln_piter_(image2d_h<int_u8>) p(h.domain());
+
+// for_all(p)
+// std::cout << p << " - > " << h(p) << std::endl;
}
diff --git a/milena/tests/fun/x2x/rotation.cc b/milena/tests/fun/x2x/rotation.cc
index bce3137..7835ac9 100644
--- a/milena/tests/fun/x2x/rotation.cc
+++ b/milena/tests/fun/x2x/rotation.cc
@@ -31,7 +31,7 @@
///
#include <iostream>
-#include <mln/fun/x2v/rotation.hh>
+#include <mln/fun/x2x/rotation.hh>
#include <mln/core/image/image2d.hh>
#include <mln/value/int_u8.hh>
#include <mln/io/pgm/load.hh>
diff --git a/milena/tests/labeling/relabel.cc b/milena/tests/labeling/relabel.cc
index ac1f612..3ffd9c3 100644
--- a/milena/tests/labeling/relabel.cc
+++ b/milena/tests/labeling/relabel.cc
@@ -37,7 +37,7 @@
#include <mln/debug/println.hh>
-struct not_to_removed : public mln::Function_l2b< not_to_removed >
+struct not_to_remove : public mln::Function_l2b< not_to_remove >
{
bool operator()(const mln::value::label_16& l) const
{
@@ -76,7 +76,7 @@ int main()
image2d<label_16> lbl2 = labeling::relabel(lbl,
nlabels,
new_nlabels,
- not_to_removed());
+ not_to_remove());
mln_assertion(new_nlabels == 2u);
mln_piter_(image2d<label_16>) p(lbl2.domain());
for_all(p)
@@ -87,7 +87,7 @@ int main()
label_16 new_nlabels;
labeling::relabel_inplace(lbl,
nlabels,
- not_to_removed());
+ not_to_remove());
mln_assertion(nlabels == 2u);
mln_piter_(image2d<label_16>) p(lbl.domain());
for_all(p)
diff --git a/milena/tests/morpho/complex_image_wst.cc b/milena/tests/morpho/complex_image_wst.cc
index f6aab30..a1e7cf6 100644
--- a/milena/tests/morpho/complex_image_wst.cc
+++ b/milena/tests/morpho/complex_image_wst.cc
@@ -26,7 +26,8 @@
// Public License.
/// \file tests/morpho/complex_image_swt.cc
-/// \brief Testing Meyer's Watershed Transform on mln::complex_image.
+///
+/// Testing Meyer's Watershed Transform on mln::complex_image.
#include <iostream>
#include <fstream>
@@ -38,23 +39,24 @@
#include <mln/literal/black.hh>
#include <mln/literal/white.hh>
+#include <mln/core/concept/function.hh>
#include <mln/core/alias/point2d.hh>
-
#include <mln/core/site_set/p_faces.hh>
#include <mln/core/image/complex_image.hh>
-
// FIXME: Include these elsewhere? (In complex_image.hh?)
#include <mln/core/image/complex_neighborhoods.hh>
#include <mln/core/image/complex_neighborhood_piter.hh>
-#include <mln/debug/iota.hh>
#include <mln/level/fill.hh>
+
#include <mln/norm/l2.hh>
#include <mln/morpho/closing_area.hh>
#include <mln/morpho/meyer_wst.hh>
-#include <mln/core/concept/function.hh>
+#include <mln/convert/to.hh>
+
+#include <mln/debug/iota.hh>
// FIXME: To be put elsewhere (from milena/sandbox/geraud/wst_edge.cc).
struct colorize : mln::Function_v2v< colorize >
@@ -92,12 +94,12 @@ int main()
c 0 1 2 3
r .------------------------
| v0 e3 v3
- 0 | o-----------o v0----e3----v3
- | / \ / / \ /
- | / \ / / \ /
- 1 | e0 / e1 / e4 e0 e1 e4
- | / \ / / \ /
- | / \ / / \ /
+ 0 | o-----------o v0----e3----v3
+ | / \ / / \ /
+ | / \ / / \ /
+ 1 | e0 / e1 / e4 e0 e1 e4
+ | / \ / / \ /
+ | / \ / / \ /
2 | o-----------o v1----e2----v2
| v1 e2 v2
@@ -168,7 +170,7 @@ int main()
v.next();
mln_invariant(!v.is_valid());
- dist_ima(e) = 10 * norm::l2_distance(p1.to_vec(), p2.to_vec());
+ dist_ima(e) = convert::to<unsigned>(10 * norm::l2_distance(p1.to_vec(), p2.to_vec()));
}
// Initialize 0-faces to a dummy value, to prevent the watershed from
// finding minima on 0-faces.
@@ -195,8 +197,7 @@ int main()
`-----------------*/
// Currently, does nothing (lambda = 1).
- dist_ima_t closed_dist_ima (dist_ima.domain());
- morpho::closing_area(dist_ima, nbh, 1, closed_dist_ima);
+ dist_ima_t closed_dist_ima = morpho::closing_area(dist_ima, nbh, 1);
/*------.
| WST. |
diff --git a/milena/tests/morpho/hit_or_miss.cc b/milena/tests/morpho/hit_or_miss.cc
index 9b975ae..3ac2226 100644
--- a/milena/tests/morpho/hit_or_miss.cc
+++ b/milena/tests/morpho/hit_or_miss.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,10 +26,9 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/morpho/hit_or_miss.cc
- *
- * \brief Test on mln::morpho::hit_or_miss.
- */
+/// \file tests/morpho/hit_or_miss.cc
+///
+/// Test on mln::morpho::hit_or_miss.
#include <mln/core/image/image2d.hh>
#include <mln/value/int_u8.hh>
@@ -66,7 +66,7 @@ int main()
0, 0, 1, 1, 1,
0, 0, 1, 1, 1 };
window2d win_hit_ = convert::to<window2d>(hit);
- mln_precondition(win_hit_ == win_hit);
+ mln_assertion(win_hit_ == win_hit);
bool miss[] = { 1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
@@ -74,7 +74,7 @@ int main()
1, 1, 0, 0, 0,
1, 1, 0, 0, 0 };
window2d win_miss_ = convert::to<window2d>(miss);
- mln_precondition(win_miss_ == win_miss);
+ mln_assertion(win_miss_ == win_miss);
}
border::thickness = 2;
diff --git a/milena/tests/unit_test/build_unit_test.sh b/milena/tests/unit_test/build_unit_test.sh
index 2eb3974..d08a0a6 100755
--- a/milena/tests/unit_test/build_unit_test.sh
+++ b/milena/tests/unit_test/build_unit_test.sh
@@ -4,7 +4,7 @@ if [ $# -ne 1 ]; then
echo "Usage: $0 <mln_path>"
fi
-HEADERS=`find $1 -name "*.hh" | grep -vE "*.spe.hh" | grep -v "mln/core/doc" | sed -e 's/.*\/mln\/\(.*\)/mln\/\1/g' | sed 's/\.\.\/\.\.\///g'`
+HEADERS=`find $1 -name "*.hh" | grep -vE "*.spe.hh" | grep -v "mln/core/concept/doc" | sed -e 's/.*\/mln\/\(.*\)/mln\/\1/g' | sed 's/\.\.\/\.\.\///g'`
rm -f Makefile.am
rm -f *.hh *.cc
--
1.5.6.5
1
0
12 Dec '08
URL: https://svn.lrde.epita.fr/svn/oln/trunk/milena/sandbox
ChangeLog:
2008-12-12 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
Add a pseudo report of a discution with theo on my seminar.
* garrigues/union_find/reunion_avec_theo: New.
---
reunion_avec_theo | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
Index: trunk/milena/sandbox/garrigues/union_find/reunion_avec_theo
===================================================================
--- trunk/milena/sandbox/garrigues/union_find/reunion_avec_theo (revision 0)
+++ trunk/milena/sandbox/garrigues/union_find/reunion_avec_theo (revision 3035)
@@ -0,0 +1,24 @@
+Verifier les resultats bizarres.
+
+1/ Ajouter le test d'inclusion pour les reconstruction_on_set
+ -> regarder si level compare utilise test/predicate
+ -> sinon le faire, et fastestiser test/predicate
+ -> level compare specialisation pour les boolean? test d'implication??
+
+Comment Specialiser les canvas pour les images fastest?
+Rendre le canvas indépedant de la gestion du bord.
+Faire passer les initialisation du bord au canvas
+
+Attention! les initialisation des images doivent savoir
+si on est fast ou pas.
+
+
+
+* Pour les opérateur auto duaux
+
+Coder la reconstruction auto duale (Rapide).
+
+Un peu plus chaud: les deux autres opérateur du papier (some levelings et
+inf-semilatice approach).
+Difficultée: comment coder le canvas sachant qu'on doit pouvoir paser un op
+(et son dual aussi car l'algo a besoin des deux).
1
0
12 Dec '08
Ugo Jardonnet wrote:
> https://svn.lrde.epita.fr/svn/oln/trunk/milena/sandbox
>
>
> Index: ChangeLog
> from Ugo Jardonnet <jardonnet(a)lrde.epita.fr>
>
> Comment, beautify, strengthen n_cmpt5.
>
> * jardonnet/n_cmpt/n_cmpt5.hh: Comment. Add assertions.
> ...
c'est du très très bon résultat :-)
1
0
URL: https://svn.lrde.epita.fr/svn/oln/trunk/milena/sandbox
ChangeLog:
2008-12-12 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
Add reconstruction on function.
* canvas/reconstruction_on_function.hh: New, this canvas is able to
compute a reconstruction by dilation or by erosion on a function.
* reconstructions_on_function.hh: Using this canvas to implement
reconstructions on function.
* reconstructions_on_function.cc: New, a test.
* canvas/reconstruction.hh: Rename as...
* canvas/reconstruction_on_set.hh: ...this.
* reconstructions.cc: Rename as...
* reconstructions_on_set.cc: ...this.
* reconstructions.hh: Rename...
* reconstructions_on_set.hh: ...this.
---
canvas/reconstruction_on_function.hh | 174 +++++++++++++++++++++++++++
canvas/reconstruction_on_set.hh | 147 +++++++++++++++++++++++
reconstructions_on_function.cc | 63 ++++++++++
reconstructions_on_function.hh | 184 +++++++++++++++++++++++++++++
reconstructions_on_set.cc | 57 +++++++++
reconstructions_on_set.hh | 220 +++++++++++++++++++++++++++++++++++
6 files changed, 845 insertions(+)
Index: trunk/milena/sandbox/garrigues/union_find/reconstructions.hh (deleted)
===================================================================
Index: trunk/milena/sandbox/garrigues/union_find/reconstructions.cc (deleted)
===================================================================
Index: trunk/milena/sandbox/garrigues/union_find/reconstructions_on_set.cc
===================================================================
--- trunk/milena/sandbox/garrigues/union_find/reconstructions_on_set.cc (revision 0)
+++ trunk/milena/sandbox/garrigues/union_find/reconstructions_on_set.cc (revision 3034)
@@ -0,0 +1,57 @@
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+# include "reconstructions_on_set.hh"
+# include <mln/core/alias/neighb2d.hh>
+# include <mln/core/image/image2d.hh>
+# include <mln/io/pbm/load.hh>
+# include <mln/io/pbm/save.hh>
+
+int main(int argc, char** argv)
+{
+ using namespace mln;
+ typedef image2d<bool> I;
+
+ image2d<bool> marker;
+ image2d<bool> mask;
+ image2d<bool> output;
+
+ if (argc < 2)
+ {
+ std::cerr << "Usage: " << argv[0] << " marker.pbm mask.pbm" << std::endl;
+ return 1;
+ }
+
+ io::pbm::load(marker, argv[1]);
+ io::pbm::load(mask, argv[2]);
+
+ io::pbm::save(reconstruction_on_set_by_dilation (marker, mask, c4()), "r1.pbm");
+ io::pbm::save(reconstruction_on_set_by_dilation_alt(marker, mask, c4()), "r2.pbm");
+ io::pbm::save(reconstruction_on_set_by_erosion (marker, mask, c4()), "r3.pbm");
+ io::pbm::save(reconstruction_on_set_by_erosion_alt (marker, mask, c4()), "r4.pbm");
+}
Index: trunk/milena/sandbox/garrigues/union_find/reconstructions_on_function.hh
===================================================================
--- trunk/milena/sandbox/garrigues/union_find/reconstructions_on_function.hh (revision 0)
+++ trunk/milena/sandbox/garrigues/union_find/reconstructions_on_function.hh (revision 3034)
@@ -0,0 +1,184 @@
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+#ifndef MLN_RECONSTRUCTIONS_ON_FUNCTION_HH
+# define MLN_RECONSTRUCTIONS_ON_FUNCTION_HH
+
+# include <mln/core/image/image2d.hh>
+# include <mln/core/alias/neighb2d.hh>
+# include <mln/level/fill.hh>
+# include <mln/level/compare.hh>
+# include <mln/level/paste.hh>
+# include <mln/level/sort_psites.hh>
+# include <mln/literal/zero.hh>
+# include <mln/math/max.hh>
+# include <mln/math/min.hh>
+
+# include "canvas/reconstruction_on_function.hh"
+
+namespace mln
+{
+
+ namespace impl
+ {
+
+ template <typename I_, typename J_>
+ struct reconstruction_on_function_by_dilation_t
+ {
+ typedef I_ I;
+ typedef J_ J;
+ typedef mln_site(I) P;
+ typedef p_array<mln_psite(I)> S;
+
+ reconstruction_on_function_by_dilation_t (const I& marker, const J& mask, mln_concrete(I)& output)
+ : marker(marker),
+ mask(mask),
+ output(output),
+ s(level::sort_psites_decreasing(marker))
+ {
+ }
+
+ bool is_active(const P& p) { return mask(p) >= output(p); }
+ void set_default_output() { level::fill(output, literal::zero); }
+ void init(const P& p) { output(p) = marker(p); }
+ void merge(const P& r, const P& p) { output(p) = math::max(output(p), output(r)); }
+ void visit_ext_border(const P& n, const P& p) { (void) n; (void) p; }
+
+ void set_output_value(const P& p)
+ {
+ if (!is_active(p))
+ output(p) = mask(p);
+ }
+
+ const I& marker; // F
+ const J& mask; // G
+ mln_concrete(I)& output; // O
+ S s;
+ };
+
+
+ template <typename I_, typename J_>
+ struct reconstruction_on_function_by_erosion_t
+ {
+ typedef I_ I;
+ typedef J_ J;
+ typedef mln_site(I) P;
+ typedef p_array<mln_psite(I)> S;
+
+ reconstruction_on_function_by_erosion_t (const I& marker, const J& mask, mln_concrete(I)& output)
+ : marker(marker),
+ mask(mask),
+ output(output),
+ s(level::sort_psites_increasing(marker))
+ {
+ }
+
+ bool is_active(const P& p) { return mask(p) <= output(p); }
+ void set_default_output() { level::fill(output, literal::zero); }
+ void init(const P& p) { output(p) = marker(p); }
+ void merge(const P& r, const P& p) { output(p) = math::min(output(p), output(r)); }
+ void visit_ext_border(const P& n, const P& p) { (void) n; (void) p; }
+
+ void set_output_value(const P& p)
+ {
+ if (!is_active(p))
+ output(p) = mask(p);
+ }
+
+ const I& marker; // F
+ const J& mask; // G
+ mln_concrete(I)& output; // O
+ S s;
+ };
+
+
+ } // end of namespace mln::impl.
+
+ template <typename I, typename J, typename N>
+ mln_concrete(I)
+ reconstruction_on_function_by_dilation(const Image<I>& marker_,
+ const Image<J>& mask_,
+ const Neighborhood<N>& nbh_)
+ {
+ trace::entering("morpho::reconstruction_on_function_by_dilation");
+
+ const I& marker = exact(marker_);
+ const J& mask = exact(mask_);
+ const N& nbh = exact(nbh_);
+
+ mln_precondition(marker.has_data());
+ mln_precondition(mask.has_data());
+ mln_precondition(mask.domain() == marker.domain());
+
+ mln_concrete(I) output;
+ initialize(output, marker);
+
+ typedef impl::reconstruction_on_function_by_dilation_t<I, J> F;
+ F f(marker, mask, output);
+ canvas::morpho::reconstruction_on_function(nbh, f);
+
+ mln_precondition(marker <= output && output <= mask);
+
+ trace::exiting("morpho::reconstruction_on_function_by_dilation");
+ return output;
+ }
+
+
+ template <typename I, typename J, typename N>
+ mln_concrete(I)
+ reconstruction_on_function_by_erosion(const Image<I>& marker_,
+ const Image<J>& mask_,
+ const Neighborhood<N>& nbh_)
+ {
+ trace::entering("morpho::reconstruction_on_function_by_dilation");
+
+ const I& marker = exact(marker_);
+ const J& mask = exact(mask_);
+ const N& nbh = exact(nbh_);
+
+ mln_precondition(marker.has_data());
+ mln_precondition(mask.has_data());
+ mln_precondition(mask.domain() == marker.domain());
+
+ mln_concrete(I) output;
+ initialize(output, marker);
+
+ typedef impl::reconstruction_on_function_by_erosion_t<I, J> F;
+ F f(marker, mask, output);
+ canvas::morpho::reconstruction_on_function(nbh, f);
+
+ mln_precondition(marker >= output && output >= mask);
+
+ trace::exiting("morpho::reconstruction_on_function_by_dilation");
+ return output;
+ }
+
+} // end of namespace mln.
+
+
+#endif // ! MLN_RECONSTRUCTIONS_ON_FUNCTION_HH
Index: trunk/milena/sandbox/garrigues/union_find/reconstructions_on_function.cc
===================================================================
--- trunk/milena/sandbox/garrigues/union_find/reconstructions_on_function.cc (revision 0)
+++ trunk/milena/sandbox/garrigues/union_find/reconstructions_on_function.cc (revision 3034)
@@ -0,0 +1,63 @@
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+# include "reconstructions_on_function.hh"
+# include <mln/core/alias/neighb2d.hh>
+# include <mln/core/image/image2d.hh>
+# include <mln/value/int_u8.hh>
+# include <mln/io/pgm/load.hh>
+# include <mln/io/pgm/save.hh>
+
+void usage(char** argv)
+{
+ std::cerr << "Usage: " << argv[0] << " (-dilation|-erosion) marker.pgm mask.pgm" << std::endl;
+ exit(1);
+}
+
+int main(int argc, char** argv)
+{
+ using namespace mln;
+
+ if (argc < 2)
+ usage(argv);
+
+ typedef image2d<value::int_u8> I;
+ I marker;
+ I mask;
+ I output;
+
+ io::pgm::load(marker, argv[2]);
+ io::pgm::load(mask, argv[3]);
+
+ if (std::string(argv[1]) == "-dilation")
+ io::pgm::save(reconstruction_on_function_by_dilation(marker, mask, c4()), "r_dilation.pgm");
+ else if (std::string(argv[1]) == "-erosion")
+ io::pgm::save(reconstruction_on_function_by_erosion (marker, mask, c4()), "r_erosion.pgm");
+ else
+ usage(argv);
+}
Index: trunk/milena/sandbox/garrigues/union_find/reconstructions_on_set.hh
===================================================================
--- trunk/milena/sandbox/garrigues/union_find/reconstructions_on_set.hh (revision 0)
+++ trunk/milena/sandbox/garrigues/union_find/reconstructions_on_set.hh (revision 3034)
@@ -0,0 +1,220 @@
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+#ifndef MLN_RECONSTRUCTIONS_ON_SET_HH
+# define MLN_RECONSTRUCTIONS_ON_SET_HH
+
+# include <mln/core/image/image2d.hh>
+# include <mln/core/alias/neighb2d.hh>
+# include <mln/level/fill.hh>
+# include <mln/level/paste.hh>
+
+# include "canvas/reconstruction_on_set.hh"
+
+namespace mln
+{
+
+ namespace impl
+ {
+
+ struct reconstruction_on_set_by_dilation_t
+ {
+ typedef image2d<bool> I;
+ typedef mln_site_(I) P;
+
+ reconstruction_on_set_by_dilation_t (const I& marker, const I& mask, I& output)
+ : marker(marker), mask(mask), output(output)
+ {}
+
+ bool is_in_D(P p) { return mask(p); }
+ void set_default_output() { level::fill(output, false); }
+ void init(P p) { output(p) = marker(p); }
+ void merge(P r, P p) { output(p) = output(p) || output(r); }
+ void visit_ext_border(P n, P p) { (void) n; (void) p; }
+
+ const I& marker; // F
+ const I& mask; // G
+ I& output; // O
+ };
+
+
+ struct reconstruction_on_set_by_dilation_alt_t
+ {
+ typedef image2d<bool> I;
+ typedef mln_site_(I) P;
+
+ reconstruction_on_set_by_dilation_alt_t (const I& marker, const I& mask, I& output)
+ : marker(marker), mask(mask), output(output)
+ {}
+
+ bool is_in_D(P p) { return mask(p) && !marker(p); }
+ void set_default_output() { level::paste(marker, output); }
+ void init(P p) { output(p) = false; }
+ void merge(P r, P p) { output(p) = output(p) || output(r); }
+ void visit_ext_border(P n, P p) { if (marker(n)) output(p) = true; }
+
+ const I& marker; // F
+ const I& mask; // G
+ I& output; // O
+ };
+
+
+ struct reconstruction_on_set_by_erosion_t
+ {
+ typedef image2d<bool> I;
+ typedef mln_site_(I) P;
+
+ reconstruction_on_set_by_erosion_t (const I& marker, const I& mask, I& output)
+ : marker(marker), mask(mask), output(output)
+ {}
+
+ bool is_in_D(P p) { return !mask(p); }
+ void set_default_output() { level::fill(output, true); }
+ void init(P p) { output(p) = marker(p); }
+ void merge(P r, P p) { output(p) = output(p) && output(r); }
+ void visit_ext_border(P n, P p) { (void) n; (void) p; }
+
+ const I& marker; // F
+ const I& mask; // G
+ I& output; // O
+ };
+
+ struct reconstruction_on_set_by_erosion_alt_t
+ {
+ typedef image2d<bool> I;
+ typedef mln_site_(I) P;
+
+ reconstruction_on_set_by_erosion_alt_t (const I& marker, const I& mask, I& output)
+ : marker(marker), mask(mask), output(output)
+ {}
+
+ bool is_in_D(P p) { return !mask(p) && marker(p); }
+ void set_default_output() { level::paste(mask, output); }
+ void init(P p) { output(p) = true; }
+ void merge(P r, P p) { output(p) = output(p) && output(r); }
+ void visit_ext_border(P n, P p) { if (!marker(n)) output(p) = false; }
+
+ const I& marker; // F
+ const I& mask; // G
+ I& output; // O
+ };
+
+ } // end of namespace mln::impl
+
+
+ image2d<bool>
+ reconstruction_on_set_by_dilation(const image2d<bool>& marker,
+ const image2d<bool>& mask,
+ const neighb2d& nbh)
+ {
+ trace::entering("morpho::reconstruction_on_set_by_dilation");
+
+ mln_precondition(exact(marker).has_data());
+ mln_precondition(exact(mask).has_data());
+
+ image2d<bool> output;
+ initialize(output, marker);
+
+ typedef impl::reconstruction_on_set_by_dilation_t F;
+ F f(marker, mask, output);
+ canvas::morpho::reconstruction_on_set(nbh, f);
+
+ trace::exiting("morpho::reconstruction_on_set_by_dilation");
+ return output;
+ }
+
+
+ image2d<bool>
+ reconstruction_on_set_by_dilation_alt(const image2d<bool>& marker,
+ const image2d<bool>& mask,
+ const neighb2d& nbh)
+ {
+ trace::entering("morpho::reconstruction_on_set_by_dilation_alt");
+
+ mln_precondition(exact(marker).has_data());
+ mln_precondition(exact(mask).has_data());
+
+ image2d<bool> output;
+ initialize(output, marker);
+
+ typedef impl::reconstruction_on_set_by_dilation_alt_t F;
+ F f(marker, mask, output);
+ canvas::morpho::reconstruction_on_set(nbh, f);
+
+ trace::exiting("morpho::reconstruction_on_set_by_dilation_alt");
+ return output;
+ }
+
+
+ image2d<bool>
+ reconstruction_on_set_by_erosion(const image2d<bool>& marker,
+ const image2d<bool>& mask,
+ const neighb2d& nbh)
+ {
+ trace::entering("morpho::reconstruction_on_set_by_erosion");
+
+ mln_precondition(exact(marker).has_data());
+ mln_precondition(exact(mask).has_data());
+
+ image2d<bool> output;
+ initialize(output, marker);
+
+ typedef impl::reconstruction_on_set_by_erosion_t F;
+ F f(marker, mask, output);
+ canvas::morpho::reconstruction_on_set(nbh, f);
+
+ trace::exiting("morpho::reconstruction_on_set_by_erosion");
+ return output;
+ }
+
+
+ image2d<bool>
+ reconstruction_on_set_by_erosion_alt(const image2d<bool>& marker,
+ const image2d<bool>& mask,
+ const neighb2d& nbh)
+ {
+ trace::entering("morpho::reconstruction_on_set_by_erosion_alt");
+
+ mln_precondition(exact(marker).has_data());
+ mln_precondition(exact(mask).has_data());
+
+ image2d<bool> output;
+ initialize(output, marker);
+
+ typedef impl::reconstruction_on_set_by_erosion_alt_t F;
+ F f(marker, mask, output);
+ canvas::morpho::reconstruction_on_set(nbh, f);
+
+ trace::exiting("morpho::reconstruction_on_set_by_erosion_alt");
+ return output;
+ }
+
+} // end of namespace mln.
+
+
+#endif // ! MLN_RECONSTRUCTIONS_ON_SET_HH
Index: trunk/milena/sandbox/garrigues/union_find/canvas/reconstruction.hh (deleted)
===================================================================
Index: trunk/milena/sandbox/garrigues/union_find/canvas/reconstruction_on_function.hh
===================================================================
--- trunk/milena/sandbox/garrigues/union_find/canvas/reconstruction_on_function.hh (revision 0)
+++ trunk/milena/sandbox/garrigues/union_find/canvas/reconstruction_on_function.hh (revision 3034)
@@ -0,0 +1,174 @@
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+#ifndef MLN_RECONSTRUCTION_ON_FUNCTION_HH
+# define MLN_RECONSTRUCTION_ON_FUNCTION_HH
+
+# include <mln/core/image/image2d.hh>
+# include <mln/level/fill.hh>
+# include <mln/literal/zero.hh>
+# include <mln/convert/to_upper_window.hh>
+# include <mln/accu/count.hh>
+# include <mln/util/pix.hh>
+
+# include <mln/core/alias/neighb2d.hh>
+
+# include <mln/io/pbm/save.hh>
+# include <mln/io/pbm/load.hh>
+
+namespace mln
+{
+
+
+ namespace canvas
+ {
+
+ namespace morpho
+ {
+
+ template <typename I>
+ static inline
+ mln_psite(I)
+ find_root(I& parent,
+ const mln_psite(I)& x)
+ {
+ if (parent(x) == x)
+ return x;
+ else
+ return parent(x) = find_root(parent, parent(x));
+ }
+
+ template <typename N, typename F>
+ inline
+ void
+ reconstruction_on_function_tests(const Neighborhood<N>& nbh_,
+ F& f)
+ {
+ // Static tests.
+
+ // Types of f required.
+ typedef typename F::I I;
+ typedef Image<I> I_;
+ typedef typename F::S S;
+
+ // Attributs of f required.
+ (void) f.s;
+ (void) f.mask;
+ (void) f.marker;
+ (void) f.output;
+
+
+ // Method of F required
+ typedef mln_site(I) P;
+
+ void (F::*m1)() = & F::set_default_output;
+ m1 = 0;
+ bool (F::*m2)(const P&) = & F::is_active;
+ m2 = 0;
+ void (F::*m3)(const P&) = & F::init;
+ m3 = 0;
+ void (F::*m4)(const P&, const P&) = & F::merge;
+ m4 = 0;
+
+ // Dynamic tests.
+ mln_precondition(f.mask.domain() == f.output.domain());
+ mln_precondition(f.mask.domain() == f.marker.domain());
+ }
+
+ template <typename N, typename F>
+ void
+ reconstruction_on_function(const Neighborhood<N>& nbh_,
+ F& f)
+ {
+ trace::entering("canvas::morpho::reconstruction_on_function");
+
+ // Tests.
+ reconstruction_on_function_tests(nbh_, f);
+
+ const N& nbh = exact(nbh_);
+
+ // Local type.
+ typedef typename F::I I;
+ typedef typename F::S S;
+ typedef mln_site(I) P;
+
+ // Auxiliary data.
+ mln_ch_value(I, bool) deja_vu;
+ mln_ch_value(I, P) parent;
+
+ // init
+ {
+ initialize(deja_vu, f.mask);
+ initialize(parent, f.mask);
+
+ mln::level::fill(deja_vu, false);
+ f.set_default_output();
+ }
+
+ // first pass
+ {
+ mln_fwd_piter(S) p(f.s);
+ mln_niter(N) n(nbh, p);
+ for_all(p)
+ {
+ // Make set.
+ parent(p) = p;
+ f.init(p);
+
+ for_all(n) if (f.mask.domain().has(n) && deja_vu(n))
+ {
+ //do_union(n, p);
+ P r = find_root(parent, n);
+ if (r != p && f.is_active(r))
+ {
+ f.merge(r, p);
+ parent(r) = p;
+ }
+ }
+ deja_vu(p) = true;
+ }
+ }
+
+ // second pass
+ {
+ mln_bkd_piter(S) p(f.s);
+ for_all(p)
+ f.set_output_value(p);
+ }
+
+ trace::exiting("canvas::morpho::reconstruction_on_function");
+ }
+
+
+ } // end of namespace mln::canvas::morpho
+
+ } // end of namespace mln::canvas
+
+} // end of namespace mln.
+
+#endif // ! MLN_RECONSTRUCTION_ON_FUNCTION_HH
Index: trunk/milena/sandbox/garrigues/union_find/canvas/reconstruction_on_set.hh
===================================================================
--- trunk/milena/sandbox/garrigues/union_find/canvas/reconstruction_on_set.hh (revision 0)
+++ trunk/milena/sandbox/garrigues/union_find/canvas/reconstruction_on_set.hh (revision 3034)
@@ -0,0 +1,147 @@
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+#ifndef MLN_RECONSTRUCTION_ON_SET_HH
+# define MLN_RECONSTRUCTION_ON_SET_HH
+
+# include <mln/core/image/image2d.hh>
+# include <mln/level/fill.hh>
+# include <mln/literal/zero.hh>
+# include <mln/convert/to_upper_window.hh>
+# include <mln/accu/count.hh>
+# include <mln/util/pix.hh>
+
+# include <mln/core/alias/neighb2d.hh>
+
+# include <mln/io/pbm/save.hh>
+# include <mln/io/pbm/load.hh>
+
+namespace mln
+{
+
+
+ namespace canvas
+ {
+
+ namespace morpho
+ {
+
+ template <typename I>
+ static inline
+ mln_psite(I)
+ find_root(I& parent,
+ const mln_psite(I)& x)
+ {
+ if (parent(x) == x)
+ return x;
+ else
+ return parent(x) = find_root(parent, parent(x));
+ }
+
+ template <typename N, typename F>
+ void
+ reconstruction_on_set(const Neighborhood<N>& nbh_,
+ F& f)
+ {
+ trace::entering("canvas::morpho::reconstruction_on_set");
+
+ const N& nbh = exact(nbh_);
+
+ mln_precondition(f.mask.domain() == f.output.domain());
+
+ // Local type.
+ typedef typename F::P P;
+ typedef typename F::I I;
+
+ // Auxiliary data.
+ mln_ch_value(I, bool) deja_vu;
+ mln_ch_value(I, P) parent;
+
+ // init
+ {
+ initialize(deja_vu, f.mask);
+ initialize(parent, f.mask);
+
+ mln::level::fill(deja_vu, false);
+ f.set_default_output(); // Client initialization.
+ }
+
+ // first pass
+ {
+ mln_fwd_piter(I) p(f.mask.domain());
+ mln_niter(N) n(nbh, p);
+ for_all(p)
+ {
+ if (f.is_in_D(p))
+ {
+ // Make set.
+ parent(p) = p;
+ f.init(p);
+
+ for_all(n) if (f.mask.domain().has(n))
+ {
+ if (deja_vu(n) && f.is_in_D(n))
+ {
+ //do_union(n, p);
+ P r = find_root(parent, n);
+ if (r != p)
+ {
+ f.merge(r, p);
+ parent(r) = p;
+ }
+ }
+ else
+ // Visit boundaries of D.
+ f.visit_ext_border(n, p);
+ }
+ deja_vu(p) = true;
+ }
+
+ }
+ }
+
+ // second pass
+ {
+ mln_bkd_piter(I) p(f.mask.domain());
+ for_all(p)
+ if (f.is_in_D(p))
+ if (parent(p) != p) // if p is not a root.
+ f.output(p) = f.output(parent(p));
+ }
+
+ trace::exiting("canvas::morpho::reconstruction_on_set");
+ }
+
+
+ } // end of namespace mln::canvas::morpho
+
+ } // end of namespace mln::canvas
+
+} // end of namespace mln.
+
+#endif // ! MLN_RECONSTRUCTION_ON_SET_HH
1
0
Re: [Olena-patches] 3033: Strengthen unit_test. Beautify file generation.
by Ugo Jardonnet 12 Dec '08
by Ugo Jardonnet 12 Dec '08
12 Dec '08
Ugo Jardonnet wrote:
> ...
Sorry for this patch.
Modifications come from Vaucanson unit test script.
1
0
https://svn.lrde.epita.fr/svn/oln/trunk/milena
Index: ChangeLog
from Ugo Jardonnet <jardonnet(a)lrde.epita.fr>
Strengthen unit_test. Beautify file generation.
* tests/unit_test/build_unit_test.sh: Check for no header guard.
Beautify file writing.
* tests/unit_test/Makefile.am: Regenerate.
* tests/unit_test/mln_core_contract.cc,
* tests/unit_test/mln_win_all.cc,
* tests/unit_test/mln_canvas_distance_geodesic.cc,
* tests/unit_test/mln_accu_transform_snake.cc,
* tests/unit_test/mln_win_backdiag2d.cc,
* tests/unit_test/mln_geom_complex_geometry.cc,
* tests/unit_test/mln_core_alias_w_window2d_float.cc,
* tests/unit_test/mln_set_get.cc,
* tests/unit_test/mln_value_builtin_all.cc,
* tests/unit_test/mln_core_internal_coord_impl.cc,
* tests/unit_test/mln_registration_multiscale.cc,
* tests/unit_test/mln_display_all.cc,
* tests/unit_test/mln_metal_is_a.cc,
* tests/unit_test/mln_topo_adj_lower_higher_face_iter.cc,
* tests/unit_test/mln_util_graph.cc,
* tests/unit_test/mln_accu_v.cc,
* tests/unit_test/mln_canvas_chamfer.cc,
* tests/unit_test/mln_algebra_h_vec.cc,
* tests/unit_test/mln_trait_op_predec.cc,
* tests/unit_test/mln_win_segment1d.cc,
* tests/unit_test/mln_core_clock_neighb2d.cc,
* tests/unit_test/mln_core_concept_value_iterator.cc,
* tests/unit_test/mln_core_concept_meta_accumulator.cc,
* tests/unit_test/mln_trait_solve_unary.cc,
* tests/unit_test/mln_morpho_opening_area_on_vertices.cc,
* tests/unit_test/mln_core_routine_clone.cc,
* tests/unit_test/mln_core_site_set_p_key.cc,
* tests/unit_test/mln_fun_vv2v_lxor.cc,
* tests/unit_test/mln_trait_op_uminus.cc,
* tests/unit_test/mln_core_site_set_p_if.cc,
* tests/unit_test/mln_core_dpsites_piter.cc,
* tests/unit_test/mln_pw_image.cc,
* tests/unit_test/mln_trait_promote.cc,
* tests/unit_test/mln_util_greater_psite.cc,
* tests/unit_test/mln_make_w_window3d_int.cc,
* tests/unit_test/mln_border_resize.cc,
* tests/unit_test/mln_accu_sum.cc,
* tests/unit_test/mln_arith_all.cc,
* tests/unit_test/mln_fun_x2x_essential.cc,
* tests/unit_test/mln_level_naive_essential.cc,
* tests/unit_test/mln_topo_internal_complex_relative_iterator_sequence.cc,
* tests/unit_test/mln_geom_min_sli.cc,
* tests/unit_test/mln_accu_volume.cc,
* tests/unit_test/mln_value_float01.cc,
* tests/unit_test/mln_value_gl16.cc,
* tests/unit_test/mln_labeling_foreground.cc,
* tests/unit_test/mln_metal_ands.cc,
* tests/unit_test/mln_fun_v2v_abs.cc,
* tests/unit_test/mln_core_concept_weighted_window.cc,
* tests/unit_test/mln_set_sym_diff.cc,
* tests/unit_test/mln_core_alias_w_window1d_int.cc,
* tests/unit_test/mln_trait_image_from_grid.cc,
* tests/unit_test/mln_debug_all.cc,
* tests/unit_test/mln_arith_essential.cc,
* tests/unit_test/mln_topo_adj_higher_dim_connected_n_face_iter.cc,
* tests/unit_test/mln_registration_essential.cc,
* tests/unit_test/mln_convert_to.cc,
* tests/unit_test/mln_fun_v2v_rgb_to_hsi.cc,
* tests/unit_test/mln_border_essential.cc,
* tests/unit_test/mln_trait_op_neq.cc,
* tests/unit_test/mln_labeling_regional_minima.cc,
* tests/unit_test/mln_estim_essential.cc,
* tests/unit_test/mln_trace_entering.cc,
* tests/unit_test/mln_metal_equal.cc,
* tests/unit_test/mln_algebra_vec.cc,
* tests/unit_test/mln_fun_p2v_iota.cc,
* tests/unit_test/mln_level_fast_median.cc,
* tests/unit_test/mln_core_concept_doc_iterator.cc,
* tests/unit_test/mln_win_multiple_size.cc,
* tests/unit_test/mln_topo_internal_complex_relative_iterator_base.cc,
* tests/unit_test/mln_metal_bexpr.cc,
* tests/unit_test/mln_fun_p2p_mirror.cc,
* tests/unit_test/mln_fun_vv2v_all.cc,
* tests/unit_test/mln_geom_seeds2tiling.cc,
* tests/unit_test/mln_core_internal_site_set_impl.cc,
* tests/unit_test/mln_core_routine_essential.cc,
* tests/unit_test/mln_labeling_all.cc,
* tests/unit_test/mln_level_approx_essential.cc,
* tests/unit_test/mln_io_pnm_save_header.cc,
* tests/unit_test/mln_value_internal_convert.cc,
* tests/unit_test/mln_canvas_labeling.cc,
* tests/unit_test/mln_value_builtin_essential.cc,
* tests/unit_test/mln_morpho_closing_height.cc,
* tests/unit_test/mln_util_array.cc,
* tests/unit_test/mln_value_aliases.cc,
* tests/unit_test/mln_essential_3d.cc,
* tests/unit_test/mln_value_hsi.cc,
* tests/unit_test/mln_accu_take.cc,
* tests/unit_test/mln_metal_goes_to.cc,
* tests/unit_test/mln_subsampling_gaussian_subsampling.cc,
* tests/unit_test/mln_core_site_set_attic_p_complex_faces_piter.cc,
* tests/unit_test/mln_draw_all.cc,
* tests/unit_test/mln_trait_window_print.cc,
* tests/unit_test/mln_core_internal_force_exact.cc,
* tests/unit_test/mln_value_set.cc,
* tests/unit_test/mln_util_lazy_set.cc,
* tests/unit_test/mln_morpho_elementary_erosion.cc,
* tests/unit_test/mln_core_site_set_p_if_piter.cc,
* tests/unit_test/mln_core_internal_image_primary.cc,
* tests/unit_test/mln_core_alias_complex_image.cc,
* tests/unit_test/mln_core_site_set_p_run.cc,
* tests/unit_test/mln_trait_op_lor.cc,
* tests/unit_test/mln_registration_get_rot.cc,
* tests/unit_test/mln_core_concept_doc_value_iterator.cc,
* tests/unit_test/mln_core_def_low_quant_nbits.cc,
* tests/unit_test/mln_make_graph.cc,
* tests/unit_test/mln_core_internal_piter_adaptor.cc,
* tests/unit_test/mln_util_line_graph.cc,
* tests/unit_test/mln_topo_algebraic_n_face.cc,
* tests/unit_test/mln_core_w_window.cc,
* tests/unit_test/mln_win_diag2d.cc,
* tests/unit_test/mln_core_image_complex_neighborhood_piter.cc,
* tests/unit_test/mln_value_concept_built_in.cc,
* tests/unit_test/mln_core_concept_point.cc,
* tests/unit_test/mln_core_internal_fixme.cc,
* tests/unit_test/mln_metal_bool.cc,
* tests/unit_test/mln_level_compare.cc,
* tests/unit_test/mln_core_window.cc,
* tests/unit_test/mln_value_concept_data.cc,
* tests/unit_test/mln_metal_math_max.cc,
* tests/unit_test/mln_core_internal_pseudo_site_base.cc,
* tests/unit_test/mln_pw_value.cc,
* tests/unit_test/mln_value_internal_integer.cc,
* tests/unit_test/mln_trait_value_quant.cc,
* tests/unit_test/mln_topo_face_data.cc,
* tests/unit_test/mln_fun_vv2v_land_not.cc,
* tests/unit_test/mln_trait_op_greater.cc,
* tests/unit_test/mln_util_yes.cc,
* tests/unit_test/mln_io_pbm_all.cc,
* tests/unit_test/mln_win_disk2d.cc,
* tests/unit_test/mln_core_routine_primary.cc,
* tests/unit_test/mln_math_round.cc,
* tests/unit_test/mln_metal_array.cc,
* tests/unit_test/mln_io_pfm_all.cc,
* tests/unit_test/mln_core_image_essential.cc,
* tests/unit_test/mln_literal_origin.cc,
* tests/unit_test/mln_win_essential.cc,
* tests/unit_test/mln_core_site_set_p_set_of.cc,
* tests/unit_test/mln_fun_v2b_essential.cc,
* tests/unit_test/mln_registration_get_rtransf.cc,
* tests/unit_test/mln_io_pnm_all.cc,
* tests/unit_test/mln_core_concept_doc_point_iterator.cc,
* tests/unit_test/mln_value_concept_structured.cc,
* tests/unit_test/mln_core_concept_pixel_iterator.cc,
* tests/unit_test/mln_util_tree_fast_to_image.cc,
* tests/unit_test/mln_level_saturate.cc,
* tests/unit_test/mln_fun_p2b_chess.cc,
* tests/unit_test/mln_core_grids.cc,
* tests/unit_test/mln_win_vline2d.cc,
* tests/unit_test/mln_fun_x2v_linear.cc,
* tests/unit_test/mln_geom_ninds.cc,
* tests/unit_test/mln_core_image_complex_image.cc,
* tests/unit_test/mln_core_image_sub_image_if.cc,
* tests/unit_test/mln_accu_bbox.cc,
* tests/unit_test/mln_accu_median_alt.cc,
* tests/unit_test/mln_morpho_line_gradient.cc,
* tests/unit_test/mln_topo_essential.cc,
* tests/unit_test/mln_core_image_complex_neighborhoods.cc,
* tests/unit_test/mln_transform_distance_front.cc,
* tests/unit_test/mln_transform_internal_all.cc,
* tests/unit_test/mln_test_positive.cc,
* tests/unit_test/mln_binarization_binarization.cc,
* tests/unit_test/mln_morpho_elementary_gradient_internal.cc,
* tests/unit_test/mln_core_site_set_p_array.cc,
* tests/unit_test/mln_fun_i2v_array.cc,
* tests/unit_test/mln_trait_op_less.cc,
* tests/unit_test/mln_win_rectangle2d.cc,
* tests/unit_test/mln_fun_x2x_rotation.cc,
* tests/unit_test/mln_core_site_set_p_image.cc,
* tests/unit_test/mln_metal_const.cc,
* tests/unit_test/mln_estim_all.cc,
* tests/unit_test/mln_core_internal_image_domain_morpher.cc,
* tests/unit_test/mln_core_concept_value_set.cc,
* tests/unit_test/mln_fun_internal_array_base.cc,
* tests/unit_test/mln_histo_data.cc,
* tests/unit_test/mln_fun_i2v_essential.cc,
* tests/unit_test/mln_core_site_set_p_centered.cc,
* tests/unit_test/mln_make_image.cc,
* tests/unit_test/mln_value_internal_essential.cc,
* tests/unit_test/mln_morpho_contrast.cc,
* tests/unit_test/mln_core_site_set_p_edges_psite.cc,
* tests/unit_test/mln_morpho_opening.cc,
* tests/unit_test/mln_set_all.cc,
* tests/unit_test/mln_fun_internal_selector.cc,
* tests/unit_test/mln_geom_ncols.cc,
* tests/unit_test/mln_canvas_browsing_fwd.cc,
* tests/unit_test/mln_extension_adjust.cc,
* tests/unit_test/mln_geom_min_col.cc,
* tests/unit_test/mln_labeling_regional_maxima.cc,
* tests/unit_test/mln_metal_unptr.cc,
* tests/unit_test/mln_trait_window_props.cc,
* tests/unit_test/mln_trait_site_set_print.cc,
* tests/unit_test/mln_geom_delta.cc,
* tests/unit_test/mln_core_site_set_p_complex_piter.cc,
* tests/unit_test/mln_io_ppm_save.cc,
* tests/unit_test/mln_fun_i2v_all_to.cc,
* tests/unit_test/mln_morpho_meyer_wst.cc,
* tests/unit_test/mln_win_hline2d.cc,
* tests/unit_test/mln_value_label_8.cc,
* tests/unit_test/mln_core_site_set_p_line2d.cc,
* tests/unit_test/mln_core_image_graph_elt_window.cc,
* tests/unit_test/mln_math_round_sat.cc,
* tests/unit_test/mln_io_pnm_max_component.cc,
* tests/unit_test/mln_convert_all.cc,
* tests/unit_test/mln_trait_op_uplus.cc,
* tests/unit_test/mln_accu_land_basic.cc,
* tests/unit_test/mln_trait_all.cc,
* tests/unit_test/mln_fun_x2v_all.cc,
* tests/unit_test/mln_core_concept_mesh.cc,
* tests/unit_test/mln_fun_vv2v_macros.cc,
* tests/unit_test/mln_fun_all.cc,
* tests/unit_test/mln_linear_essential.cc,
* tests/unit_test/mln_morpho_elementary_all.cc,
* tests/unit_test/mln_value_label_16.cc,
* tests/unit_test/mln_accu_line.cc,
* tests/unit_test/mln_core_image_fi_adaptor.cc,
* tests/unit_test/mln_norm_essential.cc,
* tests/unit_test/mln_util_max.cc,
* tests/unit_test/mln_labeling_essential.cc,
* tests/unit_test/mln_metal_math_sqrt.cc,
* tests/unit_test/mln_metal_array1d.cc,
* tests/unit_test/mln_morpho_tree_max.cc,
* tests/unit_test/mln_core_image_image2d_h.cc,
* tests/unit_test/mln_literal_zero.cc,
* tests/unit_test/mln_fun_x2v_essential.cc,
* tests/unit_test/mln_math_max.cc,
* tests/unit_test/mln_math_jacobi.cc,
* tests/unit_test/mln_geom_bbox.cc,
* tests/unit_test/mln_core_concept_doc_pixel_iterator.cc,
* tests/unit_test/mln_level_transform.cc,
* tests/unit_test/mln_geom_max_sli.cc,
* tests/unit_test/mln_draw_essential.cc,
* tests/unit_test/mln_trait_undef.cc,
* tests/unit_test/mln_estim_sum.cc,
* tests/unit_test/mln_canvas_morpho_essential.cc,
* tests/unit_test/mln_extension_duplicate.cc,
* tests/unit_test/mln_math_diff_abs.cc,
* tests/unit_test/mln_morpho_elementary_closing.cc,
* tests/unit_test/mln_morpho_min.cc,
* tests/unit_test/mln_value_float01_f.cc,
* tests/unit_test/mln_win_multiple.cc,
* tests/unit_test/mln_all.cc,
* tests/unit_test/mln_make_vec.cc,
* tests/unit_test/mln_morpho_closing_area_on_vertices.cc,
* tests/unit_test/mln_morpho_opening_volume.cc,
* tests/unit_test/mln_core_internal_complex_window_p_base.cc,
* tests/unit_test/mln_core_internal_check_image_fastest.cc,
* tests/unit_test/mln_core_image_value_enc_image.cc,
* tests/unit_test/mln_util_nil.cc,
* tests/unit_test/mln_core_all.cc,
* tests/unit_test/mln_fun_x2v_nneighbor.cc,
* tests/unit_test/mln_morpho_complementation.cc,
* tests/unit_test/mln_make_point2d_h.cc,
* tests/unit_test/mln_io_pbm_save.cc,
* tests/unit_test/mln_geom_min_ind.cc,
* tests/unit_test/mln_trait_ch_value.cc,
* tests/unit_test/mln_fun_v2b_all.cc,
* tests/unit_test/mln_core_pixel.cc,
* tests/unit_test/mln_util_tracked_ptr.cc,
* tests/unit_test/mln_test_predicate.cc,
* tests/unit_test/mln_core_alias_point1d.cc,
* tests/unit_test/mln_metal_math_pow.cc,
* tests/unit_test/mln_core_concept_site_set.cc,
* tests/unit_test/mln_labeling_relabel.cc,
* tests/unit_test/mln_convert_from_to.cc,
* tests/unit_test/mln_core_internal_site_relative_iterator_base.cc,
* tests/unit_test/mln_geom_size1d.cc,
* tests/unit_test/mln_value_internal_value_like.cc,
* tests/unit_test/mln_core_internal_exact.cc,
* tests/unit_test/mln_topo_all.cc,
* tests/unit_test/mln_topo_n_faces_set.cc,
* tests/unit_test/mln_core_internal_run_image.cc,
* tests/unit_test/mln_linear_log.cc,
* tests/unit_test/mln_convert_to_rgb.cc,
* tests/unit_test/mln_metal_is_not.cc,
* tests/unit_test/mln_core_concept_browsing.cc,
* tests/unit_test/mln_fun_x2v_l1_norm.cc,
* tests/unit_test/mln_canvas_essential.cc,
* tests/unit_test/mln_trait_op_plus.cc,
* tests/unit_test/mln_accu_tuple.cc,
* tests/unit_test/mln_core_concept_doc_point_site.cc,
* tests/unit_test/mln_core_internal_graph_window_base.cc,
* tests/unit_test/mln_core_image_obased_rle_encode.cc,
* tests/unit_test/mln_accu_convolve.cc,
* tests/unit_test/mln_border_adjust.cc,
* tests/unit_test/mln_core_internal_p_complex_piter_base.cc,
* tests/unit_test/mln_util_set.cc,
* tests/unit_test/mln_core_image_extension_val.cc,
* tests/unit_test/mln_convert_to_fun.cc,
* tests/unit_test/mln_trait_solve.cc,
* tests/unit_test/mln_util_ord_pair.cc,
* tests/unit_test/mln_math_min.cc,
* tests/unit_test/mln_logical_and.cc,
* tests/unit_test/mln_fun_v2v_essential.cc,
* tests/unit_test/mln_core_site_set_p_run_piter.cc,
* tests/unit_test/mln_linear_local_convolve.cc,
* tests/unit_test/mln_accu_median_h.cc,
* tests/unit_test/mln_fun_v2v_cast.cc,
* tests/unit_test/mln_core_concept_doc_box.cc,
* tests/unit_test/mln_level_stretch.cc,
* tests/unit_test/mln_util_index.cc,
* tests/unit_test/mln_trait_site_set_props.cc,
* tests/unit_test/mln_set_uni.cc,
* tests/unit_test/mln_morpho_opening_attribute.cc,
* tests/unit_test/mln_test_all.cc,
* tests/unit_test/mln_metal_fix_return.cc,
* tests/unit_test/mln_topo_adj_lower_face_iter.cc,
* tests/unit_test/mln_core_pixter1d.cc,
* tests/unit_test/mln_metal_unconst.cc,
* tests/unit_test/mln_core_alias_w_window2d_int.cc,
* tests/unit_test/mln_core_routine_ops.cc,
* tests/unit_test/mln_fun_v2v_inc.cc,
* tests/unit_test/mln_io_off_save.cc,
* tests/unit_test/mln_level_memset_.cc,
* tests/unit_test/mln_metal_is_not_const.cc,
* tests/unit_test/mln_accu_pair.cc,
* tests/unit_test/mln_fun_l2l_relabel.cc,
* tests/unit_test/mln_trait_op_essential.cc,
* tests/unit_test/mln_make_voronoi.cc,
* tests/unit_test/mln_core_image_safe.cc,
* tests/unit_test/mln_metal_is_ref.cc,
* tests/unit_test/mln_metal_abort.cc,
* tests/unit_test/mln_io_off_all.cc,
* tests/unit_test/mln_win_shift.cc,
* tests/unit_test/mln_metal_all.cc,
* tests/unit_test/mln_core_alias_w_window3d_float.cc,
* tests/unit_test/mln_core_internal_complex_neighborhood_base.cc,
* tests/unit_test/mln_fun_x2v_bilinear.cc,
* tests/unit_test/mln_make_dual_neighb.cc,
* tests/unit_test/mln_io_txt_all.cc,
* tests/unit_test/mln_core_site_set_p_mutable_array_of.cc,
* tests/unit_test/mln_fun_p2b_essential.cc,
* tests/unit_test/mln_core_alias_dpoint1d.cc,
* tests/unit_test/mln_make_image2d.cc,
* tests/unit_test/mln_value_int_s.cc,
* tests/unit_test/mln_win_cuboid3d.cc,
* tests/unit_test/mln_core_image_rle_encode.cc,
* tests/unit_test/mln_morpho_closing_area.cc,
* tests/unit_test/mln_accu_transform_stop.cc,
* tests/unit_test/mln_border_equalize.cc,
* tests/unit_test/mln_geom_nsites.cc,
* tests/unit_test/mln_core_image_plain.cc,
* tests/unit_test/mln_core_internal_data.cc,
* tests/unit_test/mln_metal_math_root.cc,
* tests/unit_test/mln_transform_internal_distance_functor.cc,
* tests/unit_test/mln_topo_internal_complex_set_iterator_base.cc,
* tests/unit_test/mln_io_ppm_load.cc,
* tests/unit_test/mln_value_essential.cc,
* tests/unit_test/mln_core_internal_weighted_window_base.cc,
* tests/unit_test/mln_metal_array2d.cc,
* tests/unit_test/mln_transform_distance_geodesic.cc,
* tests/unit_test/mln_core_site_set_p_n_faces_piter.cc,
* tests/unit_test/mln_geom_nslis.cc,
* tests/unit_test/mln_logical_xor.cc,
* tests/unit_test/mln_accu_height.cc,
* tests/unit_test/mln_core_concept_proxy.cc,
* tests/unit_test/mln_linear_lap.cc,
* tests/unit_test/mln_morpho_thickening.cc,
* tests/unit_test/mln_core_image_ch_piter.cc,
* tests/unit_test/mln_trait_images.cc,
* tests/unit_test/mln_metal_not_equal.cc,
* tests/unit_test/mln_level_assign.cc,
* tests/unit_test/mln_topo_adj_m_face_iter.cc,
* tests/unit_test/mln_level_apply.cc,
* tests/unit_test/mln_literal_ops.cc,
* tests/unit_test/mln_trait_value_.cc,
* tests/unit_test/mln_trace_resume.cc,
* tests/unit_test/mln_value_interval.cc,
* tests/unit_test/mln_util_internal_boost_graph_structure.cc,
* tests/unit_test/mln_metal_if.cc,
* tests/unit_test/mln_logical_essential.cc,
* tests/unit_test/mln_estim_mean.cc,
* tests/unit_test/mln_tag_essential.cc,
* tests/unit_test/mln_morpho_top_hat.cc,
* tests/unit_test/mln_value_builtin_ops.cc,
* tests/unit_test/mln_core_internal_classical_window_base.cc,
* tests/unit_test/mln_convert_to_upper_window.cc,
* tests/unit_test/mln_win_diff.cc,
* tests/unit_test/mln_fun_v2v_convert.cc,
* tests/unit_test/mln_io_pfm_save.cc,
* tests/unit_test/mln_subsampling_subsampling.cc,
* tests/unit_test/mln_level_approx_all.cc,
* tests/unit_test/mln_core_internal_pixel_iterator_base.cc,
* tests/unit_test/mln_value_internal_gray_.cc,
* tests/unit_test/mln_geom_max_col.cc,
* tests/unit_test/mln_transform_internal_influence_zone_functor.cc,
* tests/unit_test/mln_value_graylevel_f.cc,
* tests/unit_test/mln_level_was_median.cc,
* tests/unit_test/mln_core_image_rle_image.cc,
* tests/unit_test/mln_core_alias_point2d.cc,
* tests/unit_test/mln_fun_v2v_dec.cc,
* tests/unit_test/mln_value_scalar.cc,
* tests/unit_test/mln_canvas_browsing_directional.cc,
* tests/unit_test/mln_debug_iota.cc,
* tests/unit_test/mln_io_pgm_all.cc,
* tests/unit_test/mln_value_all.cc,
* tests/unit_test/mln_io_pbm_load.cc,
* tests/unit_test/mln_trait_site_sets.cc,
* tests/unit_test/mln_core_image_graph_window_piter.cc,
* tests/unit_test/mln_topo_static_n_face_iter.cc,
* tests/unit_test/mln_transform_influence_zone_front.cc,
* tests/unit_test/mln_geom_size2d.cc,
* tests/unit_test/mln_metal_essential.cc,
* tests/unit_test/mln_util_vertex.cc,
* tests/unit_test/mln_util_branch_iter.cc,
* tests/unit_test/mln_fun_v2v_linear.cc,
* tests/unit_test/mln_geom_nrows.cc,
* tests/unit_test/mln_value_super_value.cc,
* tests/unit_test/mln_value_gl8.cc,
* tests/unit_test/mln_trace_all.cc,
* tests/unit_test/mln_core_concept_doc_site_set.cc,
* tests/unit_test/mln_core_concept_site_proxy.cc,
* tests/unit_test/mln_canvas_browsing_essential.cc,
* tests/unit_test/mln_trait_value_nature.cc,
* tests/unit_test/mln_morpho_elementary_laplacian.cc,
* tests/unit_test/mln_arith_includes.cc,
* tests/unit_test/mln_fun_essential.cc,
* tests/unit_test/mln_transform_influence_zone_geodesic.cc,
* tests/unit_test/mln_value_stack.cc,
* tests/unit_test/mln_level_paste.cc,
* tests/unit_test/mln_core_image_value_encode.cc,
* tests/unit_test/mln_core_routine_extend.cc,
* tests/unit_test/mln_accu_transform.cc,
* tests/unit_test/mln_border_duplicate.cc,
* tests/unit_test/mln_trait_op_all.cc,
* tests/unit_test/mln_level_update.cc,
* tests/unit_test/mln_core_concept_delta_point_site.cc,
* tests/unit_test/mln_canvas_browsing_diagonal2d.cc,
* tests/unit_test/mln_core_pixter2d.cc,
* tests/unit_test/mln_core_image_complex_window_piter.cc,
* tests/unit_test/mln_core_concept_box.cc,
* tests/unit_test/mln_value_int_s32.cc,
* tests/unit_test/mln_core_image_graph_image.cc,
* tests/unit_test/mln_make_win_chamfer.cc,
* tests/unit_test/mln_binarization_all.cc,
* tests/unit_test/mln_arith_minus.cc,
* tests/unit_test/mln_fun_x2x_composed.cc,
* tests/unit_test/mln_fun_p2v_ternary.cc,
* tests/unit_test/mln_trait_value_essential.cc,
* tests/unit_test/mln_geom_max_ind.cc,
* tests/unit_test/mln_value_concept_symbolic.cc,
* tests/unit_test/mln_morpho_Rd.cc,
* tests/unit_test/mln_morpho_includes.cc,
* tests/unit_test/mln_accu_p.cc,
* tests/unit_test/mln_canvas_browsing_backdiagonal2d.cc,
* tests/unit_test/mln_trait_op_minus.cc,
* tests/unit_test/mln_value_lut_vec.cc,
* tests/unit_test/mln_core_site_set_p_complex.cc,
* tests/unit_test/mln_fun_v2v_saturate.cc,
* tests/unit_test/mln_pw_var.cc,
* tests/unit_test/mln_core_essential.cc,
* tests/unit_test/mln_core_site_set_box.cc,
* tests/unit_test/mln_io_all.cc,
* tests/unit_test/mln_topo_adj_lower_dim_connected_n_face_iter.cc,
* tests/unit_test/mln_io_off_load.cc,
* tests/unit_test/mln_core_alias_neighb1d.cc,
* tests/unit_test/mln_trace_stop.cc,
* tests/unit_test/mln_norm_all.cc,
* tests/unit_test/mln_labeling_level.cc,
* tests/unit_test/mln_core_alias_dpoint2d.cc,
* tests/unit_test/mln_core_dpoint.cc,
* tests/unit_test/mln_topo_internal_complex_iterator_base.cc,
* tests/unit_test/mln_accu_compute.cc,
* tests/unit_test/mln_util_tree_fast.cc,
* tests/unit_test/mln_value_concept_floating.cc,
* tests/unit_test/mln_core_image_extended.cc,
* tests/unit_test/mln_core_image_tr_mesh.cc,
* tests/unit_test/mln_core_concept_generalized_pixel.cc,
* tests/unit_test/mln_io_essential.cc,
* tests/unit_test/mln_core_image_t_image.cc,
* tests/unit_test/mln_core_image_bgraph_psite.cc,
* tests/unit_test/mln_extension_fill.cc,
* tests/unit_test/mln_linear_convolve_2x1d.cc,
* tests/unit_test/mln_trait_op_div.cc,
* tests/unit_test/mln_core_concept_doc_image_fastest.cc,
* tests/unit_test/mln_metal_has_neighborhood.cc,
* tests/unit_test/mln_io_txt_save.cc,
* tests/unit_test/mln_fun_p2v_essential.cc,
* tests/unit_test/mln_metal_array3d.cc,
* tests/unit_test/mln_trait_essential.cc,
* tests/unit_test/mln_value_builtin_promotions.cc,
* tests/unit_test/mln_core_image_complex_windows.cc,
* tests/unit_test/mln_literal_white.cc,
* tests/unit_test/mln_win_octagon2d.cc,
* tests/unit_test/mln_core_image_extension_fun.cc,
* tests/unit_test/mln_value_concept_vectorial.cc,
* tests/unit_test/mln_norm_linfty.cc,
* tests/unit_test/mln_metal_unref.cc,
* tests/unit_test/mln_core_image_mono_rle_encode.cc,
* tests/unit_test/mln_value_builtin_integers.cc,
* tests/unit_test/mln_registration_all.cc,
* tests/unit_test/mln_core_trait_essential.cc,
* tests/unit_test/mln_metal_math_all.cc,
* tests/unit_test/mln_value_rgb.cc,
* tests/unit_test/mln_core_image_decorated_image.cc,
* tests/unit_test/mln_core_site_set_p_priority.cc,
* tests/unit_test/mln_util_dindex.cc,
* tests/unit_test/mln_morpho_elementary_opening.cc,
* tests/unit_test/mln_convert_to_window.cc,
* tests/unit_test/mln_logical_or.cc,
* tests/unit_test/mln_core_image_image_if.cc,
* tests/unit_test/mln_make_relabelfun.cc,
* tests/unit_test/mln_subsampling_all.cc,
* tests/unit_test/mln_morpho_elementary_like_ero_set.cc,
* tests/unit_test/mln_value_internal_encoding.cc,
* tests/unit_test/mln_core_concept_doc_neighborhood.cc,
* tests/unit_test/mln_core_concept_doc_window.cc,
* tests/unit_test/mln_win_cube3d.cc,
* tests/unit_test/mln_border_fill.cc,
* tests/unit_test/mln_set_diff.cc,
* tests/unit_test/mln_algebra_all.cc,
* tests/unit_test/mln_trace_exiting.cc,
* tests/unit_test/mln_core_site_set_operators.cc,
* tests/unit_test/mln_core_def_coord.cc,
* tests/unit_test/mln_fun_v2b_lnot.cc,
* tests/unit_test/mln_core_site_set_attic_p_faces_piter.cc,
* tests/unit_test/mln_trait_solve_binary.cc,
* tests/unit_test/mln_core_alias_point3d.cc,
* tests/unit_test/mln_core_concept_doc_generalized_pixel.cc,
* tests/unit_test/mln_canvas_all.cc,
* tests/unit_test/mln_level_compute.cc,
* tests/unit_test/mln_level_naive_median.cc,
* tests/unit_test/mln_level_convert.cc,
* tests/unit_test/mln_io_pfm_load.cc,
* tests/unit_test/mln_geom_size3d.cc,
* tests/unit_test/mln_fun_l2l_essential.cc,
* tests/unit_test/mln_value_int_u.cc,
* tests/unit_test/mln_core_internal_site_iterator_base.cc,
* tests/unit_test/mln_accu_center.cc,
* tests/unit_test/mln_core_routine_initialize.cc,
* tests/unit_test/mln_core_concept_literal.cc,
* tests/unit_test/mln_make_w_window1d.cc,
* tests/unit_test/mln_accu_count_adjacent_vertices.cc,
* tests/unit_test/mln_metal_converts_to.cc,
* tests/unit_test/mln_fun_vv2v_diff_abs.cc,
* tests/unit_test/mln_make_w_window1d_int.cc,
* tests/unit_test/mln_morpho_all.cc,
* tests/unit_test/mln_trait_windows.cc,
* tests/unit_test/mln_metal_ref.cc,
* tests/unit_test/mln_level_all.cc,
* tests/unit_test/mln_value_internal_gray_f.cc,
* tests/unit_test/mln_literal_grays.cc,
* tests/unit_test/mln_canvas_browsing_snake_vert.cc,
* tests/unit_test/mln_trait_op_eq.cc,
* tests/unit_test/mln_value_builtin_floatings.cc,
* tests/unit_test/mln_math_sign.cc,
* tests/unit_test/mln_core_pixter3d.cc,
* tests/unit_test/mln_morpho_opening_height.cc,
* tests/unit_test/mln_value_other.cc,
* tests/unit_test/mln_value_proxy.cc,
* tests/unit_test/mln_core_concept_doc_object.cc,
* tests/unit_test/mln_level_essential.cc,
* tests/unit_test/mln_core_alias_w_window3d_int.cc,
* tests/unit_test/mln_value_int_s16.cc,
* tests/unit_test/mln_metal_same_point.cc,
* tests/unit_test/mln_trait_op_postinc.cc,
* tests/unit_test/mln_core_routine_exact.cc,
* tests/unit_test/mln_core_image_all.cc,
* tests/unit_test/mln_fun_p2b_all.cc,
* tests/unit_test/mln_core_internal_set_of.cc,
* tests/unit_test/mln_core_concept_graph.cc,
* tests/unit_test/mln_win_sym.cc,
* tests/unit_test/mln_set_has.cc,
* tests/unit_test/mln_util_internal_vertex_impl.cc,
* tests/unit_test/mln_core_site_set_p_bgraph.cc,
* tests/unit_test/mln_convert_impl_all.cc,
* tests/unit_test/mln_topo_attic_faces_iter.cc,
* tests/unit_test/mln_core_site_set_p_bgraph_piter.cc,
* tests/unit_test/mln_accu_rank_high_quant.cc,
* tests/unit_test/mln_core_site_set_box_piter.cc,
* tests/unit_test/mln_core_alias_neighb2d.cc,
* tests/unit_test/mln_core_image_mono_obased_rle_image.cc,
* tests/unit_test/mln_metal_mat.cc,
* tests/unit_test/mln_core_alias_dpoint3d.cc,
* tests/unit_test/mln_util_all.cc,
* tests/unit_test/mln_core_tags.cc,
* tests/unit_test/mln_core_concept_pseudo_site.cc,
* tests/unit_test/mln_util_eat.cc,
* tests/unit_test/mln_norm_l1.cc,
* tests/unit_test/mln_util_lemmings.cc,
* tests/unit_test/mln_fun_ops.cc,
* tests/unit_test/mln_core_image_sparse_image.cc,
* tests/unit_test/mln_arith_plus.cc,
* tests/unit_test/mln_core_internal_check_image_all.cc,
* tests/unit_test/mln_morpho_tree_all.cc,
* tests/unit_test/mln_metal_int.cc,
* tests/unit_test/mln_core_internal_site_set_base.cc,
* tests/unit_test/mln_topo_centered_iter_adapter.cc,
* tests/unit_test/mln_value_rgb16.cc,
* tests/unit_test/mln_geom_min_row.cc,
* tests/unit_test/mln_math_all.cc,
* tests/unit_test/mln_metal_none.cc,
* tests/unit_test/mln_debug_println_with_border.cc,
* tests/unit_test/mln_core_trait_op_mult.cc,
* tests/unit_test/mln_trait_value_print.cc,
* tests/unit_test/mln_core_macros.cc,
* tests/unit_test/mln_metal_is.cc,
* tests/unit_test/mln_morpho_elementary_essential.cc,
* tests/unit_test/mln_value_int_s8.cc,
* tests/unit_test/mln_trait_op_not.cc,
* tests/unit_test/mln_core_concept_accumulator.cc,
* tests/unit_test/mln_morpho_thinning.cc,
* tests/unit_test/mln_geom_seeds2tiling_roundness.cc,
* tests/unit_test/mln_tag_all.cc,
* tests/unit_test/mln_topo_center_only_iter.cc,
* tests/unit_test/mln_value_float01_16.cc,
* tests/unit_test/mln_util_tree_to_fast.cc,
* tests/unit_test/mln_core_site_set_p_edges.cc,
* tests/unit_test/mln_core_alias_window1d.cc,
* tests/unit_test/mln_util_timer.cc,
* tests/unit_test/mln_core_internal_image_value_morpher.cc,
* tests/unit_test/mln_math_sqr.cc,
* tests/unit_test/mln_binarization_includes.cc,
* tests/unit_test/mln_accu_max.cc,
* tests/unit_test/mln_morpho_thick_miss.cc,
* tests/unit_test/mln_transform_essential.cc,
* tests/unit_test/mln_trait_op_ord.cc,
* tests/unit_test/mln_fun_x2p_closest_point.cc,
* tests/unit_test/mln_topo_algebraic_face.cc,
* tests/unit_test/mln_accu_lor_basic.cc,
* tests/unit_test/mln_core_concept_regular_grid.cc,
* tests/unit_test/mln_fun_l2l_all.cc,
* tests/unit_test/mln_fun_c.cc,
* tests/unit_test/mln_debug_colorize.cc,
* tests/unit_test/mln_metal_same_coord.cc,
* tests/unit_test/mln_core_alias_box1d.cc,
* tests/unit_test/mln_io_pnm_save.cc,
* tests/unit_test/mln_logical_includes.cc,
* tests/unit_test/mln_trait_image_print.cc,
* tests/unit_test/mln_linear_all.cc,
* tests/unit_test/mln_trait_op_postdec.cc,
* tests/unit_test/mln_metal_is_const.cc,
* tests/unit_test/mln_morpho_tree_utils.cc,
* tests/unit_test/mln_core_neighb.cc,
* tests/unit_test/mln_algebra_essential.cc,
* tests/unit_test/mln_core_concept_image.cc,
* tests/unit_test/mln_core_site_set_p_faces.cc,
* tests/unit_test/mln_core_alias_point2d_h.cc,
* tests/unit_test/mln_util_branch_iter_ind.cc,
* tests/unit_test/mln_fun_vv2v_vec.cc,
* tests/unit_test/mln_topo_is_simple_2d.cc,
* tests/unit_test/mln_io_ppm_all.cc,
* tests/unit_test/mln_util_multi_site.cc,
* tests/unit_test/mln_display_essential.cc,
* tests/unit_test/mln_morpho_elementary_dilation.cc,
* tests/unit_test/mln_fun_v2v_all.cc,
* tests/unit_test/mln_core_alias_p_runs2d.cc,
* tests/unit_test/mln_accu_nil.cc,
* tests/unit_test/mln_level_memcpy_.cc,
* tests/unit_test/mln_make_w_window2d.cc,
* tests/unit_test/mln_fun_x2x_all.cc,
* tests/unit_test/mln_level_naive_all.cc,
* tests/unit_test/mln_trace_warning.cc,
* tests/unit_test/mln_debug_draw_graph.cc,
* tests/unit_test/mln_accu_rank.cc,
* tests/unit_test/mln_set_compute.cc,
* tests/unit_test/mln_accu_lor.cc,
* tests/unit_test/mln_io_pgm_save.cc,
* tests/unit_test/mln_core_concept_window.cc,
* tests/unit_test/mln_draw_plot.cc,
* tests/unit_test/mln_core_image_lazy_image.cc,
* tests/unit_test/mln_extension_adjust_fill.cc,
* tests/unit_test/mln_util_tree.cc,
* tests/unit_test/mln_win_inter.cc,
* tests/unit_test/mln_core_internal_image_identity.cc,
* tests/unit_test/mln_linear_gaussian.cc,
* tests/unit_test/mln_core_internal_window_base.cc,
* tests/unit_test/mln_binarization_threshold.cc,
* tests/unit_test/mln_make_all.cc,
* tests/unit_test/mln_trace_quiet.cc,
* tests/unit_test/mln_core_image_cast_image.cc,
* tests/unit_test/mln_morpho_elementary_top_hat.cc,
* tests/unit_test/mln_norm_l2.cc,
* tests/unit_test/mln_debug_put_word.cc,
* tests/unit_test/mln_accu_maj_h.cc,
* tests/unit_test/mln_fun_v2v_enc.cc,
* tests/unit_test/mln_trait_neighborhood.cc,
* tests/unit_test/mln_geom_chamfer.cc,
* tests/unit_test/mln_morpho_tree_data.cc,
* tests/unit_test/mln_metal_is_not_a.cc,
* tests/unit_test/mln_accu_min.cc,
* tests/unit_test/mln_core_image_mono_obased_rle_encode.cc,
* tests/unit_test/mln_geom_all.cc,
* tests/unit_test/mln_tag_skeleton.cc,
* tests/unit_test/mln_morpho_internal_elementary.cc,
* tests/unit_test/mln_morpho_dilation.cc,
* tests/unit_test/mln_core_alias_w_window1d_float.cc,
* tests/unit_test/mln_metal_templated_by.cc,
* tests/unit_test/mln_util_pix.cc,
* tests/unit_test/mln_geom_essential.cc,
* tests/unit_test/mln_level_to_enc.cc,
* tests/unit_test/mln_util_internal_graph_nbh_iter_base.cc,
* tests/unit_test/mln_value_rgb8.cc,
* tests/unit_test/mln_canvas_morpho_algebraic_union_find.cc,
* tests/unit_test/mln_util_tree_to_image.cc,
* tests/unit_test/mln_accu_rank_bool.cc,
* tests/unit_test/mln_morpho_general.cc,
* tests/unit_test/mln_core_alias_complex_geometry.cc,
* tests/unit_test/mln_core_alias_neighb3d.cc,
* tests/unit_test/mln_algebra_h_mat.cc,
* tests/unit_test/mln_core_image_sub_image.cc,
* tests/unit_test/mln_canvas_browsing_snake_fwd.cc,
* tests/unit_test/mln_canvas_browsing_dir_struct_elt_incr_update.cc,
* tests/unit_test/mln_core_concept_function.cc,
* tests/unit_test/mln_labeling_background.cc,
* tests/unit_test/mln_core_image_extension_ima.cc,
* tests/unit_test/mln_core_def_essential.cc,
* tests/unit_test/mln_util_internal_graph_iter.cc,
* tests/unit_test/mln_fun_vv2v_max.cc,
* tests/unit_test/mln_core_image_image1d.cc,
* tests/unit_test/mln_core_trait_all.cc,
* tests/unit_test/mln_level_median.cc,
* tests/unit_test/mln_util_essential.cc,
* tests/unit_test/mln_value_equiv.cc,
* tests/unit_test/mln_canvas_morpho_all.cc,
* tests/unit_test/mln_core_concept_doc_accumulator.cc,
* tests/unit_test/mln_core_concept_object.cc,
* tests/unit_test/mln_core_site_set_p_graph_piter.cc,
* tests/unit_test/mln_core_alias_p_run2d.cc,
* tests/unit_test/mln_core_concept_neighborhood.cc,
* tests/unit_test/mln_set_inter.cc,
* tests/unit_test/mln_core_faces_psite.cc,
* tests/unit_test/mln_core_concept_value.cc,
* tests/unit_test/mln_topo_n_face_iter.cc,
* tests/unit_test/mln_core_var.cc,
* tests/unit_test/mln_morpho_closing_attribute.cc,
* tests/unit_test/mln_trace_essential.cc,
* tests/unit_test/mln_border_mirror.cc,
* tests/unit_test/mln_geom_resize.cc,
* tests/unit_test/mln_morpho_elementary_gradient_external.cc,
* tests/unit_test/mln_trait_image_props.cc,
* tests/unit_test/mln_arith_min.cc,
* tests/unit_test/mln_make_box1d.cc,
* tests/unit_test/mln_morpho_opening_area.cc,
* tests/unit_test/mln_border_get.cc,
* tests/unit_test/mln_core_image_line_graph_elt_window.cc,
* tests/unit_test/mln_core_alias_window2d.cc,
* tests/unit_test/mln_morpho_minus.cc,
* tests/unit_test/mln_value_int_u32.cc,
* tests/unit_test/mln_core_routine_init.cc,
* tests/unit_test/mln_accu_essential.cc,
* tests/unit_test/mln_trait_op_leq.cc,
* tests/unit_test/mln_core_concept_gpoint.cc,
* tests/unit_test/mln_core_category.cc,
* tests/unit_test/mln_value_cast.cc,
* tests/unit_test/mln_fun_vv2v_lor.cc,
* tests/unit_test/mln_core_trait_qlf_value.cc,
* tests/unit_test/mln_core_concept_all.cc,
* tests/unit_test/mln_essential_routine.cc,
* tests/unit_test/mln_debug_println.cc,
* tests/unit_test/mln_value_ops.cc,
* tests/unit_test/mln_level_transform_inplace.cc,
* tests/unit_test/mln_labeling_blobs.cc,
* tests/unit_test/mln_io_abort.cc,
* tests/unit_test/mln_algebra_mat.cc,
* tests/unit_test/mln_geom_pmin_pmax.cc,
* tests/unit_test/mln_core_alias_box2d.cc,
* tests/unit_test/mln_core_image_hexa.cc,
* tests/unit_test/mln_core_site_set_p_double.cc,
* tests/unit_test/mln_core_image_tr_image.cc,
* tests/unit_test/mln_morpho_skeleton_constrained.cc,
* tests/unit_test/mln_core_def_coordf.cc,
* tests/unit_test/mln_math_sqrt.cc,
* tests/unit_test/mln_value_glf.cc,
* tests/unit_test/mln_draw_box.cc,
* tests/unit_test/mln_level_sort_psites.cc,
* tests/unit_test/mln_morpho_elementary_gradient.cc,
* tests/unit_test/mln_morpho_closing_volume.cc,
* tests/unit_test/mln_canvas_browsing_all.cc,
* tests/unit_test/mln_fun_vv2v_min.cc,
* tests/unit_test/mln_core_site_set_all.cc,
* tests/unit_test/mln_io_pnm_load.cc,
* tests/unit_test/mln_fun_v2v_norm.cc,
* tests/unit_test/mln_make_w_window3d.cc,
* tests/unit_test/mln_util_ord.cc,
* tests/unit_test/mln_topo_face_iter.cc,
* tests/unit_test/mln_geom_max_row.cc,
* tests/unit_test/mln_linear_sobel_2d.cc,
* tests/unit_test/mln_linear_convolve.cc,
* tests/unit_test/mln_core_trait_pixter.cc,
* tests/unit_test/mln_core_image_mono_rle_image.cc,
* tests/unit_test/mln_fun_x2p_essential.cc,
* tests/unit_test/mln_literal_black.cc,
* tests/unit_test/mln_make_w_window2d_int.cc,
* tests/unit_test/mln_literal_one.cc,
* tests/unit_test/mln_make_pix.cc,
* tests/unit_test/mln_pw_essential.cc,
* tests/unit_test/mln_core_site_set_essential.cc,
* tests/unit_test/mln_core_concept_doc_weighted_window.cc,
* tests/unit_test/mln_logical_all.cc,
* tests/unit_test/mln_morpho_erosion.cc,
* tests/unit_test/mln_morpho_hit_or_miss.cc,
* tests/unit_test/mln_core_internal_graph_psite_base.cc,
* tests/unit_test/mln_win_line.cc,
* tests/unit_test/mln_trait_concrete.cc,
* tests/unit_test/mln_make_w_window_directional.cc,
* tests/unit_test/mln_arith_times.cc,
* tests/unit_test/mln_morpho_laplacian.cc,
* tests/unit_test/mln_labeling_compute.cc,
* tests/unit_test/mln_io_pgm_load.cc,
* tests/unit_test/mln_value_label.cc,
* tests/unit_test/mln_convert_impl_from_value_to_value.cc,
* tests/unit_test/mln_core_site_set_p_set.cc,
* tests/unit_test/mln_accu_histo.cc,
* tests/unit_test/mln_morpho_gradient.cc,
* tests/unit_test/mln_make_box2d_h.cc,
* tests/unit_test/mln_trait_op_times.cc,
* tests/unit_test/mln_make_essential.cc,
* tests/unit_test/mln_accu_min_h.cc,
* tests/unit_test/mln_test_essential.cc,
* tests/unit_test/mln_core_site_set_p_queue_fast.cc,
* tests/unit_test/mln_core_concept_site.cc,
* tests/unit_test/mln_morpho_tree_compute_parent.cc,
* tests/unit_test/mln_core_concept_doc_image.cc,
* tests/unit_test/mln_make_w_window.cc,
* tests/unit_test/mln_histo_essential.cc,
* tests/unit_test/mln_canvas_distance_front.cc,
* tests/unit_test/mln_convert_to_dpoint.cc,
* tests/unit_test/mln_binarization_essential.cc,
* tests/unit_test/mln_core_concept_point_site.cc,
* tests/unit_test/mln_value_float01_.cc,
* tests/unit_test/mln_util_internal_graph_nbh_iter.cc,
* tests/unit_test/mln_core_concept_doc_dpoint.cc,
* tests/unit_test/mln_canvas_browsing_depth_first_search.cc,
* tests/unit_test/mln_core_site_set_p_queue.cc,
* tests/unit_test/mln_essential_1d.cc,
* tests/unit_test/mln_logical_and_not.cc,
* tests/unit_test/mln_topo_n_face.cc,
* tests/unit_test/mln_core_site_set_p_vaccess.cc,
* tests/unit_test/mln_core_internal_image_base.cc,
* tests/unit_test/mln_util_internal_boost_graph_access.cc,
* tests/unit_test/mln_value_int_u_sat.cc,
* tests/unit_test/mln_histo_compute.cc,
* tests/unit_test/mln_fun_vv2v_essential.cc,
* tests/unit_test/mln_core_internal_image_morpher.cc,
* tests/unit_test/mln_core_image_image2d.cc,
* tests/unit_test/mln_io_pnm_macros.cc,
* tests/unit_test/mln_core_a_point_of.cc,
* tests/unit_test/mln_core_concept_gdpoint.cc,
* tests/unit_test/mln_io_fits_load.cc,
* tests/unit_test/mln_tag_init.cc,
* tests/unit_test/mln_core_concept_site_iterator.cc,
* tests/unit_test/mln_labeling_flat_zones.cc,
* tests/unit_test/mln_canvas_browsing_snake_generic.cc,
* tests/unit_test/mln_level_replace.cc,
* tests/unit_test/mln_value_int_u8.cc,
* tests/unit_test/mln_transform_all.cc,
* tests/unit_test/mln_morpho_tree_compute_attribute_image.cc,
* tests/unit_test/mln_accu_land.cc,
* tests/unit_test/mln_make_box2d.cc,
* tests/unit_test/mln_metal_ret.cc,
* tests/unit_test/mln_core_alias_window3d.cc,
* tests/unit_test/mln_core_clock_neighb.cc,
* tests/unit_test/mln_util_ignore.cc,
* tests/unit_test/mln_value_int_u16.cc,
* tests/unit_test/mln_extension_essential.cc,
* tests/unit_test/mln_accu_count.cc,
* tests/unit_test/mln_core_dpoints_pixter.cc,
* tests/unit_test/mln_io_fits_all.cc,
* tests/unit_test/mln_core_image_line_graph_image.cc,
* tests/unit_test/mln_core_image_sparse_encode.cc,
* tests/unit_test/mln_arith_diff_abs.cc,
* tests/unit_test/mln_accu_max_h.cc,
* tests/unit_test/mln_estim_min_max.cc,
* tests/unit_test/mln_value_float01_8.cc,
* tests/unit_test/mln_debug_essential.cc,
* tests/unit_test/mln_core_def_all.cc,
* tests/unit_test/mln_metal_vec.cc,
* tests/unit_test/mln_core_alias_box3d.cc,
* tests/unit_test/mln_accu_internal_base.cc,
* tests/unit_test/mln_util_edge.cc,
* tests/unit_test/mln_fun_p2b_big_chess.cc,
* tests/unit_test/mln_core_image_hexa_piter.cc,
* tests/unit_test/mln_linear_convolve_directional.cc,
* tests/unit_test/mln_draw_line.cc,
* tests/unit_test/mln_core_image_interpolated.cc,
* tests/unit_test/mln_fun_x2p_all.cc,
* tests/unit_test/mln_canvas_browsing_hyper_directional.cc,
* tests/unit_test/mln_level_fill_with_image.cc,
* tests/unit_test/mln_morpho_elementary_like_ero_fun.cc,
* tests/unit_test/mln_convert_to_p_set.cc,
* tests/unit_test/mln_level_approx_median.cc,
* tests/unit_test/mln_literal_colors.cc,
* tests/unit_test/mln_util_internal_edge_impl.cc,
* tests/unit_test/mln_core_image_bgraph_image.cc,
* tests/unit_test/mln_value_concept_all.cc,
* tests/unit_test/mln_trait_op_or.cc,
* tests/unit_test/mln_accu_transform_directional.cc,
* tests/unit_test/mln_morpho_rank_filter.cc,
* tests/unit_test/mln_value_viter.cc,
* tests/unit_test/mln_core_internal_site_set_iterator_base.cc,
* tests/unit_test/mln_topo_adj_higher_face_iter.cc,
* tests/unit_test/mln_convert_impl_from_image_to_site_set.cc,
* tests/unit_test/mln_convert_essential.cc,
* tests/unit_test/mln_algebra_quat.cc,
* tests/unit_test/mln_morpho_thin_fit.cc,
* tests/unit_test/mln_debug_format.cc,
* tests/unit_test/mln_value_concept_essential.cc,
* tests/unit_test/mln_pw_cst.cc,
* tests/unit_test/mln_topo_face.cc,
* tests/unit_test/mln_fun_v2v_id.cc,
* tests/unit_test/mln_core_point.cc,
* tests/unit_test/mln_metal_is_unqualif.cc,
* tests/unit_test/mln_trait_op_and.cc,
* tests/unit_test/mln_extension_all.cc,
* tests/unit_test/mln_registration_registration.cc,
* tests/unit_test/mln_value_concept_integer.cc,
* tests/unit_test/mln_core_internal_neighborhood_base.cc,
* tests/unit_test/mln_border_all.cc,
* tests/unit_test/mln_core_box_runstart_piter.cc,
* tests/unit_test/mln_metal_unqualif.cc,
* tests/unit_test/mln_core_alias_point3df.cc,
* tests/unit_test/mln_trait_value_all.cc,
* tests/unit_test/mln_make_double_neighb2d.cc,
* tests/unit_test/mln_core_image_obased_rle_image.cc,
* tests/unit_test/mln_core_concept_iterator.cc,
* tests/unit_test/mln_value_concept_scalar.cc,
* tests/unit_test/mln_level_fill.cc,
* tests/unit_test/mln_make_mat.cc,
* tests/unit_test/mln_trait_op_mod.cc,
* tests/unit_test/mln_trait_op_preinc.cc,
* tests/unit_test/mln_morpho_closing.cc,
* tests/unit_test/mln_accu_min_max.cc,
* tests/unit_test/mln_util_internal_graph_base.cc,
* tests/unit_test/mln_core_routine_all.cc,
* tests/unit_test/mln_fun_p2b_has.cc,
* tests/unit_test/mln_value_graylevel.cc,
* tests/unit_test/mln_make_dpoint2d_h.cc,
* tests/unit_test/mln_io_pnm_load_header.cc,
* tests/unit_test/mln_value_internal_iterable_set.cc,
* tests/unit_test/mln_subsampling_essential.cc,
* tests/unit_test/mln_level_abs.cc,
* tests/unit_test/mln_value_sign.cc,
* tests/unit_test/mln_arith_revert.cc,
* tests/unit_test/mln_convert_to_p_array.cc,
* tests/unit_test/mln_linear_ch_convolve.cc,
* tests/unit_test/mln_util_greater_point.cc,
* tests/unit_test/mln_fun_internal_x2x_linear_impl.cc,
* tests/unit_test/mln_fun_cast.cc,
* tests/unit_test/mln_core_image_flat_image.cc,
* tests/unit_test/mln_set_essential.cc,
* tests/unit_test/mln_literal_essential.cc,
* tests/unit_test/mln_topo_complex_iterators.cc,
* tests/unit_test/mln_accu_transform_diagonal.cc,
* tests/unit_test/mln_core_internal_geom_bbox.cc,
* tests/unit_test/mln_core_alias_box2d_h.cc,
* tests/unit_test/mln_fun_p2v_all.cc,
* tests/unit_test/mln_fun_vv2v_land.cc,
* tests/unit_test/mln_core_site_set_p_vertices.cc,
* tests/unit_test/mln_core_alias_dpoint2d_h.cc,
* tests/unit_test/mln_essential_2d.cc,
* tests/unit_test/mln_util_site_pair.cc,
* tests/unit_test/mln_trait_op_geq.cc,
* tests/unit_test/mln_pw_all.cc,
* tests/unit_test/mln_core_site_set_p_vertices_psite.cc,
* tests/unit_test/mln_core_image_image3d.cc,
* tests/unit_test/mln_value_builtin_symbolics.cc,
* tests/unit_test/mln_registration_internal_rms.cc,
* tests/unit_test/mln_core_internal_morpher_lvalue.cc,
* tests/unit_test/mln_border_thickness.cc,
* tests/unit_test/mln_logical_not.cc,
* tests/unit_test/mln_core_concept_doc_value_set.cc,
* tests/unit_test/mln_fun_i2v_all.cc,
* tests/unit_test/mln_math_essential.cc,
* tests/unit_test/mln_util_internal_boost_graph.cc,
* tests/unit_test/mln_value_internal_all.cc,
* tests/unit_test/mln_fun_p2v_elifs.cc,
* tests/unit_test/mln_accu_all.cc,
* tests/unit_test/mln_level_fill_with_value.cc,
* tests/unit_test/mln_util_internal_boost_graph_property.cc,
* tests/unit_test/mln_registration_icp.cc,
* tests/unit_test/mln_core_internal_pixel_impl.cc,
* tests/unit_test/mln_fun_x2x_translation.cc,
* tests/unit_test/mln_morpho_plus.cc,
* tests/unit_test/mln_util_internal_graph_iter_base.cc,
* tests/unit_test/mln_topo_complex.cc,
* tests/unit_test/mln_trait_op_decl.cc,
* tests/unit_test/mln_metal_is_not_ref.cc,
* tests/unit_test/mln_trait_op_xor.cc,
* tests/unit_test/mln_accu_mean.cc,
* tests/unit_test/mln_morpho_essential.cc,
* tests/unit_test/mln_make_box3d.cc,
* tests/unit_test/mln_fun_v2b_threshold.cc,
* tests/unit_test/mln_border_find.cc,
* tests/unit_test/mln_core_internal_box_impl.cc,
* tests/unit_test/mln_histo_all.cc,
* tests/unit_test/mln_make_pixel.cc,
* tests/unit_test/mln_math_abs.cc,
* tests/unit_test/mln_extension_adjust_duplicate.cc,
* tests/unit_test/mln_core_concept_dpoint.cc,
* tests/unit_test/mln_core_site_set_complex_psite.cc,
* tests/unit_test/mln_core_internal_neighb_niter_impl.cc,
* tests/unit_test/mln_convert_to_image.cc,
* tests/unit_test/mln_literal_all.cc,
* tests/unit_test/mln_trait_value_kind.cc,
Makefile.am | 3714 ++++++++--------
build_unit_test.sh | 22
mln_accu_all.cc | 5
mln_accu_bbox.cc | 5
mln_accu_center.cc | 5
mln_accu_compute.cc | 5
mln_accu_convolve.cc | 5
mln_accu_count.cc | 5
mln_accu_count_adjacent_vertices.cc | 5
mln_accu_essential.cc | 5
mln_accu_height.cc | 5
mln_accu_histo.cc | 5
mln_accu_internal_base.cc | 5
mln_accu_land.cc | 5
mln_accu_land_basic.cc | 5
mln_accu_line.cc | 5
mln_accu_lor.cc | 5
mln_accu_lor_basic.cc | 5
mln_accu_maj_h.cc | 5
mln_accu_max.cc | 5
mln_accu_max_h.cc | 5
mln_accu_mean.cc | 5
mln_accu_median_alt.cc | 5
mln_accu_median_h.cc | 5
mln_accu_min.cc | 5
mln_accu_min_h.cc | 5
mln_accu_min_max.cc | 5
mln_accu_nil.cc | 5
mln_accu_p.cc | 5
mln_accu_pair.cc | 5
mln_accu_rank.cc | 5
mln_accu_rank_bool.cc | 5
mln_accu_rank_high_quant.cc | 5
mln_accu_sum.cc | 5
mln_accu_take.cc | 5
mln_accu_transform.cc | 5
mln_accu_transform_diagonal.cc | 5
mln_accu_transform_directional.cc | 5
mln_accu_transform_snake.cc | 5
mln_accu_transform_stop.cc | 5
mln_accu_tuple.cc | 5
mln_accu_v.cc | 5
mln_accu_volume.cc | 5
mln_algebra_all.cc | 5
mln_algebra_essential.cc | 5
mln_algebra_h_mat.cc | 5
mln_algebra_h_vec.cc | 5
mln_algebra_mat.cc | 5
mln_algebra_quat.cc | 5
mln_algebra_vec.cc | 5
mln_all.cc | 5
mln_arith_all.cc | 5
mln_arith_diff_abs.cc | 5
mln_arith_essential.cc | 5
mln_arith_includes.cc | 5
mln_arith_min.cc | 5
mln_arith_minus.cc | 5
mln_arith_plus.cc | 5
mln_arith_revert.cc | 5
mln_arith_times.cc | 5
mln_binarization_all.cc | 5
mln_binarization_binarization.cc | 5
mln_binarization_essential.cc | 5
mln_binarization_includes.cc | 5
mln_binarization_threshold.cc | 5
mln_border_adjust.cc | 5
mln_border_all.cc | 5
mln_border_duplicate.cc | 5
mln_border_equalize.cc | 5
mln_border_essential.cc | 5
mln_border_fill.cc | 5
mln_border_find.cc | 5
mln_border_get.cc | 5
mln_border_mirror.cc | 5
mln_border_resize.cc | 5
mln_border_thickness.cc | 5
mln_canvas_all.cc | 5
mln_canvas_browsing_all.cc | 5
mln_canvas_browsing_backdiagonal2d.cc | 5
mln_canvas_browsing_depth_first_search.cc | 5
mln_canvas_browsing_diagonal2d.cc | 5
mln_canvas_browsing_dir_struct_elt_incr_update.cc | 5
mln_canvas_browsing_directional.cc | 5
mln_canvas_browsing_essential.cc | 5
mln_canvas_browsing_fwd.cc | 5
mln_canvas_browsing_hyper_directional.cc | 5
mln_canvas_browsing_snake_fwd.cc | 5
mln_canvas_browsing_snake_generic.cc | 5
mln_canvas_browsing_snake_vert.cc | 5
mln_canvas_chamfer.cc | 5
mln_canvas_distance_front.cc | 5
mln_canvas_distance_geodesic.cc | 5
mln_canvas_essential.cc | 5
mln_canvas_labeling.cc | 5
mln_canvas_morpho_algebraic_union_find.cc | 5
mln_canvas_morpho_all.cc | 5
mln_canvas_morpho_essential.cc | 5
mln_convert_all.cc | 5
mln_convert_essential.cc | 5
mln_convert_from_to.cc | 5
mln_convert_impl_all.cc | 5
mln_convert_impl_from_image_to_site_set.cc | 5
mln_convert_impl_from_value_to_value.cc | 5
mln_convert_to.cc | 5
mln_convert_to_dpoint.cc | 5
mln_convert_to_fun.cc | 5
mln_convert_to_image.cc | 5
mln_convert_to_p_array.cc | 5
mln_convert_to_p_set.cc | 5
mln_convert_to_rgb.cc | 5
mln_convert_to_upper_window.cc | 5
mln_convert_to_window.cc | 5
mln_core_a_point_of.cc | 5
mln_core_alias_box1d.cc | 5
mln_core_alias_box2d.cc | 5
mln_core_alias_box2d_h.cc | 5
mln_core_alias_box3d.cc | 5
mln_core_alias_complex_geometry.cc | 5
mln_core_alias_complex_image.cc | 5
mln_core_alias_dpoint1d.cc | 5
mln_core_alias_dpoint2d.cc | 5
mln_core_alias_dpoint2d_h.cc | 5
mln_core_alias_dpoint3d.cc | 5
mln_core_alias_neighb1d.cc | 5
mln_core_alias_neighb2d.cc | 5
mln_core_alias_neighb3d.cc | 5
mln_core_alias_p_run2d.cc | 5
mln_core_alias_p_runs2d.cc | 5
mln_core_alias_point1d.cc | 5
mln_core_alias_point2d.cc | 5
mln_core_alias_point2d_h.cc | 5
mln_core_alias_point3d.cc | 5
mln_core_alias_point3df.cc | 5
mln_core_alias_w_window1d_float.cc | 5
mln_core_alias_w_window1d_int.cc | 5
mln_core_alias_w_window2d_float.cc | 5
mln_core_alias_w_window2d_int.cc | 5
mln_core_alias_w_window3d_float.cc | 5
mln_core_alias_w_window3d_int.cc | 5
mln_core_alias_window1d.cc | 5
mln_core_alias_window2d.cc | 5
mln_core_alias_window3d.cc | 5
mln_core_all.cc | 5
mln_core_box_runstart_piter.cc | 5
mln_core_category.cc | 5
mln_core_clock_neighb.cc | 5
mln_core_clock_neighb2d.cc | 5
mln_core_concept_accumulator.cc | 5
mln_core_concept_all.cc | 5
mln_core_concept_box.cc | 5
mln_core_concept_browsing.cc | 5
mln_core_concept_delta_point_site.cc | 5
mln_core_concept_doc_accumulator.cc | 5
mln_core_concept_doc_box.cc | 5
mln_core_concept_doc_dpoint.cc | 5
mln_core_concept_doc_generalized_pixel.cc | 5
mln_core_concept_doc_image.cc | 5
mln_core_concept_doc_image_fastest.cc | 5
mln_core_concept_doc_iterator.cc | 5
mln_core_concept_doc_neighborhood.cc | 5
mln_core_concept_doc_object.cc | 5
mln_core_concept_doc_pixel_iterator.cc | 5
mln_core_concept_doc_point_iterator.cc | 5
mln_core_concept_doc_point_site.cc | 5
mln_core_concept_doc_site_set.cc | 5
mln_core_concept_doc_value_iterator.cc | 5
mln_core_concept_doc_value_set.cc | 5
mln_core_concept_doc_weighted_window.cc | 5
mln_core_concept_doc_window.cc | 5
mln_core_concept_dpoint.cc | 5
mln_core_concept_function.cc | 5
mln_core_concept_gdpoint.cc | 5
mln_core_concept_generalized_pixel.cc | 5
mln_core_concept_gpoint.cc | 5
mln_core_concept_graph.cc | 5
mln_core_concept_image.cc | 5
mln_core_concept_iterator.cc | 5
mln_core_concept_literal.cc | 5
mln_core_concept_mesh.cc | 5
mln_core_concept_meta_accumulator.cc | 5
mln_core_concept_neighborhood.cc | 5
mln_core_concept_object.cc | 5
mln_core_concept_pixel_iterator.cc | 5
mln_core_concept_point.cc | 5
mln_core_concept_point_site.cc | 5
mln_core_concept_proxy.cc | 5
mln_core_concept_pseudo_site.cc | 5
mln_core_concept_regular_grid.cc | 5
mln_core_concept_site.cc | 5
mln_core_concept_site_iterator.cc | 5
mln_core_concept_site_proxy.cc | 5
mln_core_concept_site_set.cc | 5
mln_core_concept_value.cc | 5
mln_core_concept_value_iterator.cc | 5
mln_core_concept_value_set.cc | 5
mln_core_concept_weighted_window.cc | 5
mln_core_concept_window.cc | 5
mln_core_contract.cc | 5
mln_core_def_all.cc | 5
mln_core_def_coord.cc | 5
mln_core_def_coordf.cc | 5
mln_core_def_essential.cc | 5
mln_core_def_low_quant_nbits.cc | 5
mln_core_dpoint.cc | 5
mln_core_dpoints_pixter.cc | 5
mln_core_dpsites_piter.cc | 5
mln_core_essential.cc | 5
mln_core_faces_psite.cc | 5
mln_core_grids.cc | 5
mln_core_image_all.cc | 5
mln_core_image_bgraph_image.cc | 5
mln_core_image_bgraph_psite.cc | 5
mln_core_image_cast_image.cc | 5
mln_core_image_ch_piter.cc | 5
mln_core_image_complex_image.cc | 5
mln_core_image_complex_neighborhood_piter.cc | 5
mln_core_image_complex_neighborhoods.cc | 5
mln_core_image_complex_window_piter.cc | 5
mln_core_image_complex_windows.cc | 5
mln_core_image_decorated_image.cc | 5
mln_core_image_essential.cc | 5
mln_core_image_extended.cc | 5
mln_core_image_extension_fun.cc | 5
mln_core_image_extension_ima.cc | 5
mln_core_image_extension_val.cc | 5
mln_core_image_fi_adaptor.cc | 5
mln_core_image_flat_image.cc | 5
mln_core_image_graph_elt_window.cc | 5
mln_core_image_graph_image.cc | 5
mln_core_image_graph_window_piter.cc | 5
mln_core_image_hexa.cc | 5
mln_core_image_hexa_piter.cc | 5
mln_core_image_image1d.cc | 5
mln_core_image_image2d.cc | 5
mln_core_image_image2d_h.cc | 5
mln_core_image_image3d.cc | 5
mln_core_image_image_if.cc | 5
mln_core_image_interpolated.cc | 5
mln_core_image_lazy_image.cc | 5
mln_core_image_line_graph_elt_window.cc | 5
mln_core_image_line_graph_image.cc | 5
mln_core_image_mono_obased_rle_encode.cc | 5
mln_core_image_mono_obased_rle_image.cc | 5
mln_core_image_mono_rle_encode.cc | 5
mln_core_image_mono_rle_image.cc | 5
mln_core_image_obased_rle_encode.cc | 5
mln_core_image_obased_rle_image.cc | 5
mln_core_image_plain.cc | 5
mln_core_image_rle_encode.cc | 5
mln_core_image_rle_image.cc | 5
mln_core_image_safe.cc | 5
mln_core_image_sparse_encode.cc | 5
mln_core_image_sparse_image.cc | 5
mln_core_image_sub_image.cc | 5
mln_core_image_sub_image_if.cc | 5
mln_core_image_t_image.cc | 5
mln_core_image_tr_image.cc | 5
mln_core_image_tr_mesh.cc | 5
mln_core_image_value_enc_image.cc | 5
mln_core_image_value_encode.cc | 5
mln_core_internal_box_impl.cc | 5
mln_core_internal_check_image_all.cc | 5
mln_core_internal_check_image_fastest.cc | 5
mln_core_internal_classical_window_base.cc | 5
mln_core_internal_complex_neighborhood_base.cc | 5
mln_core_internal_complex_window_p_base.cc | 5
mln_core_internal_coord_impl.cc | 5
mln_core_internal_data.cc | 5
mln_core_internal_exact.cc | 5
mln_core_internal_fixme.cc | 5
mln_core_internal_force_exact.cc | 5
mln_core_internal_geom_bbox.cc | 5
mln_core_internal_graph_psite_base.cc | 5
mln_core_internal_graph_window_base.cc | 5
mln_core_internal_image_base.cc | 5
mln_core_internal_image_domain_morpher.cc | 5
mln_core_internal_image_identity.cc | 5
mln_core_internal_image_morpher.cc | 5
mln_core_internal_image_primary.cc | 5
mln_core_internal_image_value_morpher.cc | 5
mln_core_internal_morpher_lvalue.cc | 5
mln_core_internal_neighb_niter_impl.cc | 5
mln_core_internal_neighborhood_base.cc | 5
mln_core_internal_p_complex_piter_base.cc | 5
mln_core_internal_piter_adaptor.cc | 5
mln_core_internal_pixel_impl.cc | 5
mln_core_internal_pixel_iterator_base.cc | 5
mln_core_internal_pseudo_site_base.cc | 5
mln_core_internal_run_image.cc | 5
mln_core_internal_set_of.cc | 5
mln_core_internal_site_iterator_base.cc | 5
mln_core_internal_site_relative_iterator_base.cc | 5
mln_core_internal_site_set_base.cc | 5
mln_core_internal_site_set_impl.cc | 5
mln_core_internal_site_set_iterator_base.cc | 5
mln_core_internal_weighted_window_base.cc | 5
mln_core_internal_window_base.cc | 5
mln_core_macros.cc | 5
mln_core_neighb.cc | 5
mln_core_pixel.cc | 5
mln_core_pixter1d.cc | 5
mln_core_pixter2d.cc | 5
mln_core_pixter3d.cc | 5
mln_core_point.cc | 5
mln_core_routine_all.cc | 5
mln_core_routine_clone.cc | 5
mln_core_routine_essential.cc | 5
mln_core_routine_exact.cc | 5
mln_core_routine_extend.cc | 5
mln_core_routine_init.cc | 5
mln_core_routine_initialize.cc | 5
mln_core_routine_ops.cc | 5
mln_core_routine_primary.cc | 5
mln_core_site_set_all.cc | 5
mln_core_site_set_attic_p_complex_faces_piter.cc | 5
mln_core_site_set_attic_p_faces_piter.cc | 5
mln_core_site_set_box.cc | 5
mln_core_site_set_box_piter.cc | 5
mln_core_site_set_complex_psite.cc | 5
mln_core_site_set_essential.cc | 5
mln_core_site_set_operators.cc | 5
mln_core_site_set_p_array.cc | 5
mln_core_site_set_p_bgraph.cc | 5
mln_core_site_set_p_bgraph_piter.cc | 5
mln_core_site_set_p_centered.cc | 5
mln_core_site_set_p_complex.cc | 5
mln_core_site_set_p_complex_piter.cc | 5
mln_core_site_set_p_double.cc | 5
mln_core_site_set_p_edges.cc | 5
mln_core_site_set_p_edges_psite.cc | 5
mln_core_site_set_p_faces.cc | 5
mln_core_site_set_p_graph_piter.cc | 5
mln_core_site_set_p_if.cc | 5
mln_core_site_set_p_if_piter.cc | 5
mln_core_site_set_p_image.cc | 5
mln_core_site_set_p_key.cc | 5
mln_core_site_set_p_line2d.cc | 5
mln_core_site_set_p_mutable_array_of.cc | 5
mln_core_site_set_p_n_faces_piter.cc | 5
mln_core_site_set_p_priority.cc | 5
mln_core_site_set_p_queue.cc | 5
mln_core_site_set_p_queue_fast.cc | 5
mln_core_site_set_p_run.cc | 5
mln_core_site_set_p_run_piter.cc | 5
mln_core_site_set_p_set.cc | 5
mln_core_site_set_p_set_of.cc | 5
mln_core_site_set_p_vaccess.cc | 5
mln_core_site_set_p_vertices.cc | 5
mln_core_site_set_p_vertices_psite.cc | 5
mln_core_tags.cc | 5
mln_core_trait_all.cc | 5
mln_core_trait_essential.cc | 5
mln_core_trait_op_mult.cc | 5
mln_core_trait_pixter.cc | 5
mln_core_trait_qlf_value.cc | 5
mln_core_var.cc | 5
mln_core_w_window.cc | 5
mln_core_window.cc | 5
mln_debug_all.cc | 5
mln_debug_colorize.cc | 5
mln_debug_draw_graph.cc | 5
mln_debug_essential.cc | 5
mln_debug_format.cc | 5
mln_debug_iota.cc | 5
mln_debug_println.cc | 5
mln_debug_println_with_border.cc | 5
mln_debug_put_word.cc | 5
mln_display_all.cc | 5
mln_display_essential.cc | 5
mln_draw_all.cc | 5
mln_draw_box.cc | 5
mln_draw_essential.cc | 5
mln_draw_line.cc | 5
mln_draw_plot.cc | 5
mln_essential_1d.cc | 5
mln_essential_2d.cc | 5
mln_essential_3d.cc | 5
mln_essential_routine.cc | 5
mln_estim_all.cc | 5
mln_estim_essential.cc | 5
mln_estim_mean.cc | 5
mln_estim_min_max.cc | 5
mln_estim_sum.cc | 5
mln_extension_adjust.cc | 5
mln_extension_adjust_duplicate.cc | 5
mln_extension_adjust_fill.cc | 5
mln_extension_all.cc | 5
mln_extension_duplicate.cc | 5
mln_extension_essential.cc | 5
mln_extension_fill.cc | 5
mln_fun_all.cc | 5
mln_fun_c.cc | 5
mln_fun_cast.cc | 5
mln_fun_essential.cc | 5
mln_fun_i2v_all.cc | 5
mln_fun_i2v_all_to.cc | 5
mln_fun_i2v_array.cc | 5
mln_fun_i2v_essential.cc | 5
mln_fun_internal_array_base.cc | 5
mln_fun_internal_selector.cc | 5
mln_fun_internal_x2x_linear_impl.cc | 5
mln_fun_l2l_all.cc | 5
mln_fun_l2l_essential.cc | 5
mln_fun_l2l_relabel.cc | 5
mln_fun_ops.cc | 5
mln_fun_p2b_all.cc | 5
mln_fun_p2b_big_chess.cc | 5
mln_fun_p2b_chess.cc | 5
mln_fun_p2b_essential.cc | 5
mln_fun_p2b_has.cc | 5
mln_fun_p2p_mirror.cc | 5
mln_fun_p2v_all.cc | 5
mln_fun_p2v_elifs.cc | 5
mln_fun_p2v_essential.cc | 5
mln_fun_p2v_iota.cc | 5
mln_fun_p2v_ternary.cc | 5
mln_fun_v2b_all.cc | 5
mln_fun_v2b_essential.cc | 5
mln_fun_v2b_lnot.cc | 5
mln_fun_v2b_threshold.cc | 5
mln_fun_v2v_abs.cc | 5
mln_fun_v2v_all.cc | 5
mln_fun_v2v_cast.cc | 5
mln_fun_v2v_convert.cc | 5
mln_fun_v2v_dec.cc | 5
mln_fun_v2v_enc.cc | 5
mln_fun_v2v_essential.cc | 5
mln_fun_v2v_id.cc | 5
mln_fun_v2v_inc.cc | 5
mln_fun_v2v_linear.cc | 5
mln_fun_v2v_norm.cc | 5
mln_fun_v2v_rgb_to_hsi.cc | 5
mln_fun_v2v_saturate.cc | 5
mln_fun_vv2v_all.cc | 5
mln_fun_vv2v_diff_abs.cc | 5
mln_fun_vv2v_essential.cc | 5
mln_fun_vv2v_land.cc | 5
mln_fun_vv2v_land_not.cc | 5
mln_fun_vv2v_lor.cc | 5
mln_fun_vv2v_lxor.cc | 5
mln_fun_vv2v_macros.cc | 5
mln_fun_vv2v_max.cc | 5
mln_fun_vv2v_min.cc | 5
mln_fun_vv2v_vec.cc | 5
mln_fun_x2p_all.cc | 5
mln_fun_x2p_closest_point.cc | 5
mln_fun_x2p_essential.cc | 5
mln_fun_x2v_all.cc | 5
mln_fun_x2v_bilinear.cc | 5
mln_fun_x2v_essential.cc | 5
mln_fun_x2v_l1_norm.cc | 5
mln_fun_x2v_linear.cc | 5
mln_fun_x2v_nneighbor.cc | 5
mln_fun_x2x_all.cc | 5
mln_fun_x2x_composed.cc | 5
mln_fun_x2x_essential.cc | 5
mln_fun_x2x_rotation.cc | 5
mln_fun_x2x_translation.cc | 5
mln_geom_all.cc | 5
mln_geom_bbox.cc | 5
mln_geom_chamfer.cc | 5
mln_geom_complex_geometry.cc | 5
mln_geom_delta.cc | 5
mln_geom_essential.cc | 5
mln_geom_max_col.cc | 5
mln_geom_max_ind.cc | 5
mln_geom_max_row.cc | 5
mln_geom_max_sli.cc | 5
mln_geom_min_col.cc | 5
mln_geom_min_ind.cc | 5
mln_geom_min_row.cc | 5
mln_geom_min_sli.cc | 5
mln_geom_ncols.cc | 5
mln_geom_ninds.cc | 5
mln_geom_nrows.cc | 5
mln_geom_nsites.cc | 5
mln_geom_nslis.cc | 5
mln_geom_pmin_pmax.cc | 5
mln_geom_resize.cc | 5
mln_geom_seeds2tiling.cc | 5
mln_geom_seeds2tiling_roundness.cc | 5
mln_geom_size1d.cc | 5
mln_geom_size2d.cc | 5
mln_geom_size3d.cc | 5
mln_histo_all.cc | 5
mln_histo_compute.cc | 5
mln_histo_data.cc | 5
mln_histo_essential.cc | 5
mln_io_abort.cc | 5
mln_io_all.cc | 5
mln_io_essential.cc | 5
mln_io_fits_all.cc | 5
mln_io_fits_load.cc | 5
mln_io_off_all.cc | 5
mln_io_off_load.cc | 5
mln_io_off_save.cc | 5
mln_io_pbm_all.cc | 5
mln_io_pbm_load.cc | 5
mln_io_pbm_save.cc | 5
mln_io_pfm_all.cc | 5
mln_io_pfm_load.cc | 5
mln_io_pfm_save.cc | 5
mln_io_pgm_all.cc | 5
mln_io_pgm_load.cc | 5
mln_io_pgm_save.cc | 5
mln_io_pnm_all.cc | 5
mln_io_pnm_load.cc | 5
mln_io_pnm_load_header.cc | 5
mln_io_pnm_macros.cc | 5
mln_io_pnm_max_component.cc | 5
mln_io_pnm_save.cc | 5
mln_io_pnm_save_header.cc | 5
mln_io_ppm_all.cc | 5
mln_io_ppm_load.cc | 5
mln_io_ppm_save.cc | 5
mln_io_txt_all.cc | 5
mln_io_txt_save.cc | 5
mln_labeling_all.cc | 5
mln_labeling_background.cc | 5
mln_labeling_blobs.cc | 5
mln_labeling_compute.cc | 5
mln_labeling_essential.cc | 5
mln_labeling_flat_zones.cc | 5
mln_labeling_foreground.cc | 5
mln_labeling_level.cc | 5
mln_labeling_regional_maxima.cc | 5
mln_labeling_regional_minima.cc | 5
mln_labeling_relabel.cc | 5
mln_level_abs.cc | 5
mln_level_all.cc | 5
mln_level_apply.cc | 5
mln_level_approx_all.cc | 5
mln_level_approx_essential.cc | 5
mln_level_approx_median.cc | 5
mln_level_assign.cc | 5
mln_level_compare.cc | 5
mln_level_compute.cc | 5
mln_level_convert.cc | 5
mln_level_essential.cc | 5
mln_level_fast_median.cc | 5
mln_level_fill.cc | 5
mln_level_fill_with_image.cc | 5
mln_level_fill_with_value.cc | 5
mln_level_median.cc | 5
mln_level_memcpy_.cc | 5
mln_level_memset_.cc | 5
mln_level_naive_all.cc | 5
mln_level_naive_essential.cc | 5
mln_level_naive_median.cc | 5
mln_level_paste.cc | 5
mln_level_replace.cc | 5
mln_level_saturate.cc | 5
mln_level_sort_psites.cc | 5
mln_level_stretch.cc | 5
mln_level_to_enc.cc | 5
mln_level_transform.cc | 5
mln_level_transform_inplace.cc | 5
mln_level_update.cc | 5
mln_level_was_median.cc | 5
mln_linear_all.cc | 5
mln_linear_ch_convolve.cc | 5
mln_linear_convolve.cc | 5
mln_linear_convolve_2x1d.cc | 5
mln_linear_convolve_directional.cc | 5
mln_linear_essential.cc | 5
mln_linear_gaussian.cc | 5
mln_linear_lap.cc | 5
mln_linear_local_convolve.cc | 5
mln_linear_log.cc | 5
mln_linear_sobel_2d.cc | 5
mln_literal_all.cc | 5
mln_literal_black.cc | 5
mln_literal_colors.cc | 5
mln_literal_essential.cc | 5
mln_literal_grays.cc | 5
mln_literal_one.cc | 5
mln_literal_ops.cc | 5
mln_literal_origin.cc | 5
mln_literal_white.cc | 5
mln_literal_zero.cc | 5
mln_logical_all.cc | 5
mln_logical_and.cc | 5
mln_logical_and_not.cc | 5
mln_logical_essential.cc | 5
mln_logical_includes.cc | 5
mln_logical_not.cc | 5
mln_logical_or.cc | 5
mln_logical_xor.cc | 5
mln_make_all.cc | 5
mln_make_box1d.cc | 5
mln_make_box2d.cc | 5
mln_make_box2d_h.cc | 5
mln_make_box3d.cc | 5
mln_make_double_neighb2d.cc | 5
mln_make_dpoint2d_h.cc | 5
mln_make_dual_neighb.cc | 5
mln_make_essential.cc | 5
mln_make_graph.cc | 5
mln_make_image.cc | 5
mln_make_image2d.cc | 5
mln_make_mat.cc | 5
mln_make_pix.cc | 5
mln_make_pixel.cc | 5
mln_make_point2d_h.cc | 5
mln_make_relabelfun.cc | 5
mln_make_vec.cc | 5
mln_make_voronoi.cc | 5
mln_make_w_window.cc | 5
mln_make_w_window1d.cc | 5
mln_make_w_window1d_int.cc | 5
mln_make_w_window2d.cc | 5
mln_make_w_window2d_int.cc | 5
mln_make_w_window3d.cc | 5
mln_make_w_window3d_int.cc | 5
mln_make_w_window_directional.cc | 5
mln_make_win_chamfer.cc | 5
mln_math_abs.cc | 5
mln_math_all.cc | 5
mln_math_diff_abs.cc | 5
mln_math_essential.cc | 5
mln_math_jacobi.cc | 5
mln_math_max.cc | 5
mln_math_min.cc | 5
mln_math_round.cc | 5
mln_math_round_sat.cc | 5
mln_math_sign.cc | 5
mln_math_sqr.cc | 5
mln_math_sqrt.cc | 5
mln_metal_abort.cc | 5
mln_metal_all.cc | 5
mln_metal_ands.cc | 5
mln_metal_array.cc | 5
mln_metal_array1d.cc | 5
mln_metal_array2d.cc | 5
mln_metal_array3d.cc | 5
mln_metal_bexpr.cc | 5
mln_metal_bool.cc | 5
mln_metal_const.cc | 5
mln_metal_converts_to.cc | 5
mln_metal_equal.cc | 5
mln_metal_essential.cc | 5
mln_metal_fix_return.cc | 5
mln_metal_goes_to.cc | 5
mln_metal_has_neighborhood.cc | 5
mln_metal_if.cc | 5
mln_metal_int.cc | 5
mln_metal_is.cc | 5
mln_metal_is_a.cc | 5
mln_metal_is_const.cc | 5
mln_metal_is_not.cc | 5
mln_metal_is_not_a.cc | 5
mln_metal_is_not_const.cc | 5
mln_metal_is_not_ref.cc | 5
mln_metal_is_ref.cc | 5
mln_metal_is_unqualif.cc | 5
mln_metal_mat.cc | 5
mln_metal_math_all.cc | 5
mln_metal_math_max.cc | 5
mln_metal_math_pow.cc | 5
mln_metal_math_root.cc | 5
mln_metal_math_sqrt.cc | 5
mln_metal_none.cc | 5
mln_metal_not_equal.cc | 5
mln_metal_ref.cc | 5
mln_metal_ret.cc | 5
mln_metal_same_coord.cc | 5
mln_metal_same_point.cc | 5
mln_metal_templated_by.cc | 5
mln_metal_unconst.cc | 5
mln_metal_unptr.cc | 5
mln_metal_unqualif.cc | 5
mln_metal_unref.cc | 5
mln_metal_vec.cc | 5
mln_morpho_Rd.cc | 5
mln_morpho_all.cc | 5
mln_morpho_closing.cc | 5
mln_morpho_closing_area.cc | 5
mln_morpho_closing_area_on_vertices.cc | 5
mln_morpho_closing_attribute.cc | 5
mln_morpho_closing_height.cc | 5
mln_morpho_closing_volume.cc | 5
mln_morpho_complementation.cc | 5
mln_morpho_contrast.cc | 5
mln_morpho_dilation.cc | 5
mln_morpho_elementary_all.cc | 5
mln_morpho_elementary_closing.cc | 5
mln_morpho_elementary_dilation.cc | 5
mln_morpho_elementary_erosion.cc | 5
mln_morpho_elementary_essential.cc | 5
mln_morpho_elementary_gradient.cc | 5
mln_morpho_elementary_gradient_external.cc | 5
mln_morpho_elementary_gradient_internal.cc | 5
mln_morpho_elementary_laplacian.cc | 5
mln_morpho_elementary_like_ero_fun.cc | 5
mln_morpho_elementary_like_ero_set.cc | 5
mln_morpho_elementary_opening.cc | 5
mln_morpho_elementary_top_hat.cc | 5
mln_morpho_erosion.cc | 5
mln_morpho_essential.cc | 5
mln_morpho_general.cc | 5
mln_morpho_gradient.cc | 5
mln_morpho_hit_or_miss.cc | 5
mln_morpho_includes.cc | 5
mln_morpho_internal_elementary.cc | 5
mln_morpho_laplacian.cc | 5
mln_morpho_line_gradient.cc | 5
mln_morpho_meyer_wst.cc | 5
mln_morpho_min.cc | 5
mln_morpho_minus.cc | 5
mln_morpho_opening.cc | 5
mln_morpho_opening_area.cc | 5
mln_morpho_opening_area_on_vertices.cc | 5
mln_morpho_opening_attribute.cc | 5
mln_morpho_opening_height.cc | 5
mln_morpho_opening_volume.cc | 5
mln_morpho_plus.cc | 5
mln_morpho_rank_filter.cc | 5
mln_morpho_skeleton_constrained.cc | 5
mln_morpho_thick_miss.cc | 5
mln_morpho_thickening.cc | 5
mln_morpho_thin_fit.cc | 5
mln_morpho_thinning.cc | 5
mln_morpho_top_hat.cc | 5
mln_morpho_tree_all.cc | 5
mln_morpho_tree_compute_attribute_image.cc | 5
mln_morpho_tree_compute_parent.cc | 5
mln_morpho_tree_data.cc | 5
mln_morpho_tree_max.cc | 5
mln_morpho_tree_utils.cc | 5
mln_norm_all.cc | 5
mln_norm_essential.cc | 5
mln_norm_l1.cc | 5
mln_norm_l2.cc | 5
mln_norm_linfty.cc | 5
mln_pw_all.cc | 5
mln_pw_cst.cc | 5
mln_pw_essential.cc | 5
mln_pw_image.cc | 5
mln_pw_value.cc | 5
mln_pw_var.cc | 5
mln_registration_all.cc | 5
mln_registration_essential.cc | 5
mln_registration_get_rot.cc | 5
mln_registration_get_rtransf.cc | 5
mln_registration_icp.cc | 5
mln_registration_internal_rms.cc | 5
mln_registration_multiscale.cc | 5
mln_registration_registration.cc | 5
mln_set_all.cc | 5
mln_set_compute.cc | 5
mln_set_diff.cc | 5
mln_set_essential.cc | 5
mln_set_get.cc | 5
mln_set_has.cc | 5
mln_set_inter.cc | 5
mln_set_sym_diff.cc | 5
mln_set_uni.cc | 5
mln_subsampling_all.cc | 5
mln_subsampling_essential.cc | 5
mln_subsampling_gaussian_subsampling.cc | 5
mln_subsampling_subsampling.cc | 5
mln_tag_all.cc | 5
mln_tag_essential.cc | 5
mln_tag_init.cc | 5
mln_tag_skeleton.cc | 5
mln_test_all.cc | 5
mln_test_essential.cc | 5
mln_test_positive.cc | 5
mln_test_predicate.cc | 5
mln_topo_adj_higher_dim_connected_n_face_iter.cc | 5
mln_topo_adj_higher_face_iter.cc | 5
mln_topo_adj_lower_dim_connected_n_face_iter.cc | 5
mln_topo_adj_lower_face_iter.cc | 5
mln_topo_adj_lower_higher_face_iter.cc | 5
mln_topo_adj_m_face_iter.cc | 5
mln_topo_algebraic_face.cc | 5
mln_topo_algebraic_n_face.cc | 5
mln_topo_all.cc | 5
mln_topo_attic_faces_iter.cc | 5
mln_topo_center_only_iter.cc | 5
mln_topo_centered_iter_adapter.cc | 5
mln_topo_complex.cc | 5
mln_topo_complex_iterators.cc | 5
mln_topo_essential.cc | 5
mln_topo_face.cc | 5
mln_topo_face_data.cc | 5
mln_topo_face_iter.cc | 5
mln_topo_internal_complex_iterator_base.cc | 5
mln_topo_internal_complex_relative_iterator_base.cc | 5
mln_topo_internal_complex_relative_iterator_sequence.cc | 5
mln_topo_internal_complex_set_iterator_base.cc | 5
mln_topo_is_simple_2d.cc | 5
mln_topo_n_face.cc | 5
mln_topo_n_face_iter.cc | 5
mln_topo_n_faces_set.cc | 5
mln_topo_static_n_face_iter.cc | 5
mln_trace_all.cc | 5
mln_trace_entering.cc | 5
mln_trace_essential.cc | 5
mln_trace_exiting.cc | 5
mln_trace_quiet.cc | 5
mln_trace_resume.cc | 5
mln_trace_stop.cc | 5
mln_trace_warning.cc | 5
mln_trait_all.cc | 5
mln_trait_ch_value.cc | 5
mln_trait_concrete.cc | 5
mln_trait_essential.cc | 5
mln_trait_image_from_grid.cc | 5
mln_trait_image_print.cc | 5
mln_trait_image_props.cc | 5
mln_trait_images.cc | 5
mln_trait_neighborhood.cc | 5
mln_trait_op_all.cc | 5
mln_trait_op_and.cc | 5
mln_trait_op_decl.cc | 5
mln_trait_op_div.cc | 5
mln_trait_op_eq.cc | 5
mln_trait_op_essential.cc | 5
mln_trait_op_geq.cc | 5
mln_trait_op_greater.cc | 5
mln_trait_op_leq.cc | 5
mln_trait_op_less.cc | 5
mln_trait_op_lor.cc | 5
mln_trait_op_minus.cc | 5
mln_trait_op_mod.cc | 5
mln_trait_op_neq.cc | 5
mln_trait_op_not.cc | 5
mln_trait_op_or.cc | 5
mln_trait_op_ord.cc | 5
mln_trait_op_plus.cc | 5
mln_trait_op_postdec.cc | 5
mln_trait_op_postinc.cc | 5
mln_trait_op_predec.cc | 5
mln_trait_op_preinc.cc | 5
mln_trait_op_times.cc | 5
mln_trait_op_uminus.cc | 5
mln_trait_op_uplus.cc | 5
mln_trait_op_xor.cc | 5
mln_trait_promote.cc | 5
mln_trait_site_set_print.cc | 5
mln_trait_site_set_props.cc | 5
mln_trait_site_sets.cc | 5
mln_trait_solve.cc | 5
mln_trait_solve_binary.cc | 5
mln_trait_solve_unary.cc | 5
mln_trait_undef.cc | 5
mln_trait_value_.cc | 5
mln_trait_value_all.cc | 5
mln_trait_value_essential.cc | 5
mln_trait_value_kind.cc | 5
mln_trait_value_nature.cc | 5
mln_trait_value_print.cc | 5
mln_trait_value_quant.cc | 5
mln_trait_window_print.cc | 5
mln_trait_window_props.cc | 5
mln_trait_windows.cc | 5
mln_transform_all.cc | 5
mln_transform_distance_front.cc | 5
mln_transform_distance_geodesic.cc | 5
mln_transform_essential.cc | 5
mln_transform_influence_zone_front.cc | 5
mln_transform_influence_zone_geodesic.cc | 5
mln_transform_internal_all.cc | 5
mln_transform_internal_distance_functor.cc | 5
mln_transform_internal_influence_zone_functor.cc | 5
mln_util_all.cc | 5
mln_util_array.cc | 5
mln_util_branch_iter.cc | 5
mln_util_branch_iter_ind.cc | 5
mln_util_dindex.cc | 5
mln_util_eat.cc | 5
mln_util_edge.cc | 5
mln_util_essential.cc | 5
mln_util_graph.cc | 5
mln_util_greater_point.cc | 5
mln_util_greater_psite.cc | 5
mln_util_ignore.cc | 5
mln_util_index.cc | 5
mln_util_internal_boost_graph.cc | 5
mln_util_internal_boost_graph_access.cc | 5
mln_util_internal_boost_graph_property.cc | 5
mln_util_internal_boost_graph_structure.cc | 5
mln_util_internal_edge_impl.cc | 5
mln_util_internal_graph_base.cc | 5
mln_util_internal_graph_iter.cc | 5
mln_util_internal_graph_iter_base.cc | 5
mln_util_internal_graph_nbh_iter.cc | 5
mln_util_internal_graph_nbh_iter_base.cc | 5
mln_util_internal_vertex_impl.cc | 5
mln_util_lazy_set.cc | 5
mln_util_lemmings.cc | 5
mln_util_line_graph.cc | 5
mln_util_max.cc | 5
mln_util_multi_site.cc | 5
mln_util_nil.cc | 5
mln_util_ord.cc | 5
mln_util_ord_pair.cc | 5
mln_util_pix.cc | 5
mln_util_set.cc | 5
mln_util_site_pair.cc | 5
mln_util_timer.cc | 5
mln_util_tracked_ptr.cc | 5
mln_util_tree.cc | 5
mln_util_tree_fast.cc | 5
mln_util_tree_fast_to_image.cc | 5
mln_util_tree_to_fast.cc | 5
mln_util_tree_to_image.cc | 5
mln_util_vertex.cc | 5
mln_util_yes.cc | 5
mln_value_aliases.cc | 5
mln_value_all.cc | 5
mln_value_builtin_all.cc | 5
mln_value_builtin_essential.cc | 5
mln_value_builtin_floatings.cc | 5
mln_value_builtin_integers.cc | 5
mln_value_builtin_ops.cc | 5
mln_value_builtin_promotions.cc | 5
mln_value_builtin_symbolics.cc | 5
mln_value_cast.cc | 5
mln_value_concept_all.cc | 5
mln_value_concept_built_in.cc | 5
mln_value_concept_data.cc | 5
mln_value_concept_essential.cc | 5
mln_value_concept_floating.cc | 5
mln_value_concept_integer.cc | 5
mln_value_concept_scalar.cc | 5
mln_value_concept_structured.cc | 5
mln_value_concept_symbolic.cc | 5
mln_value_concept_vectorial.cc | 5
mln_value_equiv.cc | 5
mln_value_essential.cc | 5
mln_value_float01.cc | 5
mln_value_float01_.cc | 5
mln_value_float01_16.cc | 5
mln_value_float01_8.cc | 5
mln_value_float01_f.cc | 5
mln_value_gl16.cc | 5
mln_value_gl8.cc | 5
mln_value_glf.cc | 5
mln_value_graylevel.cc | 5
mln_value_graylevel_f.cc | 5
mln_value_hsi.cc | 5
mln_value_int_s.cc | 5
mln_value_int_s16.cc | 5
mln_value_int_s32.cc | 5
mln_value_int_s8.cc | 5
mln_value_int_u.cc | 5
mln_value_int_u16.cc | 5
mln_value_int_u32.cc | 5
mln_value_int_u8.cc | 5
mln_value_int_u_sat.cc | 5
mln_value_internal_all.cc | 5
mln_value_internal_convert.cc | 5
mln_value_internal_encoding.cc | 5
mln_value_internal_essential.cc | 5
mln_value_internal_gray_.cc | 5
mln_value_internal_gray_f.cc | 5
mln_value_internal_integer.cc | 5
mln_value_internal_iterable_set.cc | 5
mln_value_internal_value_like.cc | 5
mln_value_interval.cc | 5
mln_value_label.cc | 5
mln_value_label_16.cc | 5
mln_value_label_8.cc | 5
mln_value_lut_vec.cc | 5
mln_value_ops.cc | 5
mln_value_other.cc | 5
mln_value_proxy.cc | 5
mln_value_rgb.cc | 5
mln_value_rgb16.cc | 5
mln_value_rgb8.cc | 5
mln_value_scalar.cc | 5
mln_value_set.cc | 5
mln_value_sign.cc | 5
mln_value_stack.cc | 5
mln_value_super_value.cc | 5
mln_value_viter.cc | 5
mln_win_all.cc | 5
mln_win_backdiag2d.cc | 5
mln_win_cube3d.cc | 5
mln_win_cuboid3d.cc | 5
mln_win_diag2d.cc | 5
mln_win_diff.cc | 5
mln_win_disk2d.cc | 5
mln_win_essential.cc | 5
mln_win_hline2d.cc | 5
mln_win_inter.cc | 5
mln_win_line.cc | 5
mln_win_multiple.cc | 5
mln_win_multiple_size.cc | 5
mln_win_octagon2d.cc | 5
mln_win_rectangle2d.cc | 5
mln_win_segment1d.cc | 5
mln_win_shift.cc | 5
mln_win_sym.cc | 5
mln_win_vline2d.cc | 5
997 files changed, 5851 insertions(+), 2860 deletions(-)
Index: tests/unit_test/mln_core_contract.cc
--- tests/unit_test/mln_core_contract.cc (revision 3032)
+++ tests/unit_test/mln_core_contract.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/contract.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/contract.hh>
#include <mln/core/contract.hh>
int main()
Index: tests/unit_test/mln_win_all.cc
--- tests/unit_test/mln_win_all.cc (revision 3032)
+++ tests/unit_test/mln_win_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/all.hh>
#include <mln/win/all.hh>
int main()
Index: tests/unit_test/mln_canvas_distance_geodesic.cc
--- tests/unit_test/mln_canvas_distance_geodesic.cc (revision 3032)
+++ tests/unit_test/mln_canvas_distance_geodesic.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/distance_geodesic.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/distance_geodesic.hh>
#include <mln/canvas/distance_geodesic.hh>
int main()
Index: tests/unit_test/mln_accu_transform_snake.cc
--- tests/unit_test/mln_accu_transform_snake.cc (revision 3032)
+++ tests/unit_test/mln_accu_transform_snake.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/transform_snake.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/transform_snake.hh>
#include <mln/accu/transform_snake.hh>
int main()
Index: tests/unit_test/mln_win_backdiag2d.cc
--- tests/unit_test/mln_win_backdiag2d.cc (revision 3032)
+++ tests/unit_test/mln_win_backdiag2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/backdiag2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/backdiag2d.hh>
#include <mln/win/backdiag2d.hh>
int main()
Index: tests/unit_test/mln_geom_complex_geometry.cc
--- tests/unit_test/mln_geom_complex_geometry.cc (revision 3032)
+++ tests/unit_test/mln_geom_complex_geometry.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/complex_geometry.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/complex_geometry.hh>
#include <mln/geom/complex_geometry.hh>
int main()
Index: tests/unit_test/mln_core_alias_w_window2d_float.cc
--- tests/unit_test/mln_core_alias_w_window2d_float.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_w_window2d_float.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/w_window2d_float.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/w_window2d_float.hh>
#include <mln/core/alias/w_window2d_float.hh>
int main()
Index: tests/unit_test/mln_set_get.cc
--- tests/unit_test/mln_set_get.cc (revision 3032)
+++ tests/unit_test/mln_set_get.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/set/get.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/set/get.hh>
#include <mln/set/get.hh>
int main()
Index: tests/unit_test/mln_value_builtin_all.cc
--- tests/unit_test/mln_value_builtin_all.cc (revision 3032)
+++ tests/unit_test/mln_value_builtin_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/builtin/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/builtin/all.hh>
#include <mln/value/builtin/all.hh>
int main()
Index: tests/unit_test/mln_core_internal_coord_impl.cc
--- tests/unit_test/mln_core_internal_coord_impl.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_coord_impl.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/coord_impl.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/coord_impl.hh>
#include <mln/core/internal/coord_impl.hh>
int main()
Index: tests/unit_test/mln_registration_multiscale.cc
--- tests/unit_test/mln_registration_multiscale.cc (revision 3032)
+++ tests/unit_test/mln_registration_multiscale.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/registration/multiscale.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/registration/multiscale.hh>
#include <mln/registration/multiscale.hh>
int main()
Index: tests/unit_test/mln_display_all.cc
--- tests/unit_test/mln_display_all.cc (revision 3032)
+++ tests/unit_test/mln_display_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/display/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/display/all.hh>
#include <mln/display/all.hh>
int main()
Index: tests/unit_test/mln_metal_is_a.cc
--- tests/unit_test/mln_metal_is_a.cc (revision 3032)
+++ tests/unit_test/mln_metal_is_a.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/is_a.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/is_a.hh>
#include <mln/metal/is_a.hh>
int main()
Index: tests/unit_test/mln_topo_adj_lower_higher_face_iter.cc
--- tests/unit_test/mln_topo_adj_lower_higher_face_iter.cc (revision 3032)
+++ tests/unit_test/mln_topo_adj_lower_higher_face_iter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/adj_lower_higher_face_iter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/adj_lower_higher_face_iter.hh>
#include <mln/topo/adj_lower_higher_face_iter.hh>
int main()
Index: tests/unit_test/mln_util_graph.cc
--- tests/unit_test/mln_util_graph.cc (revision 3032)
+++ tests/unit_test/mln_util_graph.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/graph.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/graph.hh>
#include <mln/util/graph.hh>
int main()
Index: tests/unit_test/mln_accu_v.cc
--- tests/unit_test/mln_accu_v.cc (revision 3032)
+++ tests/unit_test/mln_accu_v.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/v.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/v.hh>
#include <mln/accu/v.hh>
int main()
Index: tests/unit_test/mln_canvas_chamfer.cc
--- tests/unit_test/mln_canvas_chamfer.cc (revision 3032)
+++ tests/unit_test/mln_canvas_chamfer.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/chamfer.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/chamfer.hh>
#include <mln/canvas/chamfer.hh>
int main()
Index: tests/unit_test/mln_algebra_h_vec.cc
--- tests/unit_test/mln_algebra_h_vec.cc (revision 3032)
+++ tests/unit_test/mln_algebra_h_vec.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/algebra/h_vec.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/algebra/h_vec.hh>
#include <mln/algebra/h_vec.hh>
int main()
Index: tests/unit_test/mln_trait_op_predec.cc
--- tests/unit_test/mln_trait_op_predec.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_predec.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/predec.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/predec.hh>
#include <mln/trait/op/predec.hh>
int main()
Index: tests/unit_test/mln_win_segment1d.cc
--- tests/unit_test/mln_win_segment1d.cc (revision 3032)
+++ tests/unit_test/mln_win_segment1d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/segment1d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/segment1d.hh>
#include <mln/win/segment1d.hh>
int main()
Index: tests/unit_test/mln_core_clock_neighb2d.cc
--- tests/unit_test/mln_core_clock_neighb2d.cc (revision 3032)
+++ tests/unit_test/mln_core_clock_neighb2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/clock_neighb2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/clock_neighb2d.hh>
#include <mln/core/clock_neighb2d.hh>
int main()
Index: tests/unit_test/mln_core_concept_value_iterator.cc
--- tests/unit_test/mln_core_concept_value_iterator.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_value_iterator.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/value_iterator.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/value_iterator.hh>
#include <mln/core/concept/value_iterator.hh>
int main()
Index: tests/unit_test/mln_core_concept_meta_accumulator.cc
--- tests/unit_test/mln_core_concept_meta_accumulator.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_meta_accumulator.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/meta_accumulator.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/meta_accumulator.hh>
#include <mln/core/concept/meta_accumulator.hh>
int main()
Index: tests/unit_test/mln_trait_solve_unary.cc
--- tests/unit_test/mln_trait_solve_unary.cc (revision 3032)
+++ tests/unit_test/mln_trait_solve_unary.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/solve_unary.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/solve_unary.hh>
#include <mln/trait/solve_unary.hh>
int main()
Index: tests/unit_test/mln_morpho_opening_area_on_vertices.cc
--- tests/unit_test/mln_morpho_opening_area_on_vertices.cc (revision 3032)
+++ tests/unit_test/mln_morpho_opening_area_on_vertices.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/opening_area_on_vertices.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/opening_area_on_vertices.hh>
#include <mln/morpho/opening_area_on_vertices.hh>
int main()
Index: tests/unit_test/mln_core_routine_clone.cc
--- tests/unit_test/mln_core_routine_clone.cc (revision 3032)
+++ tests/unit_test/mln_core_routine_clone.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/routine/clone.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/routine/clone.hh>
#include <mln/core/routine/clone.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_key.cc
--- tests/unit_test/mln_core_site_set_p_key.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_key.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_key.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_key.hh>
#include <mln/core/site_set/p_key.hh>
int main()
Index: tests/unit_test/mln_fun_vv2v_lxor.cc
--- tests/unit_test/mln_fun_vv2v_lxor.cc (revision 3032)
+++ tests/unit_test/mln_fun_vv2v_lxor.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/vv2v/lxor.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/vv2v/lxor.hh>
#include <mln/fun/vv2v/lxor.hh>
int main()
Index: tests/unit_test/mln_trait_op_uminus.cc
--- tests/unit_test/mln_trait_op_uminus.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_uminus.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/uminus.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/uminus.hh>
#include <mln/trait/op/uminus.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_if.cc
--- tests/unit_test/mln_core_site_set_p_if.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_if.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_if.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_if.hh>
#include <mln/core/site_set/p_if.hh>
int main()
Index: tests/unit_test/mln_core_dpsites_piter.cc
--- tests/unit_test/mln_core_dpsites_piter.cc (revision 3032)
+++ tests/unit_test/mln_core_dpsites_piter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/dpsites_piter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/dpsites_piter.hh>
#include <mln/core/dpsites_piter.hh>
int main()
Index: tests/unit_test/mln_pw_image.cc
--- tests/unit_test/mln_pw_image.cc (revision 3032)
+++ tests/unit_test/mln_pw_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/pw/image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/pw/image.hh>
#include <mln/pw/image.hh>
int main()
Index: tests/unit_test/mln_trait_promote.cc
--- tests/unit_test/mln_trait_promote.cc (revision 3032)
+++ tests/unit_test/mln_trait_promote.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/promote.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/promote.hh>
#include <mln/trait/promote.hh>
int main()
Index: tests/unit_test/mln_util_greater_psite.cc
--- tests/unit_test/mln_util_greater_psite.cc (revision 3032)
+++ tests/unit_test/mln_util_greater_psite.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/greater_psite.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/greater_psite.hh>
#include <mln/util/greater_psite.hh>
int main()
Index: tests/unit_test/mln_make_w_window3d_int.cc
--- tests/unit_test/mln_make_w_window3d_int.cc (revision 3032)
+++ tests/unit_test/mln_make_w_window3d_int.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/w_window3d_int.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/w_window3d_int.hh>
#include <mln/make/w_window3d_int.hh>
int main()
Index: tests/unit_test/mln_border_resize.cc
--- tests/unit_test/mln_border_resize.cc (revision 3032)
+++ tests/unit_test/mln_border_resize.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/border/resize.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/border/resize.hh>
#include <mln/border/resize.hh>
int main()
Index: tests/unit_test/mln_accu_sum.cc
--- tests/unit_test/mln_accu_sum.cc (revision 3032)
+++ tests/unit_test/mln_accu_sum.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/sum.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/sum.hh>
#include <mln/accu/sum.hh>
int main()
Index: tests/unit_test/mln_arith_all.cc
--- tests/unit_test/mln_arith_all.cc (revision 3032)
+++ tests/unit_test/mln_arith_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/arith/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/arith/all.hh>
#include <mln/arith/all.hh>
int main()
Index: tests/unit_test/mln_fun_x2x_essential.cc
--- tests/unit_test/mln_fun_x2x_essential.cc (revision 3032)
+++ tests/unit_test/mln_fun_x2x_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/x2x/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/x2x/essential.hh>
#include <mln/fun/x2x/essential.hh>
int main()
Index: tests/unit_test/mln_level_naive_essential.cc
--- tests/unit_test/mln_level_naive_essential.cc (revision 3032)
+++ tests/unit_test/mln_level_naive_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/naive/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/naive/essential.hh>
#include <mln/level/naive/essential.hh>
int main()
Index: tests/unit_test/mln_topo_internal_complex_relative_iterator_sequence.cc
--- tests/unit_test/mln_topo_internal_complex_relative_iterator_sequence.cc (revision 3032)
+++ tests/unit_test/mln_topo_internal_complex_relative_iterator_sequence.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/internal/complex_relative_iterator_sequence.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/internal/complex_relative_iterator_sequence.hh>
#include <mln/topo/internal/complex_relative_iterator_sequence.hh>
int main()
Index: tests/unit_test/mln_geom_min_sli.cc
--- tests/unit_test/mln_geom_min_sli.cc (revision 3032)
+++ tests/unit_test/mln_geom_min_sli.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/min_sli.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/min_sli.hh>
#include <mln/geom/min_sli.hh>
int main()
Index: tests/unit_test/mln_accu_volume.cc
--- tests/unit_test/mln_accu_volume.cc (revision 3032)
+++ tests/unit_test/mln_accu_volume.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/volume.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/volume.hh>
#include <mln/accu/volume.hh>
int main()
Index: tests/unit_test/mln_value_float01.cc
--- tests/unit_test/mln_value_float01.cc (revision 3032)
+++ tests/unit_test/mln_value_float01.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/float01.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/float01.hh>
#include <mln/value/float01.hh>
int main()
Index: tests/unit_test/mln_value_gl16.cc
--- tests/unit_test/mln_value_gl16.cc (revision 3032)
+++ tests/unit_test/mln_value_gl16.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/gl16.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/gl16.hh>
#include <mln/value/gl16.hh>
int main()
Index: tests/unit_test/mln_labeling_foreground.cc
--- tests/unit_test/mln_labeling_foreground.cc (revision 3032)
+++ tests/unit_test/mln_labeling_foreground.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/labeling/foreground.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/labeling/foreground.hh>
#include <mln/labeling/foreground.hh>
int main()
Index: tests/unit_test/mln_metal_ands.cc
--- tests/unit_test/mln_metal_ands.cc (revision 3032)
+++ tests/unit_test/mln_metal_ands.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/ands.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/ands.hh>
#include <mln/metal/ands.hh>
int main()
Index: tests/unit_test/mln_fun_v2v_abs.cc
--- tests/unit_test/mln_fun_v2v_abs.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2v_abs.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2v/abs.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2v/abs.hh>
#include <mln/fun/v2v/abs.hh>
int main()
Index: tests/unit_test/mln_core_concept_weighted_window.cc
--- tests/unit_test/mln_core_concept_weighted_window.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_weighted_window.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/weighted_window.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/weighted_window.hh>
#include <mln/core/concept/weighted_window.hh>
int main()
Index: tests/unit_test/mln_set_sym_diff.cc
--- tests/unit_test/mln_set_sym_diff.cc (revision 3032)
+++ tests/unit_test/mln_set_sym_diff.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/set/sym_diff.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/set/sym_diff.hh>
#include <mln/set/sym_diff.hh>
int main()
Index: tests/unit_test/mln_core_alias_w_window1d_int.cc
--- tests/unit_test/mln_core_alias_w_window1d_int.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_w_window1d_int.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/w_window1d_int.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/w_window1d_int.hh>
#include <mln/core/alias/w_window1d_int.hh>
int main()
Index: tests/unit_test/mln_trait_image_from_grid.cc
--- tests/unit_test/mln_trait_image_from_grid.cc (revision 3032)
+++ tests/unit_test/mln_trait_image_from_grid.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/image_from_grid.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/image_from_grid.hh>
#include <mln/trait/image_from_grid.hh>
int main()
Index: tests/unit_test/mln_debug_all.cc
--- tests/unit_test/mln_debug_all.cc (revision 3032)
+++ tests/unit_test/mln_debug_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/debug/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/debug/all.hh>
#include <mln/debug/all.hh>
int main()
Index: tests/unit_test/mln_arith_essential.cc
--- tests/unit_test/mln_arith_essential.cc (revision 3032)
+++ tests/unit_test/mln_arith_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/arith/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/arith/essential.hh>
#include <mln/arith/essential.hh>
int main()
Index: tests/unit_test/mln_topo_adj_higher_dim_connected_n_face_iter.cc
--- tests/unit_test/mln_topo_adj_higher_dim_connected_n_face_iter.cc (revision 3032)
+++ tests/unit_test/mln_topo_adj_higher_dim_connected_n_face_iter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/adj_higher_dim_connected_n_face_iter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/adj_higher_dim_connected_n_face_iter.hh>
#include <mln/topo/adj_higher_dim_connected_n_face_iter.hh>
int main()
Index: tests/unit_test/mln_registration_essential.cc
--- tests/unit_test/mln_registration_essential.cc (revision 3032)
+++ tests/unit_test/mln_registration_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/registration/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/registration/essential.hh>
#include <mln/registration/essential.hh>
int main()
Index: tests/unit_test/mln_convert_to.cc
--- tests/unit_test/mln_convert_to.cc (revision 3032)
+++ tests/unit_test/mln_convert_to.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/convert/to.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/to.hh>
#include <mln/convert/to.hh>
int main()
Index: tests/unit_test/mln_fun_v2v_rgb_to_hsi.cc
--- tests/unit_test/mln_fun_v2v_rgb_to_hsi.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2v_rgb_to_hsi.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2v/rgb_to_hsi.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2v/rgb_to_hsi.hh>
#include <mln/fun/v2v/rgb_to_hsi.hh>
int main()
Index: tests/unit_test/mln_border_essential.cc
--- tests/unit_test/mln_border_essential.cc (revision 3032)
+++ tests/unit_test/mln_border_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/border/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/border/essential.hh>
#include <mln/border/essential.hh>
int main()
Index: tests/unit_test/mln_trait_op_neq.cc
--- tests/unit_test/mln_trait_op_neq.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_neq.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/neq.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/neq.hh>
#include <mln/trait/op/neq.hh>
int main()
Index: tests/unit_test/mln_labeling_regional_minima.cc
--- tests/unit_test/mln_labeling_regional_minima.cc (revision 3032)
+++ tests/unit_test/mln_labeling_regional_minima.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/labeling/regional_minima.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/labeling/regional_minima.hh>
#include <mln/labeling/regional_minima.hh>
int main()
Index: tests/unit_test/mln_estim_essential.cc
--- tests/unit_test/mln_estim_essential.cc (revision 3032)
+++ tests/unit_test/mln_estim_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/estim/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/estim/essential.hh>
#include <mln/estim/essential.hh>
int main()
Index: tests/unit_test/mln_trace_entering.cc
--- tests/unit_test/mln_trace_entering.cc (revision 3032)
+++ tests/unit_test/mln_trace_entering.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trace/entering.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trace/entering.hh>
#include <mln/trace/entering.hh>
int main()
Index: tests/unit_test/mln_metal_equal.cc
--- tests/unit_test/mln_metal_equal.cc (revision 3032)
+++ tests/unit_test/mln_metal_equal.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/equal.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/equal.hh>
#include <mln/metal/equal.hh>
int main()
Index: tests/unit_test/mln_algebra_vec.cc
--- tests/unit_test/mln_algebra_vec.cc (revision 3032)
+++ tests/unit_test/mln_algebra_vec.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/algebra/vec.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/algebra/vec.hh>
#include <mln/algebra/vec.hh>
int main()
Index: tests/unit_test/mln_fun_p2v_iota.cc
--- tests/unit_test/mln_fun_p2v_iota.cc (revision 3032)
+++ tests/unit_test/mln_fun_p2v_iota.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/p2v/iota.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/p2v/iota.hh>
#include <mln/fun/p2v/iota.hh>
int main()
Index: tests/unit_test/mln_level_fast_median.cc
--- tests/unit_test/mln_level_fast_median.cc (revision 3032)
+++ tests/unit_test/mln_level_fast_median.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/fast_median.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/fast_median.hh>
#include <mln/level/fast_median.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_iterator.cc
--- tests/unit_test/mln_core_concept_doc_iterator.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_iterator.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/iterator.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/iterator.hh>
#include <mln/core/concept/doc/iterator.hh>
int main()
Index: tests/unit_test/mln_win_multiple_size.cc
--- tests/unit_test/mln_win_multiple_size.cc (revision 3032)
+++ tests/unit_test/mln_win_multiple_size.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/multiple_size.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/multiple_size.hh>
#include <mln/win/multiple_size.hh>
int main()
Index: tests/unit_test/mln_topo_internal_complex_relative_iterator_base.cc
--- tests/unit_test/mln_topo_internal_complex_relative_iterator_base.cc (revision 3032)
+++ tests/unit_test/mln_topo_internal_complex_relative_iterator_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/internal/complex_relative_iterator_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/internal/complex_relative_iterator_base.hh>
#include <mln/topo/internal/complex_relative_iterator_base.hh>
int main()
Index: tests/unit_test/mln_metal_bexpr.cc
--- tests/unit_test/mln_metal_bexpr.cc (revision 3032)
+++ tests/unit_test/mln_metal_bexpr.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/bexpr.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/bexpr.hh>
#include <mln/metal/bexpr.hh>
int main()
Index: tests/unit_test/mln_fun_p2p_mirror.cc
--- tests/unit_test/mln_fun_p2p_mirror.cc (revision 3032)
+++ tests/unit_test/mln_fun_p2p_mirror.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/p2p/mirror.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/p2p/mirror.hh>
#include <mln/fun/p2p/mirror.hh>
int main()
Index: tests/unit_test/mln_fun_vv2v_all.cc
--- tests/unit_test/mln_fun_vv2v_all.cc (revision 3032)
+++ tests/unit_test/mln_fun_vv2v_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/vv2v/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/vv2v/all.hh>
#include <mln/fun/vv2v/all.hh>
int main()
Index: tests/unit_test/mln_geom_seeds2tiling.cc
--- tests/unit_test/mln_geom_seeds2tiling.cc (revision 3032)
+++ tests/unit_test/mln_geom_seeds2tiling.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/seeds2tiling.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/seeds2tiling.hh>
#include <mln/geom/seeds2tiling.hh>
int main()
Index: tests/unit_test/mln_core_internal_site_set_impl.cc
--- tests/unit_test/mln_core_internal_site_set_impl.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_site_set_impl.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/site_set_impl.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/site_set_impl.hh>
#include <mln/core/internal/site_set_impl.hh>
int main()
Index: tests/unit_test/mln_core_routine_essential.cc
--- tests/unit_test/mln_core_routine_essential.cc (revision 3032)
+++ tests/unit_test/mln_core_routine_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/routine/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/routine/essential.hh>
#include <mln/core/routine/essential.hh>
int main()
Index: tests/unit_test/mln_labeling_all.cc
--- tests/unit_test/mln_labeling_all.cc (revision 3032)
+++ tests/unit_test/mln_labeling_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/labeling/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/labeling/all.hh>
#include <mln/labeling/all.hh>
int main()
Index: tests/unit_test/mln_level_approx_essential.cc
--- tests/unit_test/mln_level_approx_essential.cc (revision 3032)
+++ tests/unit_test/mln_level_approx_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/approx/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/approx/essential.hh>
#include <mln/level/approx/essential.hh>
int main()
Index: tests/unit_test/mln_io_pnm_save_header.cc
--- tests/unit_test/mln_io_pnm_save_header.cc (revision 3032)
+++ tests/unit_test/mln_io_pnm_save_header.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/pnm/save_header.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/pnm/save_header.hh>
#include <mln/io/pnm/save_header.hh>
int main()
Index: tests/unit_test/mln_value_internal_convert.cc
--- tests/unit_test/mln_value_internal_convert.cc (revision 3032)
+++ tests/unit_test/mln_value_internal_convert.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/internal/convert.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/internal/convert.hh>
#include <mln/value/internal/convert.hh>
int main()
Index: tests/unit_test/mln_canvas_labeling.cc
--- tests/unit_test/mln_canvas_labeling.cc (revision 3032)
+++ tests/unit_test/mln_canvas_labeling.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/labeling.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/labeling.hh>
#include <mln/canvas/labeling.hh>
int main()
Index: tests/unit_test/mln_value_builtin_essential.cc
--- tests/unit_test/mln_value_builtin_essential.cc (revision 3032)
+++ tests/unit_test/mln_value_builtin_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/builtin/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/builtin/essential.hh>
#include <mln/value/builtin/essential.hh>
int main()
Index: tests/unit_test/mln_morpho_closing_height.cc
--- tests/unit_test/mln_morpho_closing_height.cc (revision 3032)
+++ tests/unit_test/mln_morpho_closing_height.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/closing_height.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/closing_height.hh>
#include <mln/morpho/closing_height.hh>
int main()
Index: tests/unit_test/mln_util_array.cc
--- tests/unit_test/mln_util_array.cc (revision 3032)
+++ tests/unit_test/mln_util_array.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/array.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/array.hh>
#include <mln/util/array.hh>
int main()
Index: tests/unit_test/mln_value_aliases.cc
--- tests/unit_test/mln_value_aliases.cc (revision 3032)
+++ tests/unit_test/mln_value_aliases.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/aliases.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/aliases.hh>
#include <mln/value/aliases.hh>
int main()
Index: tests/unit_test/mln_essential_3d.cc
--- tests/unit_test/mln_essential_3d.cc (revision 3032)
+++ tests/unit_test/mln_essential_3d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/essential/3d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/essential/3d.hh>
#include <mln/essential/3d.hh>
int main()
Index: tests/unit_test/mln_value_hsi.cc
--- tests/unit_test/mln_value_hsi.cc (revision 3032)
+++ tests/unit_test/mln_value_hsi.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/hsi.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/hsi.hh>
#include <mln/value/hsi.hh>
int main()
Index: tests/unit_test/mln_accu_take.cc
--- tests/unit_test/mln_accu_take.cc (revision 3032)
+++ tests/unit_test/mln_accu_take.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/take.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/take.hh>
#include <mln/accu/take.hh>
int main()
Index: tests/unit_test/mln_metal_goes_to.cc
--- tests/unit_test/mln_metal_goes_to.cc (revision 3032)
+++ tests/unit_test/mln_metal_goes_to.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/goes_to.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/goes_to.hh>
#include <mln/metal/goes_to.hh>
int main()
Index: tests/unit_test/mln_subsampling_gaussian_subsampling.cc
--- tests/unit_test/mln_subsampling_gaussian_subsampling.cc (revision 3032)
+++ tests/unit_test/mln_subsampling_gaussian_subsampling.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/subsampling/gaussian_subsampling.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/subsampling/gaussian_subsampling.hh>
#include <mln/subsampling/gaussian_subsampling.hh>
int main()
Index: tests/unit_test/mln_core_site_set_attic_p_complex_faces_piter.cc
--- tests/unit_test/mln_core_site_set_attic_p_complex_faces_piter.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_attic_p_complex_faces_piter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/attic/p_complex_faces_piter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/attic/p_complex_faces_piter.hh>
#include <mln/core/site_set/attic/p_complex_faces_piter.hh>
int main()
Index: tests/unit_test/mln_draw_all.cc
--- tests/unit_test/mln_draw_all.cc (revision 3032)
+++ tests/unit_test/mln_draw_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/draw/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/draw/all.hh>
#include <mln/draw/all.hh>
int main()
Index: tests/unit_test/mln_trait_window_print.cc
--- tests/unit_test/mln_trait_window_print.cc (revision 3032)
+++ tests/unit_test/mln_trait_window_print.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/window/print.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/window/print.hh>
#include <mln/trait/window/print.hh>
int main()
Index: tests/unit_test/mln_core_internal_force_exact.cc
--- tests/unit_test/mln_core_internal_force_exact.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_force_exact.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/force_exact.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/force_exact.hh>
#include <mln/core/internal/force_exact.hh>
int main()
Index: tests/unit_test/mln_value_set.cc
--- tests/unit_test/mln_value_set.cc (revision 3032)
+++ tests/unit_test/mln_value_set.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/set.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/set.hh>
#include <mln/value/set.hh>
int main()
Index: tests/unit_test/mln_util_lazy_set.cc
--- tests/unit_test/mln_util_lazy_set.cc (revision 3032)
+++ tests/unit_test/mln_util_lazy_set.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/lazy_set.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/lazy_set.hh>
#include <mln/util/lazy_set.hh>
int main()
Index: tests/unit_test/mln_morpho_elementary_erosion.cc
--- tests/unit_test/mln_morpho_elementary_erosion.cc (revision 3032)
+++ tests/unit_test/mln_morpho_elementary_erosion.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/elementary/erosion.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/elementary/erosion.hh>
#include <mln/morpho/elementary/erosion.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_if_piter.cc
--- tests/unit_test/mln_core_site_set_p_if_piter.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_if_piter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_if_piter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_if_piter.hh>
#include <mln/core/site_set/p_if_piter.hh>
int main()
Index: tests/unit_test/mln_core_internal_image_primary.cc
--- tests/unit_test/mln_core_internal_image_primary.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_image_primary.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/image_primary.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/image_primary.hh>
#include <mln/core/internal/image_primary.hh>
int main()
Index: tests/unit_test/mln_core_alias_complex_image.cc
--- tests/unit_test/mln_core_alias_complex_image.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_complex_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/complex_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/complex_image.hh>
#include <mln/core/alias/complex_image.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_run.cc
--- tests/unit_test/mln_core_site_set_p_run.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_run.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_run.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_run.hh>
#include <mln/core/site_set/p_run.hh>
int main()
Index: tests/unit_test/mln_trait_op_lor.cc
--- tests/unit_test/mln_trait_op_lor.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_lor.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/lor.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/lor.hh>
#include <mln/trait/op/lor.hh>
int main()
Index: tests/unit_test/mln_registration_get_rot.cc
--- tests/unit_test/mln_registration_get_rot.cc (revision 3032)
+++ tests/unit_test/mln_registration_get_rot.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/registration/get_rot.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/registration/get_rot.hh>
#include <mln/registration/get_rot.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_value_iterator.cc
--- tests/unit_test/mln_core_concept_doc_value_iterator.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_value_iterator.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/value_iterator.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/value_iterator.hh>
#include <mln/core/concept/doc/value_iterator.hh>
int main()
Index: tests/unit_test/mln_core_def_low_quant_nbits.cc
--- tests/unit_test/mln_core_def_low_quant_nbits.cc (revision 3032)
+++ tests/unit_test/mln_core_def_low_quant_nbits.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/def/low_quant_nbits.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/def/low_quant_nbits.hh>
#include <mln/core/def/low_quant_nbits.hh>
int main()
Index: tests/unit_test/mln_make_graph.cc
--- tests/unit_test/mln_make_graph.cc (revision 3032)
+++ tests/unit_test/mln_make_graph.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/graph.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/graph.hh>
#include <mln/make/graph.hh>
int main()
Index: tests/unit_test/mln_core_internal_piter_adaptor.cc
--- tests/unit_test/mln_core_internal_piter_adaptor.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_piter_adaptor.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/piter_adaptor.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/piter_adaptor.hh>
#include <mln/core/internal/piter_adaptor.hh>
int main()
Index: tests/unit_test/mln_util_line_graph.cc
--- tests/unit_test/mln_util_line_graph.cc (revision 3032)
+++ tests/unit_test/mln_util_line_graph.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/line_graph.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/line_graph.hh>
#include <mln/util/line_graph.hh>
int main()
Index: tests/unit_test/mln_topo_algebraic_n_face.cc
--- tests/unit_test/mln_topo_algebraic_n_face.cc (revision 3032)
+++ tests/unit_test/mln_topo_algebraic_n_face.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/algebraic_n_face.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/algebraic_n_face.hh>
#include <mln/topo/algebraic_n_face.hh>
int main()
Index: tests/unit_test/mln_core_w_window.cc
--- tests/unit_test/mln_core_w_window.cc (revision 3032)
+++ tests/unit_test/mln_core_w_window.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/w_window.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/w_window.hh>
#include <mln/core/w_window.hh>
int main()
Index: tests/unit_test/mln_win_diag2d.cc
--- tests/unit_test/mln_win_diag2d.cc (revision 3032)
+++ tests/unit_test/mln_win_diag2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/diag2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/diag2d.hh>
#include <mln/win/diag2d.hh>
int main()
Index: tests/unit_test/mln_core_image_complex_neighborhood_piter.cc
--- tests/unit_test/mln_core_image_complex_neighborhood_piter.cc (revision 3032)
+++ tests/unit_test/mln_core_image_complex_neighborhood_piter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/complex_neighborhood_piter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/complex_neighborhood_piter.hh>
#include <mln/core/image/complex_neighborhood_piter.hh>
int main()
Index: tests/unit_test/mln_value_concept_built_in.cc
--- tests/unit_test/mln_value_concept_built_in.cc (revision 3032)
+++ tests/unit_test/mln_value_concept_built_in.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/concept/built_in.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/concept/built_in.hh>
#include <mln/value/concept/built_in.hh>
int main()
Index: tests/unit_test/mln_core_concept_point.cc
--- tests/unit_test/mln_core_concept_point.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_point.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/point.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/point.hh>
#include <mln/core/concept/point.hh>
int main()
Index: tests/unit_test/mln_core_internal_fixme.cc
--- tests/unit_test/mln_core_internal_fixme.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_fixme.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/fixme.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/fixme.hh>
#include <mln/core/internal/fixme.hh>
int main()
Index: tests/unit_test/mln_metal_bool.cc
--- tests/unit_test/mln_metal_bool.cc (revision 3032)
+++ tests/unit_test/mln_metal_bool.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/bool.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/bool.hh>
#include <mln/metal/bool.hh>
int main()
Index: tests/unit_test/mln_level_compare.cc
--- tests/unit_test/mln_level_compare.cc (revision 3032)
+++ tests/unit_test/mln_level_compare.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/compare.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/compare.hh>
#include <mln/level/compare.hh>
int main()
Index: tests/unit_test/mln_core_window.cc
--- tests/unit_test/mln_core_window.cc (revision 3032)
+++ tests/unit_test/mln_core_window.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/window.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/window.hh>
#include <mln/core/window.hh>
int main()
Index: tests/unit_test/mln_value_concept_data.cc
--- tests/unit_test/mln_value_concept_data.cc (revision 3032)
+++ tests/unit_test/mln_value_concept_data.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/concept/data.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/concept/data.hh>
#include <mln/value/concept/data.hh>
int main()
Index: tests/unit_test/mln_metal_math_max.cc
--- tests/unit_test/mln_metal_math_max.cc (revision 3032)
+++ tests/unit_test/mln_metal_math_max.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/math/max.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/math/max.hh>
#include <mln/metal/math/max.hh>
int main()
Index: tests/unit_test/mln_core_internal_pseudo_site_base.cc
--- tests/unit_test/mln_core_internal_pseudo_site_base.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_pseudo_site_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/pseudo_site_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/pseudo_site_base.hh>
#include <mln/core/internal/pseudo_site_base.hh>
int main()
Index: tests/unit_test/mln_pw_value.cc
--- tests/unit_test/mln_pw_value.cc (revision 3032)
+++ tests/unit_test/mln_pw_value.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/pw/value.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/pw/value.hh>
#include <mln/pw/value.hh>
int main()
Index: tests/unit_test/mln_value_internal_integer.cc
--- tests/unit_test/mln_value_internal_integer.cc (revision 3032)
+++ tests/unit_test/mln_value_internal_integer.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/internal/integer.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/internal/integer.hh>
#include <mln/value/internal/integer.hh>
int main()
Index: tests/unit_test/mln_trait_value_quant.cc
--- tests/unit_test/mln_trait_value_quant.cc (revision 3032)
+++ tests/unit_test/mln_trait_value_quant.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/value/quant.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/value/quant.hh>
#include <mln/trait/value/quant.hh>
int main()
Index: tests/unit_test/mln_topo_face_data.cc
--- tests/unit_test/mln_topo_face_data.cc (revision 3032)
+++ tests/unit_test/mln_topo_face_data.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/face_data.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/face_data.hh>
#include <mln/topo/face_data.hh>
int main()
Index: tests/unit_test/mln_fun_vv2v_land_not.cc
--- tests/unit_test/mln_fun_vv2v_land_not.cc (revision 3032)
+++ tests/unit_test/mln_fun_vv2v_land_not.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/vv2v/land_not.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/vv2v/land_not.hh>
#include <mln/fun/vv2v/land_not.hh>
int main()
Index: tests/unit_test/mln_trait_op_greater.cc
--- tests/unit_test/mln_trait_op_greater.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_greater.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/greater.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/greater.hh>
#include <mln/trait/op/greater.hh>
int main()
Index: tests/unit_test/mln_util_yes.cc
--- tests/unit_test/mln_util_yes.cc (revision 3032)
+++ tests/unit_test/mln_util_yes.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/yes.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/yes.hh>
#include <mln/util/yes.hh>
int main()
Index: tests/unit_test/mln_io_pbm_all.cc
--- tests/unit_test/mln_io_pbm_all.cc (revision 3032)
+++ tests/unit_test/mln_io_pbm_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/pbm/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/pbm/all.hh>
#include <mln/io/pbm/all.hh>
int main()
Index: tests/unit_test/mln_win_disk2d.cc
--- tests/unit_test/mln_win_disk2d.cc (revision 3032)
+++ tests/unit_test/mln_win_disk2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/disk2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/disk2d.hh>
#include <mln/win/disk2d.hh>
int main()
Index: tests/unit_test/mln_core_routine_primary.cc
--- tests/unit_test/mln_core_routine_primary.cc (revision 3032)
+++ tests/unit_test/mln_core_routine_primary.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/routine/primary.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/routine/primary.hh>
#include <mln/core/routine/primary.hh>
int main()
Index: tests/unit_test/mln_math_round.cc
--- tests/unit_test/mln_math_round.cc (revision 3032)
+++ tests/unit_test/mln_math_round.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/math/round.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/math/round.hh>
#include <mln/math/round.hh>
int main()
Index: tests/unit_test/mln_metal_array.cc
--- tests/unit_test/mln_metal_array.cc (revision 3032)
+++ tests/unit_test/mln_metal_array.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/array.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/array.hh>
#include <mln/metal/array.hh>
int main()
Index: tests/unit_test/mln_io_pfm_all.cc
--- tests/unit_test/mln_io_pfm_all.cc (revision 3032)
+++ tests/unit_test/mln_io_pfm_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/pfm/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/pfm/all.hh>
#include <mln/io/pfm/all.hh>
int main()
Index: tests/unit_test/mln_core_image_essential.cc
--- tests/unit_test/mln_core_image_essential.cc (revision 3032)
+++ tests/unit_test/mln_core_image_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/essential.hh>
#include <mln/core/image/essential.hh>
int main()
Index: tests/unit_test/mln_literal_origin.cc
--- tests/unit_test/mln_literal_origin.cc (revision 3032)
+++ tests/unit_test/mln_literal_origin.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/literal/origin.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/literal/origin.hh>
#include <mln/literal/origin.hh>
int main()
Index: tests/unit_test/mln_win_essential.cc
--- tests/unit_test/mln_win_essential.cc (revision 3032)
+++ tests/unit_test/mln_win_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/essential.hh>
#include <mln/win/essential.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_set_of.cc
--- tests/unit_test/mln_core_site_set_p_set_of.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_set_of.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_set_of.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_set_of.hh>
#include <mln/core/site_set/p_set_of.hh>
int main()
Index: tests/unit_test/mln_fun_v2b_essential.cc
--- tests/unit_test/mln_fun_v2b_essential.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2b_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2b/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2b/essential.hh>
#include <mln/fun/v2b/essential.hh>
int main()
Index: tests/unit_test/mln_registration_get_rtransf.cc
--- tests/unit_test/mln_registration_get_rtransf.cc (revision 3032)
+++ tests/unit_test/mln_registration_get_rtransf.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/registration/get_rtransf.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/registration/get_rtransf.hh>
#include <mln/registration/get_rtransf.hh>
int main()
Index: tests/unit_test/mln_io_pnm_all.cc
--- tests/unit_test/mln_io_pnm_all.cc (revision 3032)
+++ tests/unit_test/mln_io_pnm_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/pnm/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/pnm/all.hh>
#include <mln/io/pnm/all.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_point_iterator.cc
--- tests/unit_test/mln_core_concept_doc_point_iterator.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_point_iterator.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/point_iterator.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/point_iterator.hh>
#include <mln/core/concept/doc/point_iterator.hh>
int main()
Index: tests/unit_test/mln_value_concept_structured.cc
--- tests/unit_test/mln_value_concept_structured.cc (revision 3032)
+++ tests/unit_test/mln_value_concept_structured.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/concept/structured.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/concept/structured.hh>
#include <mln/value/concept/structured.hh>
int main()
Index: tests/unit_test/mln_core_concept_pixel_iterator.cc
--- tests/unit_test/mln_core_concept_pixel_iterator.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_pixel_iterator.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/pixel_iterator.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/pixel_iterator.hh>
#include <mln/core/concept/pixel_iterator.hh>
int main()
Index: tests/unit_test/mln_util_tree_fast_to_image.cc
--- tests/unit_test/mln_util_tree_fast_to_image.cc (revision 3032)
+++ tests/unit_test/mln_util_tree_fast_to_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/tree_fast_to_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/tree_fast_to_image.hh>
#include <mln/util/tree_fast_to_image.hh>
int main()
Index: tests/unit_test/mln_level_saturate.cc
--- tests/unit_test/mln_level_saturate.cc (revision 3032)
+++ tests/unit_test/mln_level_saturate.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/saturate.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/saturate.hh>
#include <mln/level/saturate.hh>
int main()
Index: tests/unit_test/mln_fun_p2b_chess.cc
--- tests/unit_test/mln_fun_p2b_chess.cc (revision 3032)
+++ tests/unit_test/mln_fun_p2b_chess.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/p2b/chess.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/p2b/chess.hh>
#include <mln/fun/p2b/chess.hh>
int main()
Index: tests/unit_test/mln_core_grids.cc
--- tests/unit_test/mln_core_grids.cc (revision 3032)
+++ tests/unit_test/mln_core_grids.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/grids.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/grids.hh>
#include <mln/core/grids.hh>
int main()
Index: tests/unit_test/mln_win_vline2d.cc
--- tests/unit_test/mln_win_vline2d.cc (revision 3032)
+++ tests/unit_test/mln_win_vline2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/vline2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/vline2d.hh>
#include <mln/win/vline2d.hh>
int main()
Index: tests/unit_test/mln_fun_x2v_linear.cc
--- tests/unit_test/mln_fun_x2v_linear.cc (revision 3032)
+++ tests/unit_test/mln_fun_x2v_linear.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/x2v/linear.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/x2v/linear.hh>
#include <mln/fun/x2v/linear.hh>
int main()
Index: tests/unit_test/mln_geom_ninds.cc
--- tests/unit_test/mln_geom_ninds.cc (revision 3032)
+++ tests/unit_test/mln_geom_ninds.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/ninds.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/ninds.hh>
#include <mln/geom/ninds.hh>
int main()
Index: tests/unit_test/mln_core_image_complex_image.cc
--- tests/unit_test/mln_core_image_complex_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_complex_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/complex_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/complex_image.hh>
#include <mln/core/image/complex_image.hh>
int main()
Index: tests/unit_test/mln_core_image_sub_image_if.cc
--- tests/unit_test/mln_core_image_sub_image_if.cc (revision 3032)
+++ tests/unit_test/mln_core_image_sub_image_if.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/sub_image_if.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/sub_image_if.hh>
#include <mln/core/image/sub_image_if.hh>
int main()
Index: tests/unit_test/mln_accu_bbox.cc
--- tests/unit_test/mln_accu_bbox.cc (revision 3032)
+++ tests/unit_test/mln_accu_bbox.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/bbox.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/bbox.hh>
#include <mln/accu/bbox.hh>
int main()
Index: tests/unit_test/mln_accu_median_alt.cc
--- tests/unit_test/mln_accu_median_alt.cc (revision 3032)
+++ tests/unit_test/mln_accu_median_alt.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/median_alt.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/median_alt.hh>
#include <mln/accu/median_alt.hh>
int main()
Index: tests/unit_test/mln_morpho_line_gradient.cc
--- tests/unit_test/mln_morpho_line_gradient.cc (revision 3032)
+++ tests/unit_test/mln_morpho_line_gradient.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/line_gradient.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/line_gradient.hh>
#include <mln/morpho/line_gradient.hh>
int main()
Index: tests/unit_test/mln_topo_essential.cc
--- tests/unit_test/mln_topo_essential.cc (revision 3032)
+++ tests/unit_test/mln_topo_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/essential.hh>
#include <mln/topo/essential.hh>
int main()
Index: tests/unit_test/mln_core_image_complex_neighborhoods.cc
--- tests/unit_test/mln_core_image_complex_neighborhoods.cc (revision 3032)
+++ tests/unit_test/mln_core_image_complex_neighborhoods.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/complex_neighborhoods.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/complex_neighborhoods.hh>
#include <mln/core/image/complex_neighborhoods.hh>
int main()
Index: tests/unit_test/mln_transform_distance_front.cc
--- tests/unit_test/mln_transform_distance_front.cc (revision 3032)
+++ tests/unit_test/mln_transform_distance_front.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/transform/distance_front.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/transform/distance_front.hh>
#include <mln/transform/distance_front.hh>
int main()
Index: tests/unit_test/mln_transform_internal_all.cc
--- tests/unit_test/mln_transform_internal_all.cc (revision 3032)
+++ tests/unit_test/mln_transform_internal_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/transform/internal/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/transform/internal/all.hh>
#include <mln/transform/internal/all.hh>
int main()
Index: tests/unit_test/mln_test_positive.cc
--- tests/unit_test/mln_test_positive.cc (revision 3032)
+++ tests/unit_test/mln_test_positive.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/test/positive.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/test/positive.hh>
#include <mln/test/positive.hh>
int main()
Index: tests/unit_test/mln_binarization_binarization.cc
--- tests/unit_test/mln_binarization_binarization.cc (revision 3032)
+++ tests/unit_test/mln_binarization_binarization.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/binarization/binarization.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/binarization/binarization.hh>
#include <mln/binarization/binarization.hh>
int main()
Index: tests/unit_test/mln_morpho_elementary_gradient_internal.cc
--- tests/unit_test/mln_morpho_elementary_gradient_internal.cc (revision 3032)
+++ tests/unit_test/mln_morpho_elementary_gradient_internal.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/elementary/gradient_internal.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/elementary/gradient_internal.hh>
#include <mln/morpho/elementary/gradient_internal.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_array.cc
--- tests/unit_test/mln_core_site_set_p_array.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_array.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_array.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_array.hh>
#include <mln/core/site_set/p_array.hh>
int main()
Index: tests/unit_test/mln_fun_i2v_array.cc
--- tests/unit_test/mln_fun_i2v_array.cc (revision 3032)
+++ tests/unit_test/mln_fun_i2v_array.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/i2v/array.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/i2v/array.hh>
#include <mln/fun/i2v/array.hh>
int main()
Index: tests/unit_test/mln_trait_op_less.cc
--- tests/unit_test/mln_trait_op_less.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_less.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/less.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/less.hh>
#include <mln/trait/op/less.hh>
int main()
Index: tests/unit_test/mln_win_rectangle2d.cc
--- tests/unit_test/mln_win_rectangle2d.cc (revision 3032)
+++ tests/unit_test/mln_win_rectangle2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/rectangle2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/rectangle2d.hh>
#include <mln/win/rectangle2d.hh>
int main()
Index: tests/unit_test/mln_fun_x2x_rotation.cc
--- tests/unit_test/mln_fun_x2x_rotation.cc (revision 3032)
+++ tests/unit_test/mln_fun_x2x_rotation.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/x2x/rotation.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/x2x/rotation.hh>
#include <mln/fun/x2x/rotation.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_image.cc
--- tests/unit_test/mln_core_site_set_p_image.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_image.hh>
#include <mln/core/site_set/p_image.hh>
int main()
Index: tests/unit_test/mln_metal_const.cc
--- tests/unit_test/mln_metal_const.cc (revision 3032)
+++ tests/unit_test/mln_metal_const.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/const.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/const.hh>
#include <mln/metal/const.hh>
int main()
Index: tests/unit_test/mln_estim_all.cc
--- tests/unit_test/mln_estim_all.cc (revision 3032)
+++ tests/unit_test/mln_estim_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/estim/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/estim/all.hh>
#include <mln/estim/all.hh>
int main()
Index: tests/unit_test/mln_core_internal_image_domain_morpher.cc
--- tests/unit_test/mln_core_internal_image_domain_morpher.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_image_domain_morpher.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/image_domain_morpher.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/image_domain_morpher.hh>
#include <mln/core/internal/image_domain_morpher.hh>
int main()
Index: tests/unit_test/mln_core_concept_value_set.cc
--- tests/unit_test/mln_core_concept_value_set.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_value_set.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/value_set.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/value_set.hh>
#include <mln/core/concept/value_set.hh>
int main()
Index: tests/unit_test/mln_fun_internal_array_base.cc
--- tests/unit_test/mln_fun_internal_array_base.cc (revision 3032)
+++ tests/unit_test/mln_fun_internal_array_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/internal/array_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/internal/array_base.hh>
#include <mln/fun/internal/array_base.hh>
int main()
Index: tests/unit_test/mln_histo_data.cc
--- tests/unit_test/mln_histo_data.cc (revision 3032)
+++ tests/unit_test/mln_histo_data.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/histo/data.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/histo/data.hh>
#include <mln/histo/data.hh>
int main()
Index: tests/unit_test/mln_fun_i2v_essential.cc
--- tests/unit_test/mln_fun_i2v_essential.cc (revision 3032)
+++ tests/unit_test/mln_fun_i2v_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/i2v/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/i2v/essential.hh>
#include <mln/fun/i2v/essential.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_centered.cc
--- tests/unit_test/mln_core_site_set_p_centered.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_centered.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_centered.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_centered.hh>
#include <mln/core/site_set/p_centered.hh>
int main()
Index: tests/unit_test/mln_make_image.cc
--- tests/unit_test/mln_make_image.cc (revision 3032)
+++ tests/unit_test/mln_make_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/image.hh>
#include <mln/make/image.hh>
int main()
Index: tests/unit_test/mln_value_internal_essential.cc
--- tests/unit_test/mln_value_internal_essential.cc (revision 3032)
+++ tests/unit_test/mln_value_internal_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/internal/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/internal/essential.hh>
#include <mln/value/internal/essential.hh>
int main()
Index: tests/unit_test/mln_morpho_contrast.cc
--- tests/unit_test/mln_morpho_contrast.cc (revision 3032)
+++ tests/unit_test/mln_morpho_contrast.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/contrast.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/contrast.hh>
#include <mln/morpho/contrast.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_edges_psite.cc
--- tests/unit_test/mln_core_site_set_p_edges_psite.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_edges_psite.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_edges_psite.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_edges_psite.hh>
#include <mln/core/site_set/p_edges_psite.hh>
int main()
Index: tests/unit_test/mln_morpho_opening.cc
--- tests/unit_test/mln_morpho_opening.cc (revision 3032)
+++ tests/unit_test/mln_morpho_opening.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/opening.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/opening.hh>
#include <mln/morpho/opening.hh>
int main()
Index: tests/unit_test/mln_set_all.cc
--- tests/unit_test/mln_set_all.cc (revision 3032)
+++ tests/unit_test/mln_set_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/set/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/set/all.hh>
#include <mln/set/all.hh>
int main()
Index: tests/unit_test/mln_fun_internal_selector.cc
--- tests/unit_test/mln_fun_internal_selector.cc (revision 3032)
+++ tests/unit_test/mln_fun_internal_selector.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/internal/selector.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/internal/selector.hh>
#include <mln/fun/internal/selector.hh>
int main()
Index: tests/unit_test/mln_geom_ncols.cc
--- tests/unit_test/mln_geom_ncols.cc (revision 3032)
+++ tests/unit_test/mln_geom_ncols.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/ncols.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/ncols.hh>
#include <mln/geom/ncols.hh>
int main()
Index: tests/unit_test/mln_canvas_browsing_fwd.cc
--- tests/unit_test/mln_canvas_browsing_fwd.cc (revision 3032)
+++ tests/unit_test/mln_canvas_browsing_fwd.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/browsing/fwd.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/browsing/fwd.hh>
#include <mln/canvas/browsing/fwd.hh>
int main()
Index: tests/unit_test/mln_extension_adjust.cc
--- tests/unit_test/mln_extension_adjust.cc (revision 3032)
+++ tests/unit_test/mln_extension_adjust.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/extension/adjust.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/extension/adjust.hh>
#include <mln/extension/adjust.hh>
int main()
Index: tests/unit_test/mln_geom_min_col.cc
--- tests/unit_test/mln_geom_min_col.cc (revision 3032)
+++ tests/unit_test/mln_geom_min_col.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/min_col.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/min_col.hh>
#include <mln/geom/min_col.hh>
int main()
Index: tests/unit_test/mln_labeling_regional_maxima.cc
--- tests/unit_test/mln_labeling_regional_maxima.cc (revision 3032)
+++ tests/unit_test/mln_labeling_regional_maxima.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/labeling/regional_maxima.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/labeling/regional_maxima.hh>
#include <mln/labeling/regional_maxima.hh>
int main()
Index: tests/unit_test/mln_metal_unptr.cc
--- tests/unit_test/mln_metal_unptr.cc (revision 3032)
+++ tests/unit_test/mln_metal_unptr.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/unptr.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/unptr.hh>
#include <mln/metal/unptr.hh>
int main()
Index: tests/unit_test/mln_trait_window_props.cc
--- tests/unit_test/mln_trait_window_props.cc (revision 3032)
+++ tests/unit_test/mln_trait_window_props.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/window/props.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/window/props.hh>
#include <mln/trait/window/props.hh>
int main()
Index: tests/unit_test/mln_trait_site_set_print.cc
--- tests/unit_test/mln_trait_site_set_print.cc (revision 3032)
+++ tests/unit_test/mln_trait_site_set_print.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/site_set/print.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/site_set/print.hh>
#include <mln/trait/site_set/print.hh>
int main()
Index: tests/unit_test/mln_geom_delta.cc
--- tests/unit_test/mln_geom_delta.cc (revision 3032)
+++ tests/unit_test/mln_geom_delta.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/delta.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/delta.hh>
#include <mln/geom/delta.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_complex_piter.cc
--- tests/unit_test/mln_core_site_set_p_complex_piter.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_complex_piter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_complex_piter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_complex_piter.hh>
#include <mln/core/site_set/p_complex_piter.hh>
int main()
Index: tests/unit_test/mln_io_ppm_save.cc
--- tests/unit_test/mln_io_ppm_save.cc (revision 3032)
+++ tests/unit_test/mln_io_ppm_save.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/ppm/save.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/ppm/save.hh>
#include <mln/io/ppm/save.hh>
int main()
Index: tests/unit_test/mln_fun_i2v_all_to.cc
--- tests/unit_test/mln_fun_i2v_all_to.cc (revision 3032)
+++ tests/unit_test/mln_fun_i2v_all_to.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/i2v/all_to.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/i2v/all_to.hh>
#include <mln/fun/i2v/all_to.hh>
int main()
Index: tests/unit_test/mln_morpho_meyer_wst.cc
--- tests/unit_test/mln_morpho_meyer_wst.cc (revision 3032)
+++ tests/unit_test/mln_morpho_meyer_wst.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/meyer_wst.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/meyer_wst.hh>
#include <mln/morpho/meyer_wst.hh>
int main()
Index: tests/unit_test/mln_win_hline2d.cc
--- tests/unit_test/mln_win_hline2d.cc (revision 3032)
+++ tests/unit_test/mln_win_hline2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/hline2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/hline2d.hh>
#include <mln/win/hline2d.hh>
int main()
Index: tests/unit_test/mln_value_label_8.cc
--- tests/unit_test/mln_value_label_8.cc (revision 3032)
+++ tests/unit_test/mln_value_label_8.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/label_8.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/label_8.hh>
#include <mln/value/label_8.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_line2d.cc
--- tests/unit_test/mln_core_site_set_p_line2d.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_line2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_line2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_line2d.hh>
#include <mln/core/site_set/p_line2d.hh>
int main()
Index: tests/unit_test/mln_core_image_graph_elt_window.cc
--- tests/unit_test/mln_core_image_graph_elt_window.cc (revision 3032)
+++ tests/unit_test/mln_core_image_graph_elt_window.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/graph_elt_window.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/graph_elt_window.hh>
#include <mln/core/image/graph_elt_window.hh>
int main()
Index: tests/unit_test/mln_math_round_sat.cc
--- tests/unit_test/mln_math_round_sat.cc (revision 3032)
+++ tests/unit_test/mln_math_round_sat.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/math/round_sat.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/math/round_sat.hh>
#include <mln/math/round_sat.hh>
int main()
Index: tests/unit_test/mln_io_pnm_max_component.cc
--- tests/unit_test/mln_io_pnm_max_component.cc (revision 3032)
+++ tests/unit_test/mln_io_pnm_max_component.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/pnm/max_component.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/pnm/max_component.hh>
#include <mln/io/pnm/max_component.hh>
int main()
Index: tests/unit_test/mln_convert_all.cc
--- tests/unit_test/mln_convert_all.cc (revision 3032)
+++ tests/unit_test/mln_convert_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/convert/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/all.hh>
#include <mln/convert/all.hh>
int main()
Index: tests/unit_test/mln_trait_op_uplus.cc
--- tests/unit_test/mln_trait_op_uplus.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_uplus.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/uplus.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/uplus.hh>
#include <mln/trait/op/uplus.hh>
int main()
Index: tests/unit_test/mln_accu_land_basic.cc
--- tests/unit_test/mln_accu_land_basic.cc (revision 3032)
+++ tests/unit_test/mln_accu_land_basic.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/land_basic.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/land_basic.hh>
#include <mln/accu/land_basic.hh>
int main()
Index: tests/unit_test/mln_trait_all.cc
--- tests/unit_test/mln_trait_all.cc (revision 3032)
+++ tests/unit_test/mln_trait_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/all.hh>
#include <mln/trait/all.hh>
int main()
Index: tests/unit_test/mln_fun_x2v_all.cc
--- tests/unit_test/mln_fun_x2v_all.cc (revision 3032)
+++ tests/unit_test/mln_fun_x2v_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/x2v/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/x2v/all.hh>
#include <mln/fun/x2v/all.hh>
int main()
Index: tests/unit_test/mln_core_concept_mesh.cc
--- tests/unit_test/mln_core_concept_mesh.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_mesh.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/mesh.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/mesh.hh>
#include <mln/core/concept/mesh.hh>
int main()
Index: tests/unit_test/mln_fun_vv2v_macros.cc
--- tests/unit_test/mln_fun_vv2v_macros.cc (revision 3032)
+++ tests/unit_test/mln_fun_vv2v_macros.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/vv2v/macros.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/vv2v/macros.hh>
#include <mln/fun/vv2v/macros.hh>
int main()
Index: tests/unit_test/mln_fun_all.cc
--- tests/unit_test/mln_fun_all.cc (revision 3032)
+++ tests/unit_test/mln_fun_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/all.hh>
#include <mln/fun/all.hh>
int main()
Index: tests/unit_test/mln_linear_essential.cc
--- tests/unit_test/mln_linear_essential.cc (revision 3032)
+++ tests/unit_test/mln_linear_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/linear/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/linear/essential.hh>
#include <mln/linear/essential.hh>
int main()
Index: tests/unit_test/mln_morpho_elementary_all.cc
--- tests/unit_test/mln_morpho_elementary_all.cc (revision 3032)
+++ tests/unit_test/mln_morpho_elementary_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/elementary/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/elementary/all.hh>
#include <mln/morpho/elementary/all.hh>
int main()
Index: tests/unit_test/mln_value_label_16.cc
--- tests/unit_test/mln_value_label_16.cc (revision 3032)
+++ tests/unit_test/mln_value_label_16.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/label_16.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/label_16.hh>
#include <mln/value/label_16.hh>
int main()
Index: tests/unit_test/mln_accu_line.cc
--- tests/unit_test/mln_accu_line.cc (revision 3032)
+++ tests/unit_test/mln_accu_line.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/line.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/line.hh>
#include <mln/accu/line.hh>
int main()
Index: tests/unit_test/mln_core_image_fi_adaptor.cc
--- tests/unit_test/mln_core_image_fi_adaptor.cc (revision 3032)
+++ tests/unit_test/mln_core_image_fi_adaptor.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/fi_adaptor.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/fi_adaptor.hh>
#include <mln/core/image/fi_adaptor.hh>
int main()
Index: tests/unit_test/mln_norm_essential.cc
--- tests/unit_test/mln_norm_essential.cc (revision 3032)
+++ tests/unit_test/mln_norm_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/norm/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/norm/essential.hh>
#include <mln/norm/essential.hh>
int main()
Index: tests/unit_test/mln_util_max.cc
--- tests/unit_test/mln_util_max.cc (revision 3032)
+++ tests/unit_test/mln_util_max.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/max.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/max.hh>
#include <mln/util/max.hh>
int main()
Index: tests/unit_test/mln_labeling_essential.cc
--- tests/unit_test/mln_labeling_essential.cc (revision 3032)
+++ tests/unit_test/mln_labeling_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/labeling/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/labeling/essential.hh>
#include <mln/labeling/essential.hh>
int main()
Index: tests/unit_test/mln_metal_math_sqrt.cc
--- tests/unit_test/mln_metal_math_sqrt.cc (revision 3032)
+++ tests/unit_test/mln_metal_math_sqrt.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/math/sqrt.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/math/sqrt.hh>
#include <mln/metal/math/sqrt.hh>
int main()
Index: tests/unit_test/mln_metal_array1d.cc
--- tests/unit_test/mln_metal_array1d.cc (revision 3032)
+++ tests/unit_test/mln_metal_array1d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/array1d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/array1d.hh>
#include <mln/metal/array1d.hh>
int main()
Index: tests/unit_test/mln_morpho_tree_max.cc
--- tests/unit_test/mln_morpho_tree_max.cc (revision 3032)
+++ tests/unit_test/mln_morpho_tree_max.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/tree/max.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/tree/max.hh>
#include <mln/morpho/tree/max.hh>
int main()
Index: tests/unit_test/mln_core_image_image2d_h.cc
--- tests/unit_test/mln_core_image_image2d_h.cc (revision 3032)
+++ tests/unit_test/mln_core_image_image2d_h.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/image2d_h.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/image2d_h.hh>
#include <mln/core/image/image2d_h.hh>
int main()
Index: tests/unit_test/mln_literal_zero.cc
--- tests/unit_test/mln_literal_zero.cc (revision 3032)
+++ tests/unit_test/mln_literal_zero.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/literal/zero.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/literal/zero.hh>
#include <mln/literal/zero.hh>
int main()
Index: tests/unit_test/mln_fun_x2v_essential.cc
--- tests/unit_test/mln_fun_x2v_essential.cc (revision 3032)
+++ tests/unit_test/mln_fun_x2v_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/x2v/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/x2v/essential.hh>
#include <mln/fun/x2v/essential.hh>
int main()
Index: tests/unit_test/mln_math_max.cc
--- tests/unit_test/mln_math_max.cc (revision 3032)
+++ tests/unit_test/mln_math_max.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/math/max.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/math/max.hh>
#include <mln/math/max.hh>
int main()
Index: tests/unit_test/mln_math_jacobi.cc
--- tests/unit_test/mln_math_jacobi.cc (revision 3032)
+++ tests/unit_test/mln_math_jacobi.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/math/jacobi.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/math/jacobi.hh>
#include <mln/math/jacobi.hh>
int main()
Index: tests/unit_test/mln_geom_bbox.cc
--- tests/unit_test/mln_geom_bbox.cc (revision 3032)
+++ tests/unit_test/mln_geom_bbox.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/bbox.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/bbox.hh>
#include <mln/geom/bbox.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_pixel_iterator.cc
--- tests/unit_test/mln_core_concept_doc_pixel_iterator.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_pixel_iterator.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/pixel_iterator.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/pixel_iterator.hh>
#include <mln/core/concept/doc/pixel_iterator.hh>
int main()
Index: tests/unit_test/mln_level_transform.cc
--- tests/unit_test/mln_level_transform.cc (revision 3032)
+++ tests/unit_test/mln_level_transform.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/transform.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/transform.hh>
#include <mln/level/transform.hh>
int main()
Index: tests/unit_test/mln_geom_max_sli.cc
--- tests/unit_test/mln_geom_max_sli.cc (revision 3032)
+++ tests/unit_test/mln_geom_max_sli.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/max_sli.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/max_sli.hh>
#include <mln/geom/max_sli.hh>
int main()
Index: tests/unit_test/mln_draw_essential.cc
--- tests/unit_test/mln_draw_essential.cc (revision 3032)
+++ tests/unit_test/mln_draw_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/draw/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/draw/essential.hh>
#include <mln/draw/essential.hh>
int main()
Index: tests/unit_test/mln_trait_undef.cc
--- tests/unit_test/mln_trait_undef.cc (revision 3032)
+++ tests/unit_test/mln_trait_undef.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/undef.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/undef.hh>
#include <mln/trait/undef.hh>
int main()
Index: tests/unit_test/mln_estim_sum.cc
--- tests/unit_test/mln_estim_sum.cc (revision 3032)
+++ tests/unit_test/mln_estim_sum.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/estim/sum.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/estim/sum.hh>
#include <mln/estim/sum.hh>
int main()
Index: tests/unit_test/mln_canvas_morpho_essential.cc
--- tests/unit_test/mln_canvas_morpho_essential.cc (revision 3032)
+++ tests/unit_test/mln_canvas_morpho_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/morpho/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/morpho/essential.hh>
#include <mln/canvas/morpho/essential.hh>
int main()
Index: tests/unit_test/mln_extension_duplicate.cc
--- tests/unit_test/mln_extension_duplicate.cc (revision 3032)
+++ tests/unit_test/mln_extension_duplicate.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/extension/duplicate.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/extension/duplicate.hh>
#include <mln/extension/duplicate.hh>
int main()
Index: tests/unit_test/mln_math_diff_abs.cc
--- tests/unit_test/mln_math_diff_abs.cc (revision 3032)
+++ tests/unit_test/mln_math_diff_abs.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/math/diff_abs.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/math/diff_abs.hh>
#include <mln/math/diff_abs.hh>
int main()
Index: tests/unit_test/mln_morpho_elementary_closing.cc
--- tests/unit_test/mln_morpho_elementary_closing.cc (revision 3032)
+++ tests/unit_test/mln_morpho_elementary_closing.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/elementary/closing.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/elementary/closing.hh>
#include <mln/morpho/elementary/closing.hh>
int main()
Index: tests/unit_test/mln_morpho_min.cc
--- tests/unit_test/mln_morpho_min.cc (revision 3032)
+++ tests/unit_test/mln_morpho_min.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/min.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/min.hh>
#include <mln/morpho/min.hh>
int main()
Index: tests/unit_test/mln_value_float01_f.cc
--- tests/unit_test/mln_value_float01_f.cc (revision 3032)
+++ tests/unit_test/mln_value_float01_f.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/float01_f.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/float01_f.hh>
#include <mln/value/float01_f.hh>
int main()
Index: tests/unit_test/mln_win_multiple.cc
--- tests/unit_test/mln_win_multiple.cc (revision 3032)
+++ tests/unit_test/mln_win_multiple.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/multiple.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/multiple.hh>
#include <mln/win/multiple.hh>
int main()
Index: tests/unit_test/mln_all.cc
--- tests/unit_test/mln_all.cc (revision 3032)
+++ tests/unit_test/mln_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/all.hh>
#include <mln/all.hh>
int main()
Index: tests/unit_test/mln_make_vec.cc
--- tests/unit_test/mln_make_vec.cc (revision 3032)
+++ tests/unit_test/mln_make_vec.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/vec.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/vec.hh>
#include <mln/make/vec.hh>
int main()
Index: tests/unit_test/mln_morpho_closing_area_on_vertices.cc
--- tests/unit_test/mln_morpho_closing_area_on_vertices.cc (revision 3032)
+++ tests/unit_test/mln_morpho_closing_area_on_vertices.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/closing_area_on_vertices.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/closing_area_on_vertices.hh>
#include <mln/morpho/closing_area_on_vertices.hh>
int main()
Index: tests/unit_test/mln_morpho_opening_volume.cc
--- tests/unit_test/mln_morpho_opening_volume.cc (revision 3032)
+++ tests/unit_test/mln_morpho_opening_volume.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/opening_volume.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/opening_volume.hh>
#include <mln/morpho/opening_volume.hh>
int main()
Index: tests/unit_test/mln_core_internal_complex_window_p_base.cc
--- tests/unit_test/mln_core_internal_complex_window_p_base.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_complex_window_p_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/complex_window_p_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/complex_window_p_base.hh>
#include <mln/core/internal/complex_window_p_base.hh>
int main()
Index: tests/unit_test/mln_core_internal_check_image_fastest.cc
--- tests/unit_test/mln_core_internal_check_image_fastest.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_check_image_fastest.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/check/image_fastest.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/check/image_fastest.hh>
#include <mln/core/internal/check/image_fastest.hh>
int main()
Index: tests/unit_test/mln_core_image_value_enc_image.cc
--- tests/unit_test/mln_core_image_value_enc_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_value_enc_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/value_enc_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/value_enc_image.hh>
#include <mln/core/image/value_enc_image.hh>
int main()
Index: tests/unit_test/mln_util_nil.cc
--- tests/unit_test/mln_util_nil.cc (revision 3032)
+++ tests/unit_test/mln_util_nil.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/nil.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/nil.hh>
#include <mln/util/nil.hh>
int main()
Index: tests/unit_test/mln_core_all.cc
--- tests/unit_test/mln_core_all.cc (revision 3032)
+++ tests/unit_test/mln_core_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/all.hh>
#include <mln/core/all.hh>
int main()
Index: tests/unit_test/mln_fun_x2v_nneighbor.cc
--- tests/unit_test/mln_fun_x2v_nneighbor.cc (revision 3032)
+++ tests/unit_test/mln_fun_x2v_nneighbor.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/x2v/nneighbor.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/x2v/nneighbor.hh>
#include <mln/fun/x2v/nneighbor.hh>
int main()
Index: tests/unit_test/mln_morpho_complementation.cc
--- tests/unit_test/mln_morpho_complementation.cc (revision 3032)
+++ tests/unit_test/mln_morpho_complementation.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/complementation.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/complementation.hh>
#include <mln/morpho/complementation.hh>
int main()
Index: tests/unit_test/mln_make_point2d_h.cc
--- tests/unit_test/mln_make_point2d_h.cc (revision 3032)
+++ tests/unit_test/mln_make_point2d_h.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/point2d_h.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/point2d_h.hh>
#include <mln/make/point2d_h.hh>
int main()
Index: tests/unit_test/mln_io_pbm_save.cc
--- tests/unit_test/mln_io_pbm_save.cc (revision 3032)
+++ tests/unit_test/mln_io_pbm_save.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/pbm/save.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/pbm/save.hh>
#include <mln/io/pbm/save.hh>
int main()
Index: tests/unit_test/mln_geom_min_ind.cc
--- tests/unit_test/mln_geom_min_ind.cc (revision 3032)
+++ tests/unit_test/mln_geom_min_ind.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/min_ind.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/min_ind.hh>
#include <mln/geom/min_ind.hh>
int main()
Index: tests/unit_test/mln_trait_ch_value.cc
--- tests/unit_test/mln_trait_ch_value.cc (revision 3032)
+++ tests/unit_test/mln_trait_ch_value.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/ch_value.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/ch_value.hh>
#include <mln/trait/ch_value.hh>
int main()
Index: tests/unit_test/mln_fun_v2b_all.cc
--- tests/unit_test/mln_fun_v2b_all.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2b_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2b/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2b/all.hh>
#include <mln/fun/v2b/all.hh>
int main()
Index: tests/unit_test/mln_core_pixel.cc
--- tests/unit_test/mln_core_pixel.cc (revision 3032)
+++ tests/unit_test/mln_core_pixel.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/pixel.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/pixel.hh>
#include <mln/core/pixel.hh>
int main()
Index: tests/unit_test/mln_util_tracked_ptr.cc
--- tests/unit_test/mln_util_tracked_ptr.cc (revision 3032)
+++ tests/unit_test/mln_util_tracked_ptr.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/tracked_ptr.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/tracked_ptr.hh>
#include <mln/util/tracked_ptr.hh>
int main()
Index: tests/unit_test/mln_test_predicate.cc
--- tests/unit_test/mln_test_predicate.cc (revision 3032)
+++ tests/unit_test/mln_test_predicate.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/test/predicate.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/test/predicate.hh>
#include <mln/test/predicate.hh>
int main()
Index: tests/unit_test/mln_core_alias_point1d.cc
--- tests/unit_test/mln_core_alias_point1d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_point1d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/point1d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/point1d.hh>
#include <mln/core/alias/point1d.hh>
int main()
Index: tests/unit_test/mln_metal_math_pow.cc
--- tests/unit_test/mln_metal_math_pow.cc (revision 3032)
+++ tests/unit_test/mln_metal_math_pow.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/math/pow.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/math/pow.hh>
#include <mln/metal/math/pow.hh>
int main()
Index: tests/unit_test/mln_core_concept_site_set.cc
--- tests/unit_test/mln_core_concept_site_set.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_site_set.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/site_set.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/site_set.hh>
#include <mln/core/concept/site_set.hh>
int main()
Index: tests/unit_test/mln_labeling_relabel.cc
--- tests/unit_test/mln_labeling_relabel.cc (revision 3032)
+++ tests/unit_test/mln_labeling_relabel.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/labeling/relabel.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/labeling/relabel.hh>
#include <mln/labeling/relabel.hh>
int main()
Index: tests/unit_test/mln_convert_from_to.cc
--- tests/unit_test/mln_convert_from_to.cc (revision 3032)
+++ tests/unit_test/mln_convert_from_to.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/convert/from_to.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/from_to.hh>
#include <mln/convert/from_to.hh>
int main()
Index: tests/unit_test/mln_core_internal_site_relative_iterator_base.cc
--- tests/unit_test/mln_core_internal_site_relative_iterator_base.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_site_relative_iterator_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/site_relative_iterator_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/site_relative_iterator_base.hh>
#include <mln/core/internal/site_relative_iterator_base.hh>
int main()
Index: tests/unit_test/mln_geom_size1d.cc
--- tests/unit_test/mln_geom_size1d.cc (revision 3032)
+++ tests/unit_test/mln_geom_size1d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/size1d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/size1d.hh>
#include <mln/geom/size1d.hh>
int main()
Index: tests/unit_test/mln_value_internal_value_like.cc
--- tests/unit_test/mln_value_internal_value_like.cc (revision 3032)
+++ tests/unit_test/mln_value_internal_value_like.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/internal/value_like.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/internal/value_like.hh>
#include <mln/value/internal/value_like.hh>
int main()
Index: tests/unit_test/mln_core_internal_exact.cc
--- tests/unit_test/mln_core_internal_exact.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_exact.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/exact.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/exact.hh>
#include <mln/core/internal/exact.hh>
int main()
Index: tests/unit_test/mln_topo_all.cc
--- tests/unit_test/mln_topo_all.cc (revision 3032)
+++ tests/unit_test/mln_topo_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/all.hh>
#include <mln/topo/all.hh>
int main()
Index: tests/unit_test/mln_topo_n_faces_set.cc
--- tests/unit_test/mln_topo_n_faces_set.cc (revision 3032)
+++ tests/unit_test/mln_topo_n_faces_set.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/n_faces_set.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/n_faces_set.hh>
#include <mln/topo/n_faces_set.hh>
int main()
Index: tests/unit_test/mln_core_internal_run_image.cc
--- tests/unit_test/mln_core_internal_run_image.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_run_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/run_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/run_image.hh>
#include <mln/core/internal/run_image.hh>
int main()
Index: tests/unit_test/mln_linear_log.cc
--- tests/unit_test/mln_linear_log.cc (revision 3032)
+++ tests/unit_test/mln_linear_log.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/linear/log.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/linear/log.hh>
#include <mln/linear/log.hh>
int main()
Index: tests/unit_test/build_unit_test.sh
--- tests/unit_test/build_unit_test.sh (revision 3032)
+++ tests/unit_test/build_unit_test.sh (working copy)
@@ -18,15 +18,21 @@
for i in $HEADERS; do
FILE_CC=`echo $i | sed 's/[/.]/_/g' | sed 's/_hh/\.cc/g'`
+
#Build .cc
- echo "// Unit test for $i." >> $FILE_CC
- echo "// Generated file, do not modify." >> $FILE_CC
- echo "#include <$i>" >> $FILE_CC
- echo "" >> $FILE_CC
- echo "int main()" >> $FILE_CC
- echo "{" >> $FILE_CC
- echo " // Nothing." >> $FILE_CC
- echo "}" >> $FILE_CC
+ cat > $FILE_CC << EOF
+// Unit test for $i.
+// Generated by $0, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <$i>
+#include <$i>
+
+int main()
+{
+ // Nothing.
+}
+EOF
#build Makefile.am
TARGET=`echo "${FILE_CC}" | sed 's/\.cc//'`
Index: tests/unit_test/mln_convert_to_rgb.cc
--- tests/unit_test/mln_convert_to_rgb.cc (revision 3032)
+++ tests/unit_test/mln_convert_to_rgb.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/convert/to_rgb.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/to_rgb.hh>
#include <mln/convert/to_rgb.hh>
int main()
Index: tests/unit_test/mln_metal_is_not.cc
--- tests/unit_test/mln_metal_is_not.cc (revision 3032)
+++ tests/unit_test/mln_metal_is_not.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/is_not.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/is_not.hh>
#include <mln/metal/is_not.hh>
int main()
Index: tests/unit_test/mln_core_concept_browsing.cc
--- tests/unit_test/mln_core_concept_browsing.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_browsing.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/browsing.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/browsing.hh>
#include <mln/core/concept/browsing.hh>
int main()
Index: tests/unit_test/mln_fun_x2v_l1_norm.cc
--- tests/unit_test/mln_fun_x2v_l1_norm.cc (revision 3032)
+++ tests/unit_test/mln_fun_x2v_l1_norm.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/x2v/l1_norm.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/x2v/l1_norm.hh>
#include <mln/fun/x2v/l1_norm.hh>
int main()
Index: tests/unit_test/mln_canvas_essential.cc
--- tests/unit_test/mln_canvas_essential.cc (revision 3032)
+++ tests/unit_test/mln_canvas_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/essential.hh>
#include <mln/canvas/essential.hh>
int main()
Index: tests/unit_test/mln_trait_op_plus.cc
--- tests/unit_test/mln_trait_op_plus.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_plus.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/plus.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/plus.hh>
#include <mln/trait/op/plus.hh>
int main()
Index: tests/unit_test/mln_accu_tuple.cc
--- tests/unit_test/mln_accu_tuple.cc (revision 3032)
+++ tests/unit_test/mln_accu_tuple.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/tuple.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/tuple.hh>
#include <mln/accu/tuple.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_point_site.cc
--- tests/unit_test/mln_core_concept_doc_point_site.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_point_site.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/point_site.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/point_site.hh>
#include <mln/core/concept/doc/point_site.hh>
int main()
Index: tests/unit_test/mln_core_internal_graph_window_base.cc
--- tests/unit_test/mln_core_internal_graph_window_base.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_graph_window_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/graph_window_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/graph_window_base.hh>
#include <mln/core/internal/graph_window_base.hh>
int main()
Index: tests/unit_test/mln_core_image_obased_rle_encode.cc
--- tests/unit_test/mln_core_image_obased_rle_encode.cc (revision 3032)
+++ tests/unit_test/mln_core_image_obased_rle_encode.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/obased_rle_encode.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/obased_rle_encode.hh>
#include <mln/core/image/obased_rle_encode.hh>
int main()
Index: tests/unit_test/mln_accu_convolve.cc
--- tests/unit_test/mln_accu_convolve.cc (revision 3032)
+++ tests/unit_test/mln_accu_convolve.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/convolve.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/convolve.hh>
#include <mln/accu/convolve.hh>
int main()
Index: tests/unit_test/mln_border_adjust.cc
--- tests/unit_test/mln_border_adjust.cc (revision 3032)
+++ tests/unit_test/mln_border_adjust.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/border/adjust.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/border/adjust.hh>
#include <mln/border/adjust.hh>
int main()
Index: tests/unit_test/mln_core_internal_p_complex_piter_base.cc
--- tests/unit_test/mln_core_internal_p_complex_piter_base.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_p_complex_piter_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/p_complex_piter_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/p_complex_piter_base.hh>
#include <mln/core/internal/p_complex_piter_base.hh>
int main()
Index: tests/unit_test/mln_util_set.cc
--- tests/unit_test/mln_util_set.cc (revision 3032)
+++ tests/unit_test/mln_util_set.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/set.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/set.hh>
#include <mln/util/set.hh>
int main()
Index: tests/unit_test/mln_core_image_extension_val.cc
--- tests/unit_test/mln_core_image_extension_val.cc (revision 3032)
+++ tests/unit_test/mln_core_image_extension_val.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/extension_val.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/extension_val.hh>
#include <mln/core/image/extension_val.hh>
int main()
Index: tests/unit_test/mln_convert_to_fun.cc
--- tests/unit_test/mln_convert_to_fun.cc (revision 3032)
+++ tests/unit_test/mln_convert_to_fun.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/convert/to_fun.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/to_fun.hh>
#include <mln/convert/to_fun.hh>
int main()
Index: tests/unit_test/mln_trait_solve.cc
--- tests/unit_test/mln_trait_solve.cc (revision 3032)
+++ tests/unit_test/mln_trait_solve.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/solve.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/solve.hh>
#include <mln/trait/solve.hh>
int main()
Index: tests/unit_test/mln_util_ord_pair.cc
--- tests/unit_test/mln_util_ord_pair.cc (revision 3032)
+++ tests/unit_test/mln_util_ord_pair.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/ord_pair.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/ord_pair.hh>
#include <mln/util/ord_pair.hh>
int main()
Index: tests/unit_test/mln_math_min.cc
--- tests/unit_test/mln_math_min.cc (revision 3032)
+++ tests/unit_test/mln_math_min.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/math/min.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/math/min.hh>
#include <mln/math/min.hh>
int main()
Index: tests/unit_test/mln_logical_and.cc
--- tests/unit_test/mln_logical_and.cc (revision 3032)
+++ tests/unit_test/mln_logical_and.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/logical/and.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/logical/and.hh>
#include <mln/logical/and.hh>
int main()
Index: tests/unit_test/mln_fun_v2v_essential.cc
--- tests/unit_test/mln_fun_v2v_essential.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2v_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2v/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2v/essential.hh>
#include <mln/fun/v2v/essential.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_run_piter.cc
--- tests/unit_test/mln_core_site_set_p_run_piter.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_run_piter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_run_piter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_run_piter.hh>
#include <mln/core/site_set/p_run_piter.hh>
int main()
Index: tests/unit_test/mln_linear_local_convolve.cc
--- tests/unit_test/mln_linear_local_convolve.cc (revision 3032)
+++ tests/unit_test/mln_linear_local_convolve.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/linear/local/convolve.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/linear/local/convolve.hh>
#include <mln/linear/local/convolve.hh>
int main()
Index: tests/unit_test/mln_accu_median_h.cc
--- tests/unit_test/mln_accu_median_h.cc (revision 3032)
+++ tests/unit_test/mln_accu_median_h.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/median_h.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/median_h.hh>
#include <mln/accu/median_h.hh>
int main()
Index: tests/unit_test/mln_fun_v2v_cast.cc
--- tests/unit_test/mln_fun_v2v_cast.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2v_cast.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2v/cast.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2v/cast.hh>
#include <mln/fun/v2v/cast.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_box.cc
--- tests/unit_test/mln_core_concept_doc_box.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_box.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/box.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/box.hh>
#include <mln/core/concept/doc/box.hh>
int main()
Index: tests/unit_test/mln_level_stretch.cc
--- tests/unit_test/mln_level_stretch.cc (revision 3032)
+++ tests/unit_test/mln_level_stretch.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/stretch.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/stretch.hh>
#include <mln/level/stretch.hh>
int main()
Index: tests/unit_test/mln_util_index.cc
--- tests/unit_test/mln_util_index.cc (revision 3032)
+++ tests/unit_test/mln_util_index.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/index.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/index.hh>
#include <mln/util/index.hh>
int main()
Index: tests/unit_test/mln_trait_site_set_props.cc
--- tests/unit_test/mln_trait_site_set_props.cc (revision 3032)
+++ tests/unit_test/mln_trait_site_set_props.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/site_set/props.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/site_set/props.hh>
#include <mln/trait/site_set/props.hh>
int main()
Index: tests/unit_test/mln_set_uni.cc
--- tests/unit_test/mln_set_uni.cc (revision 3032)
+++ tests/unit_test/mln_set_uni.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/set/uni.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/set/uni.hh>
#include <mln/set/uni.hh>
int main()
Index: tests/unit_test/mln_morpho_opening_attribute.cc
--- tests/unit_test/mln_morpho_opening_attribute.cc (revision 3032)
+++ tests/unit_test/mln_morpho_opening_attribute.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/opening_attribute.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/opening_attribute.hh>
#include <mln/morpho/opening_attribute.hh>
int main()
Index: tests/unit_test/mln_test_all.cc
--- tests/unit_test/mln_test_all.cc (revision 3032)
+++ tests/unit_test/mln_test_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/test/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/test/all.hh>
#include <mln/test/all.hh>
int main()
Index: tests/unit_test/mln_metal_fix_return.cc
--- tests/unit_test/mln_metal_fix_return.cc (revision 3032)
+++ tests/unit_test/mln_metal_fix_return.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/fix_return.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/fix_return.hh>
#include <mln/metal/fix_return.hh>
int main()
Index: tests/unit_test/mln_topo_adj_lower_face_iter.cc
--- tests/unit_test/mln_topo_adj_lower_face_iter.cc (revision 3032)
+++ tests/unit_test/mln_topo_adj_lower_face_iter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/adj_lower_face_iter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/adj_lower_face_iter.hh>
#include <mln/topo/adj_lower_face_iter.hh>
int main()
Index: tests/unit_test/mln_core_pixter1d.cc
--- tests/unit_test/mln_core_pixter1d.cc (revision 3032)
+++ tests/unit_test/mln_core_pixter1d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/pixter1d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/pixter1d.hh>
#include <mln/core/pixter1d.hh>
int main()
Index: tests/unit_test/mln_metal_unconst.cc
--- tests/unit_test/mln_metal_unconst.cc (revision 3032)
+++ tests/unit_test/mln_metal_unconst.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/unconst.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/unconst.hh>
#include <mln/metal/unconst.hh>
int main()
Index: tests/unit_test/mln_core_alias_w_window2d_int.cc
--- tests/unit_test/mln_core_alias_w_window2d_int.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_w_window2d_int.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/w_window2d_int.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/w_window2d_int.hh>
#include <mln/core/alias/w_window2d_int.hh>
int main()
Index: tests/unit_test/mln_core_routine_ops.cc
--- tests/unit_test/mln_core_routine_ops.cc (revision 3032)
+++ tests/unit_test/mln_core_routine_ops.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/routine/ops.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/routine/ops.hh>
#include <mln/core/routine/ops.hh>
int main()
Index: tests/unit_test/mln_fun_v2v_inc.cc
--- tests/unit_test/mln_fun_v2v_inc.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2v_inc.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2v/inc.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2v/inc.hh>
#include <mln/fun/v2v/inc.hh>
int main()
Index: tests/unit_test/mln_io_off_save.cc
--- tests/unit_test/mln_io_off_save.cc (revision 3032)
+++ tests/unit_test/mln_io_off_save.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/off/save.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/off/save.hh>
#include <mln/io/off/save.hh>
int main()
Index: tests/unit_test/mln_level_memset_.cc
--- tests/unit_test/mln_level_memset_.cc (revision 3032)
+++ tests/unit_test/mln_level_memset_.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/memset_.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/memset_.hh>
#include <mln/level/memset_.hh>
int main()
Index: tests/unit_test/mln_metal_is_not_const.cc
--- tests/unit_test/mln_metal_is_not_const.cc (revision 3032)
+++ tests/unit_test/mln_metal_is_not_const.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/is_not_const.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/is_not_const.hh>
#include <mln/metal/is_not_const.hh>
int main()
Index: tests/unit_test/mln_accu_pair.cc
--- tests/unit_test/mln_accu_pair.cc (revision 3032)
+++ tests/unit_test/mln_accu_pair.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/pair.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/pair.hh>
#include <mln/accu/pair.hh>
int main()
Index: tests/unit_test/mln_fun_l2l_relabel.cc
--- tests/unit_test/mln_fun_l2l_relabel.cc (revision 3032)
+++ tests/unit_test/mln_fun_l2l_relabel.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/l2l/relabel.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/l2l/relabel.hh>
#include <mln/fun/l2l/relabel.hh>
int main()
Index: tests/unit_test/mln_trait_op_essential.cc
--- tests/unit_test/mln_trait_op_essential.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/essential.hh>
#include <mln/trait/op/essential.hh>
int main()
Index: tests/unit_test/mln_make_voronoi.cc
--- tests/unit_test/mln_make_voronoi.cc (revision 3032)
+++ tests/unit_test/mln_make_voronoi.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/voronoi.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/voronoi.hh>
#include <mln/make/voronoi.hh>
int main()
Index: tests/unit_test/mln_core_image_safe.cc
--- tests/unit_test/mln_core_image_safe.cc (revision 3032)
+++ tests/unit_test/mln_core_image_safe.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/safe.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/safe.hh>
#include <mln/core/image/safe.hh>
int main()
Index: tests/unit_test/mln_metal_is_ref.cc
--- tests/unit_test/mln_metal_is_ref.cc (revision 3032)
+++ tests/unit_test/mln_metal_is_ref.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/is_ref.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/is_ref.hh>
#include <mln/metal/is_ref.hh>
int main()
Index: tests/unit_test/mln_metal_abort.cc
--- tests/unit_test/mln_metal_abort.cc (revision 3032)
+++ tests/unit_test/mln_metal_abort.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/abort.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/abort.hh>
#include <mln/metal/abort.hh>
int main()
Index: tests/unit_test/mln_io_off_all.cc
--- tests/unit_test/mln_io_off_all.cc (revision 3032)
+++ tests/unit_test/mln_io_off_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/off/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/off/all.hh>
#include <mln/io/off/all.hh>
int main()
Index: tests/unit_test/mln_win_shift.cc
--- tests/unit_test/mln_win_shift.cc (revision 3032)
+++ tests/unit_test/mln_win_shift.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/shift.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/shift.hh>
#include <mln/win/shift.hh>
int main()
Index: tests/unit_test/mln_metal_all.cc
--- tests/unit_test/mln_metal_all.cc (revision 3032)
+++ tests/unit_test/mln_metal_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/all.hh>
#include <mln/metal/all.hh>
int main()
Index: tests/unit_test/mln_core_alias_w_window3d_float.cc
--- tests/unit_test/mln_core_alias_w_window3d_float.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_w_window3d_float.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/w_window3d_float.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/w_window3d_float.hh>
#include <mln/core/alias/w_window3d_float.hh>
int main()
Index: tests/unit_test/mln_core_internal_complex_neighborhood_base.cc
--- tests/unit_test/mln_core_internal_complex_neighborhood_base.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_complex_neighborhood_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/complex_neighborhood_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/complex_neighborhood_base.hh>
#include <mln/core/internal/complex_neighborhood_base.hh>
int main()
Index: tests/unit_test/mln_fun_x2v_bilinear.cc
--- tests/unit_test/mln_fun_x2v_bilinear.cc (revision 3032)
+++ tests/unit_test/mln_fun_x2v_bilinear.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/x2v/bilinear.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/x2v/bilinear.hh>
#include <mln/fun/x2v/bilinear.hh>
int main()
Index: tests/unit_test/mln_make_dual_neighb.cc
--- tests/unit_test/mln_make_dual_neighb.cc (revision 3032)
+++ tests/unit_test/mln_make_dual_neighb.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/dual_neighb.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/dual_neighb.hh>
#include <mln/make/dual_neighb.hh>
int main()
Index: tests/unit_test/mln_io_txt_all.cc
--- tests/unit_test/mln_io_txt_all.cc (revision 3032)
+++ tests/unit_test/mln_io_txt_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/txt/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/txt/all.hh>
#include <mln/io/txt/all.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_mutable_array_of.cc
--- tests/unit_test/mln_core_site_set_p_mutable_array_of.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_mutable_array_of.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_mutable_array_of.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_mutable_array_of.hh>
#include <mln/core/site_set/p_mutable_array_of.hh>
int main()
Index: tests/unit_test/mln_fun_p2b_essential.cc
--- tests/unit_test/mln_fun_p2b_essential.cc (revision 3032)
+++ tests/unit_test/mln_fun_p2b_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/p2b/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/p2b/essential.hh>
#include <mln/fun/p2b/essential.hh>
int main()
Index: tests/unit_test/mln_core_alias_dpoint1d.cc
--- tests/unit_test/mln_core_alias_dpoint1d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_dpoint1d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/dpoint1d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/dpoint1d.hh>
#include <mln/core/alias/dpoint1d.hh>
int main()
Index: tests/unit_test/mln_make_image2d.cc
--- tests/unit_test/mln_make_image2d.cc (revision 3032)
+++ tests/unit_test/mln_make_image2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/image2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/image2d.hh>
#include <mln/make/image2d.hh>
int main()
Index: tests/unit_test/mln_value_int_s.cc
--- tests/unit_test/mln_value_int_s.cc (revision 3032)
+++ tests/unit_test/mln_value_int_s.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/int_s.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/int_s.hh>
#include <mln/value/int_s.hh>
int main()
Index: tests/unit_test/mln_win_cuboid3d.cc
--- tests/unit_test/mln_win_cuboid3d.cc (revision 3032)
+++ tests/unit_test/mln_win_cuboid3d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/cuboid3d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/cuboid3d.hh>
#include <mln/win/cuboid3d.hh>
int main()
Index: tests/unit_test/mln_core_image_rle_encode.cc
--- tests/unit_test/mln_core_image_rle_encode.cc (revision 3032)
+++ tests/unit_test/mln_core_image_rle_encode.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/rle_encode.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/rle_encode.hh>
#include <mln/core/image/rle_encode.hh>
int main()
Index: tests/unit_test/mln_morpho_closing_area.cc
--- tests/unit_test/mln_morpho_closing_area.cc (revision 3032)
+++ tests/unit_test/mln_morpho_closing_area.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/closing_area.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/closing_area.hh>
#include <mln/morpho/closing_area.hh>
int main()
Index: tests/unit_test/mln_accu_transform_stop.cc
--- tests/unit_test/mln_accu_transform_stop.cc (revision 3032)
+++ tests/unit_test/mln_accu_transform_stop.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/transform_stop.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/transform_stop.hh>
#include <mln/accu/transform_stop.hh>
int main()
Index: tests/unit_test/mln_border_equalize.cc
--- tests/unit_test/mln_border_equalize.cc (revision 3032)
+++ tests/unit_test/mln_border_equalize.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/border/equalize.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/border/equalize.hh>
#include <mln/border/equalize.hh>
int main()
Index: tests/unit_test/mln_geom_nsites.cc
--- tests/unit_test/mln_geom_nsites.cc (revision 3032)
+++ tests/unit_test/mln_geom_nsites.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/nsites.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/nsites.hh>
#include <mln/geom/nsites.hh>
int main()
Index: tests/unit_test/mln_core_image_plain.cc
--- tests/unit_test/mln_core_image_plain.cc (revision 3032)
+++ tests/unit_test/mln_core_image_plain.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/plain.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/plain.hh>
#include <mln/core/image/plain.hh>
int main()
Index: tests/unit_test/mln_core_internal_data.cc
--- tests/unit_test/mln_core_internal_data.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_data.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/data.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/data.hh>
#include <mln/core/internal/data.hh>
int main()
Index: tests/unit_test/mln_metal_math_root.cc
--- tests/unit_test/mln_metal_math_root.cc (revision 3032)
+++ tests/unit_test/mln_metal_math_root.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/math/root.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/math/root.hh>
#include <mln/metal/math/root.hh>
int main()
Index: tests/unit_test/mln_transform_internal_distance_functor.cc
--- tests/unit_test/mln_transform_internal_distance_functor.cc (revision 3032)
+++ tests/unit_test/mln_transform_internal_distance_functor.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/transform/internal/distance_functor.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/transform/internal/distance_functor.hh>
#include <mln/transform/internal/distance_functor.hh>
int main()
Index: tests/unit_test/mln_topo_internal_complex_set_iterator_base.cc
--- tests/unit_test/mln_topo_internal_complex_set_iterator_base.cc (revision 3032)
+++ tests/unit_test/mln_topo_internal_complex_set_iterator_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/internal/complex_set_iterator_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/internal/complex_set_iterator_base.hh>
#include <mln/topo/internal/complex_set_iterator_base.hh>
int main()
Index: tests/unit_test/mln_io_ppm_load.cc
--- tests/unit_test/mln_io_ppm_load.cc (revision 3032)
+++ tests/unit_test/mln_io_ppm_load.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/ppm/load.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/ppm/load.hh>
#include <mln/io/ppm/load.hh>
int main()
Index: tests/unit_test/mln_value_essential.cc
--- tests/unit_test/mln_value_essential.cc (revision 3032)
+++ tests/unit_test/mln_value_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/essential.hh>
#include <mln/value/essential.hh>
int main()
Index: tests/unit_test/mln_core_internal_weighted_window_base.cc
--- tests/unit_test/mln_core_internal_weighted_window_base.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_weighted_window_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/weighted_window_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/weighted_window_base.hh>
#include <mln/core/internal/weighted_window_base.hh>
int main()
Index: tests/unit_test/mln_metal_array2d.cc
--- tests/unit_test/mln_metal_array2d.cc (revision 3032)
+++ tests/unit_test/mln_metal_array2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/array2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/array2d.hh>
#include <mln/metal/array2d.hh>
int main()
Index: tests/unit_test/mln_transform_distance_geodesic.cc
--- tests/unit_test/mln_transform_distance_geodesic.cc (revision 3032)
+++ tests/unit_test/mln_transform_distance_geodesic.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/transform/distance_geodesic.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/transform/distance_geodesic.hh>
#include <mln/transform/distance_geodesic.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_n_faces_piter.cc
--- tests/unit_test/mln_core_site_set_p_n_faces_piter.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_n_faces_piter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_n_faces_piter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_n_faces_piter.hh>
#include <mln/core/site_set/p_n_faces_piter.hh>
int main()
Index: tests/unit_test/mln_geom_nslis.cc
--- tests/unit_test/mln_geom_nslis.cc (revision 3032)
+++ tests/unit_test/mln_geom_nslis.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/nslis.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/nslis.hh>
#include <mln/geom/nslis.hh>
int main()
Index: tests/unit_test/mln_logical_xor.cc
--- tests/unit_test/mln_logical_xor.cc (revision 3032)
+++ tests/unit_test/mln_logical_xor.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/logical/xor.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/logical/xor.hh>
#include <mln/logical/xor.hh>
int main()
Index: tests/unit_test/mln_accu_height.cc
--- tests/unit_test/mln_accu_height.cc (revision 3032)
+++ tests/unit_test/mln_accu_height.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/height.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/height.hh>
#include <mln/accu/height.hh>
int main()
Index: tests/unit_test/mln_core_concept_proxy.cc
--- tests/unit_test/mln_core_concept_proxy.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_proxy.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/proxy.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/proxy.hh>
#include <mln/core/concept/proxy.hh>
int main()
Index: tests/unit_test/mln_linear_lap.cc
--- tests/unit_test/mln_linear_lap.cc (revision 3032)
+++ tests/unit_test/mln_linear_lap.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/linear/lap.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/linear/lap.hh>
#include <mln/linear/lap.hh>
int main()
Index: tests/unit_test/mln_morpho_thickening.cc
--- tests/unit_test/mln_morpho_thickening.cc (revision 3032)
+++ tests/unit_test/mln_morpho_thickening.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/thickening.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/thickening.hh>
#include <mln/morpho/thickening.hh>
int main()
Index: tests/unit_test/mln_core_image_ch_piter.cc
--- tests/unit_test/mln_core_image_ch_piter.cc (revision 3032)
+++ tests/unit_test/mln_core_image_ch_piter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/ch_piter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/ch_piter.hh>
#include <mln/core/image/ch_piter.hh>
int main()
Index: tests/unit_test/mln_trait_images.cc
--- tests/unit_test/mln_trait_images.cc (revision 3032)
+++ tests/unit_test/mln_trait_images.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/images.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/images.hh>
#include <mln/trait/images.hh>
int main()
Index: tests/unit_test/mln_metal_not_equal.cc
--- tests/unit_test/mln_metal_not_equal.cc (revision 3032)
+++ tests/unit_test/mln_metal_not_equal.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/not_equal.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/not_equal.hh>
#include <mln/metal/not_equal.hh>
int main()
Index: tests/unit_test/mln_level_assign.cc
--- tests/unit_test/mln_level_assign.cc (revision 3032)
+++ tests/unit_test/mln_level_assign.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/assign.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/assign.hh>
#include <mln/level/assign.hh>
int main()
Index: tests/unit_test/mln_topo_adj_m_face_iter.cc
--- tests/unit_test/mln_topo_adj_m_face_iter.cc (revision 3032)
+++ tests/unit_test/mln_topo_adj_m_face_iter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/adj_m_face_iter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/adj_m_face_iter.hh>
#include <mln/topo/adj_m_face_iter.hh>
int main()
Index: tests/unit_test/mln_level_apply.cc
--- tests/unit_test/mln_level_apply.cc (revision 3032)
+++ tests/unit_test/mln_level_apply.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/apply.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/apply.hh>
#include <mln/level/apply.hh>
int main()
Index: tests/unit_test/mln_literal_ops.cc
--- tests/unit_test/mln_literal_ops.cc (revision 3032)
+++ tests/unit_test/mln_literal_ops.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/literal/ops.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/literal/ops.hh>
#include <mln/literal/ops.hh>
int main()
Index: tests/unit_test/mln_trait_value_.cc
--- tests/unit_test/mln_trait_value_.cc (revision 3032)
+++ tests/unit_test/mln_trait_value_.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/value_.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/value_.hh>
#include <mln/trait/value_.hh>
int main()
Index: tests/unit_test/mln_trace_resume.cc
--- tests/unit_test/mln_trace_resume.cc (revision 3032)
+++ tests/unit_test/mln_trace_resume.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trace/resume.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trace/resume.hh>
#include <mln/trace/resume.hh>
int main()
Index: tests/unit_test/mln_value_interval.cc
--- tests/unit_test/mln_value_interval.cc (revision 3032)
+++ tests/unit_test/mln_value_interval.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/interval.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/interval.hh>
#include <mln/value/interval.hh>
int main()
Index: tests/unit_test/mln_util_internal_boost_graph_structure.cc
--- tests/unit_test/mln_util_internal_boost_graph_structure.cc (revision 3032)
+++ tests/unit_test/mln_util_internal_boost_graph_structure.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/internal/boost_graph_structure.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/internal/boost_graph_structure.hh>
#include <mln/util/internal/boost_graph_structure.hh>
int main()
Index: tests/unit_test/mln_metal_if.cc
--- tests/unit_test/mln_metal_if.cc (revision 3032)
+++ tests/unit_test/mln_metal_if.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/if.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/if.hh>
#include <mln/metal/if.hh>
int main()
Index: tests/unit_test/mln_logical_essential.cc
--- tests/unit_test/mln_logical_essential.cc (revision 3032)
+++ tests/unit_test/mln_logical_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/logical/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/logical/essential.hh>
#include <mln/logical/essential.hh>
int main()
Index: tests/unit_test/mln_estim_mean.cc
--- tests/unit_test/mln_estim_mean.cc (revision 3032)
+++ tests/unit_test/mln_estim_mean.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/estim/mean.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/estim/mean.hh>
#include <mln/estim/mean.hh>
int main()
Index: tests/unit_test/mln_tag_essential.cc
--- tests/unit_test/mln_tag_essential.cc (revision 3032)
+++ tests/unit_test/mln_tag_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/tag/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/tag/essential.hh>
#include <mln/tag/essential.hh>
int main()
Index: tests/unit_test/mln_morpho_top_hat.cc
--- tests/unit_test/mln_morpho_top_hat.cc (revision 3032)
+++ tests/unit_test/mln_morpho_top_hat.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/top_hat.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/top_hat.hh>
#include <mln/morpho/top_hat.hh>
int main()
Index: tests/unit_test/mln_value_builtin_ops.cc
--- tests/unit_test/mln_value_builtin_ops.cc (revision 3032)
+++ tests/unit_test/mln_value_builtin_ops.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/builtin/ops.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/builtin/ops.hh>
#include <mln/value/builtin/ops.hh>
int main()
Index: tests/unit_test/mln_core_internal_classical_window_base.cc
--- tests/unit_test/mln_core_internal_classical_window_base.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_classical_window_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/classical_window_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/classical_window_base.hh>
#include <mln/core/internal/classical_window_base.hh>
int main()
Index: tests/unit_test/mln_convert_to_upper_window.cc
--- tests/unit_test/mln_convert_to_upper_window.cc (revision 3032)
+++ tests/unit_test/mln_convert_to_upper_window.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/convert/to_upper_window.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/to_upper_window.hh>
#include <mln/convert/to_upper_window.hh>
int main()
Index: tests/unit_test/mln_win_diff.cc
--- tests/unit_test/mln_win_diff.cc (revision 3032)
+++ tests/unit_test/mln_win_diff.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/diff.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/diff.hh>
#include <mln/win/diff.hh>
int main()
Index: tests/unit_test/mln_fun_v2v_convert.cc
--- tests/unit_test/mln_fun_v2v_convert.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2v_convert.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2v/convert.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2v/convert.hh>
#include <mln/fun/v2v/convert.hh>
int main()
Index: tests/unit_test/mln_io_pfm_save.cc
--- tests/unit_test/mln_io_pfm_save.cc (revision 3032)
+++ tests/unit_test/mln_io_pfm_save.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/pfm/save.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/pfm/save.hh>
#include <mln/io/pfm/save.hh>
int main()
Index: tests/unit_test/mln_subsampling_subsampling.cc
--- tests/unit_test/mln_subsampling_subsampling.cc (revision 3032)
+++ tests/unit_test/mln_subsampling_subsampling.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/subsampling/subsampling.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/subsampling/subsampling.hh>
#include <mln/subsampling/subsampling.hh>
int main()
Index: tests/unit_test/mln_level_approx_all.cc
--- tests/unit_test/mln_level_approx_all.cc (revision 3032)
+++ tests/unit_test/mln_level_approx_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/approx/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/approx/all.hh>
#include <mln/level/approx/all.hh>
int main()
Index: tests/unit_test/mln_core_internal_pixel_iterator_base.cc
--- tests/unit_test/mln_core_internal_pixel_iterator_base.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_pixel_iterator_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/pixel_iterator_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/pixel_iterator_base.hh>
#include <mln/core/internal/pixel_iterator_base.hh>
int main()
Index: tests/unit_test/mln_value_internal_gray_.cc
--- tests/unit_test/mln_value_internal_gray_.cc (revision 3032)
+++ tests/unit_test/mln_value_internal_gray_.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/internal/gray_.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/internal/gray_.hh>
#include <mln/value/internal/gray_.hh>
int main()
Index: tests/unit_test/mln_geom_max_col.cc
--- tests/unit_test/mln_geom_max_col.cc (revision 3032)
+++ tests/unit_test/mln_geom_max_col.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/max_col.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/max_col.hh>
#include <mln/geom/max_col.hh>
int main()
Index: tests/unit_test/mln_transform_internal_influence_zone_functor.cc
--- tests/unit_test/mln_transform_internal_influence_zone_functor.cc (revision 3032)
+++ tests/unit_test/mln_transform_internal_influence_zone_functor.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/transform/internal/influence_zone_functor.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/transform/internal/influence_zone_functor.hh>
#include <mln/transform/internal/influence_zone_functor.hh>
int main()
Index: tests/unit_test/mln_value_graylevel_f.cc
--- tests/unit_test/mln_value_graylevel_f.cc (revision 3032)
+++ tests/unit_test/mln_value_graylevel_f.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/graylevel_f.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/graylevel_f.hh>
#include <mln/value/graylevel_f.hh>
int main()
Index: tests/unit_test/mln_level_was_median.cc
--- tests/unit_test/mln_level_was_median.cc (revision 3032)
+++ tests/unit_test/mln_level_was_median.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/was.median.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/was.median.hh>
#include <mln/level/was.median.hh>
int main()
Index: tests/unit_test/mln_core_image_rle_image.cc
--- tests/unit_test/mln_core_image_rle_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_rle_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/rle_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/rle_image.hh>
#include <mln/core/image/rle_image.hh>
int main()
Index: tests/unit_test/mln_core_alias_point2d.cc
--- tests/unit_test/mln_core_alias_point2d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_point2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/point2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/point2d.hh>
#include <mln/core/alias/point2d.hh>
int main()
Index: tests/unit_test/mln_fun_v2v_dec.cc
--- tests/unit_test/mln_fun_v2v_dec.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2v_dec.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2v/dec.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2v/dec.hh>
#include <mln/fun/v2v/dec.hh>
int main()
Index: tests/unit_test/mln_value_scalar.cc
--- tests/unit_test/mln_value_scalar.cc (revision 3032)
+++ tests/unit_test/mln_value_scalar.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/scalar.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/scalar.hh>
#include <mln/value/scalar.hh>
int main()
Index: tests/unit_test/mln_canvas_browsing_directional.cc
--- tests/unit_test/mln_canvas_browsing_directional.cc (revision 3032)
+++ tests/unit_test/mln_canvas_browsing_directional.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/browsing/directional.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/browsing/directional.hh>
#include <mln/canvas/browsing/directional.hh>
int main()
Index: tests/unit_test/mln_debug_iota.cc
--- tests/unit_test/mln_debug_iota.cc (revision 3032)
+++ tests/unit_test/mln_debug_iota.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/debug/iota.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/debug/iota.hh>
#include <mln/debug/iota.hh>
int main()
Index: tests/unit_test/mln_io_pgm_all.cc
--- tests/unit_test/mln_io_pgm_all.cc (revision 3032)
+++ tests/unit_test/mln_io_pgm_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/pgm/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/pgm/all.hh>
#include <mln/io/pgm/all.hh>
int main()
Index: tests/unit_test/mln_value_all.cc
--- tests/unit_test/mln_value_all.cc (revision 3032)
+++ tests/unit_test/mln_value_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/all.hh>
#include <mln/value/all.hh>
int main()
Index: tests/unit_test/mln_io_pbm_load.cc
--- tests/unit_test/mln_io_pbm_load.cc (revision 3032)
+++ tests/unit_test/mln_io_pbm_load.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/pbm/load.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/pbm/load.hh>
#include <mln/io/pbm/load.hh>
int main()
Index: tests/unit_test/mln_trait_site_sets.cc
--- tests/unit_test/mln_trait_site_sets.cc (revision 3032)
+++ tests/unit_test/mln_trait_site_sets.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/site_sets.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/site_sets.hh>
#include <mln/trait/site_sets.hh>
int main()
Index: tests/unit_test/mln_core_image_graph_window_piter.cc
--- tests/unit_test/mln_core_image_graph_window_piter.cc (revision 3032)
+++ tests/unit_test/mln_core_image_graph_window_piter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/graph_window_piter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/graph_window_piter.hh>
#include <mln/core/image/graph_window_piter.hh>
int main()
Index: tests/unit_test/mln_topo_static_n_face_iter.cc
--- tests/unit_test/mln_topo_static_n_face_iter.cc (revision 3032)
+++ tests/unit_test/mln_topo_static_n_face_iter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/static_n_face_iter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/static_n_face_iter.hh>
#include <mln/topo/static_n_face_iter.hh>
int main()
Index: tests/unit_test/mln_transform_influence_zone_front.cc
--- tests/unit_test/mln_transform_influence_zone_front.cc (revision 3032)
+++ tests/unit_test/mln_transform_influence_zone_front.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/transform/influence_zone_front.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/transform/influence_zone_front.hh>
#include <mln/transform/influence_zone_front.hh>
int main()
Index: tests/unit_test/mln_geom_size2d.cc
--- tests/unit_test/mln_geom_size2d.cc (revision 3032)
+++ tests/unit_test/mln_geom_size2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/size2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/size2d.hh>
#include <mln/geom/size2d.hh>
int main()
Index: tests/unit_test/mln_metal_essential.cc
--- tests/unit_test/mln_metal_essential.cc (revision 3032)
+++ tests/unit_test/mln_metal_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/essential.hh>
#include <mln/metal/essential.hh>
int main()
Index: tests/unit_test/mln_util_vertex.cc
--- tests/unit_test/mln_util_vertex.cc (revision 3032)
+++ tests/unit_test/mln_util_vertex.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/vertex.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/vertex.hh>
#include <mln/util/vertex.hh>
int main()
Index: tests/unit_test/mln_util_branch_iter.cc
--- tests/unit_test/mln_util_branch_iter.cc (revision 3032)
+++ tests/unit_test/mln_util_branch_iter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/branch_iter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/branch_iter.hh>
#include <mln/util/branch_iter.hh>
int main()
Index: tests/unit_test/mln_fun_v2v_linear.cc
--- tests/unit_test/mln_fun_v2v_linear.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2v_linear.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2v/linear.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2v/linear.hh>
#include <mln/fun/v2v/linear.hh>
int main()
Index: tests/unit_test/mln_geom_nrows.cc
--- tests/unit_test/mln_geom_nrows.cc (revision 3032)
+++ tests/unit_test/mln_geom_nrows.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/nrows.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/nrows.hh>
#include <mln/geom/nrows.hh>
int main()
Index: tests/unit_test/mln_value_super_value.cc
--- tests/unit_test/mln_value_super_value.cc (revision 3032)
+++ tests/unit_test/mln_value_super_value.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/super_value.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/super_value.hh>
#include <mln/value/super_value.hh>
int main()
Index: tests/unit_test/mln_value_gl8.cc
--- tests/unit_test/mln_value_gl8.cc (revision 3032)
+++ tests/unit_test/mln_value_gl8.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/gl8.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/gl8.hh>
#include <mln/value/gl8.hh>
int main()
Index: tests/unit_test/mln_trace_all.cc
--- tests/unit_test/mln_trace_all.cc (revision 3032)
+++ tests/unit_test/mln_trace_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trace/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trace/all.hh>
#include <mln/trace/all.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_site_set.cc
--- tests/unit_test/mln_core_concept_doc_site_set.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_site_set.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/site_set.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/site_set.hh>
#include <mln/core/concept/doc/site_set.hh>
int main()
Index: tests/unit_test/mln_core_concept_site_proxy.cc
--- tests/unit_test/mln_core_concept_site_proxy.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_site_proxy.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/site_proxy.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/site_proxy.hh>
#include <mln/core/concept/site_proxy.hh>
int main()
Index: tests/unit_test/mln_canvas_browsing_essential.cc
--- tests/unit_test/mln_canvas_browsing_essential.cc (revision 3032)
+++ tests/unit_test/mln_canvas_browsing_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/browsing/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/browsing/essential.hh>
#include <mln/canvas/browsing/essential.hh>
int main()
Index: tests/unit_test/mln_trait_value_nature.cc
--- tests/unit_test/mln_trait_value_nature.cc (revision 3032)
+++ tests/unit_test/mln_trait_value_nature.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/value/nature.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/value/nature.hh>
#include <mln/trait/value/nature.hh>
int main()
Index: tests/unit_test/mln_morpho_elementary_laplacian.cc
--- tests/unit_test/mln_morpho_elementary_laplacian.cc (revision 3032)
+++ tests/unit_test/mln_morpho_elementary_laplacian.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/elementary/laplacian.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/elementary/laplacian.hh>
#include <mln/morpho/elementary/laplacian.hh>
int main()
Index: tests/unit_test/mln_arith_includes.cc
--- tests/unit_test/mln_arith_includes.cc (revision 3032)
+++ tests/unit_test/mln_arith_includes.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/arith/includes.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/arith/includes.hh>
#include <mln/arith/includes.hh>
int main()
Index: tests/unit_test/mln_fun_essential.cc
--- tests/unit_test/mln_fun_essential.cc (revision 3032)
+++ tests/unit_test/mln_fun_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/essential.hh>
#include <mln/fun/essential.hh>
int main()
Index: tests/unit_test/mln_transform_influence_zone_geodesic.cc
--- tests/unit_test/mln_transform_influence_zone_geodesic.cc (revision 3032)
+++ tests/unit_test/mln_transform_influence_zone_geodesic.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/transform/influence_zone_geodesic.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/transform/influence_zone_geodesic.hh>
#include <mln/transform/influence_zone_geodesic.hh>
int main()
Index: tests/unit_test/mln_value_stack.cc
--- tests/unit_test/mln_value_stack.cc (revision 3032)
+++ tests/unit_test/mln_value_stack.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/stack.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/stack.hh>
#include <mln/value/stack.hh>
int main()
Index: tests/unit_test/mln_level_paste.cc
--- tests/unit_test/mln_level_paste.cc (revision 3032)
+++ tests/unit_test/mln_level_paste.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/paste.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/paste.hh>
#include <mln/level/paste.hh>
int main()
Index: tests/unit_test/mln_core_image_value_encode.cc
--- tests/unit_test/mln_core_image_value_encode.cc (revision 3032)
+++ tests/unit_test/mln_core_image_value_encode.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/value_encode.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/value_encode.hh>
#include <mln/core/image/value_encode.hh>
int main()
Index: tests/unit_test/mln_core_routine_extend.cc
--- tests/unit_test/mln_core_routine_extend.cc (revision 3032)
+++ tests/unit_test/mln_core_routine_extend.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/routine/extend.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/routine/extend.hh>
#include <mln/core/routine/extend.hh>
int main()
Index: tests/unit_test/mln_accu_transform.cc
--- tests/unit_test/mln_accu_transform.cc (revision 3032)
+++ tests/unit_test/mln_accu_transform.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/transform.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/transform.hh>
#include <mln/accu/transform.hh>
int main()
Index: tests/unit_test/mln_border_duplicate.cc
--- tests/unit_test/mln_border_duplicate.cc (revision 3032)
+++ tests/unit_test/mln_border_duplicate.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/border/duplicate.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/border/duplicate.hh>
#include <mln/border/duplicate.hh>
int main()
Index: tests/unit_test/mln_trait_op_all.cc
--- tests/unit_test/mln_trait_op_all.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/all.hh>
#include <mln/trait/op/all.hh>
int main()
Index: tests/unit_test/mln_level_update.cc
--- tests/unit_test/mln_level_update.cc (revision 3032)
+++ tests/unit_test/mln_level_update.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/update.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/update.hh>
#include <mln/level/update.hh>
int main()
Index: tests/unit_test/mln_core_concept_delta_point_site.cc
--- tests/unit_test/mln_core_concept_delta_point_site.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_delta_point_site.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/delta_point_site.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/delta_point_site.hh>
#include <mln/core/concept/delta_point_site.hh>
int main()
Index: tests/unit_test/mln_canvas_browsing_diagonal2d.cc
--- tests/unit_test/mln_canvas_browsing_diagonal2d.cc (revision 3032)
+++ tests/unit_test/mln_canvas_browsing_diagonal2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/browsing/diagonal2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/browsing/diagonal2d.hh>
#include <mln/canvas/browsing/diagonal2d.hh>
int main()
Index: tests/unit_test/mln_core_pixter2d.cc
--- tests/unit_test/mln_core_pixter2d.cc (revision 3032)
+++ tests/unit_test/mln_core_pixter2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/pixter2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/pixter2d.hh>
#include <mln/core/pixter2d.hh>
int main()
Index: tests/unit_test/mln_core_image_complex_window_piter.cc
--- tests/unit_test/mln_core_image_complex_window_piter.cc (revision 3032)
+++ tests/unit_test/mln_core_image_complex_window_piter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/complex_window_piter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/complex_window_piter.hh>
#include <mln/core/image/complex_window_piter.hh>
int main()
Index: tests/unit_test/mln_core_concept_box.cc
--- tests/unit_test/mln_core_concept_box.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_box.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/box.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/box.hh>
#include <mln/core/concept/box.hh>
int main()
Index: tests/unit_test/mln_value_int_s32.cc
--- tests/unit_test/mln_value_int_s32.cc (revision 3032)
+++ tests/unit_test/mln_value_int_s32.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/int_s32.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/int_s32.hh>
#include <mln/value/int_s32.hh>
int main()
Index: tests/unit_test/mln_core_image_graph_image.cc
--- tests/unit_test/mln_core_image_graph_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_graph_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/graph_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/graph_image.hh>
#include <mln/core/image/graph_image.hh>
int main()
Index: tests/unit_test/mln_make_win_chamfer.cc
--- tests/unit_test/mln_make_win_chamfer.cc (revision 3032)
+++ tests/unit_test/mln_make_win_chamfer.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/win_chamfer.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/win_chamfer.hh>
#include <mln/make/win_chamfer.hh>
int main()
Index: tests/unit_test/mln_binarization_all.cc
--- tests/unit_test/mln_binarization_all.cc (revision 3032)
+++ tests/unit_test/mln_binarization_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/binarization/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/binarization/all.hh>
#include <mln/binarization/all.hh>
int main()
Index: tests/unit_test/mln_arith_minus.cc
--- tests/unit_test/mln_arith_minus.cc (revision 3032)
+++ tests/unit_test/mln_arith_minus.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/arith/minus.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/arith/minus.hh>
#include <mln/arith/minus.hh>
int main()
Index: tests/unit_test/mln_fun_x2x_composed.cc
--- tests/unit_test/mln_fun_x2x_composed.cc (revision 3032)
+++ tests/unit_test/mln_fun_x2x_composed.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/x2x/composed.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/x2x/composed.hh>
#include <mln/fun/x2x/composed.hh>
int main()
Index: tests/unit_test/mln_fun_p2v_ternary.cc
--- tests/unit_test/mln_fun_p2v_ternary.cc (revision 3032)
+++ tests/unit_test/mln_fun_p2v_ternary.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/p2v/ternary.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/p2v/ternary.hh>
#include <mln/fun/p2v/ternary.hh>
int main()
Index: tests/unit_test/mln_trait_value_essential.cc
--- tests/unit_test/mln_trait_value_essential.cc (revision 3032)
+++ tests/unit_test/mln_trait_value_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/value/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/value/essential.hh>
#include <mln/trait/value/essential.hh>
int main()
Index: tests/unit_test/mln_geom_max_ind.cc
--- tests/unit_test/mln_geom_max_ind.cc (revision 3032)
+++ tests/unit_test/mln_geom_max_ind.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/max_ind.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/max_ind.hh>
#include <mln/geom/max_ind.hh>
int main()
Index: tests/unit_test/mln_value_concept_symbolic.cc
--- tests/unit_test/mln_value_concept_symbolic.cc (revision 3032)
+++ tests/unit_test/mln_value_concept_symbolic.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/concept/symbolic.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/concept/symbolic.hh>
#include <mln/value/concept/symbolic.hh>
int main()
Index: tests/unit_test/mln_morpho_Rd.cc
--- tests/unit_test/mln_morpho_Rd.cc (revision 3032)
+++ tests/unit_test/mln_morpho_Rd.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/Rd.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/Rd.hh>
#include <mln/morpho/Rd.hh>
int main()
Index: tests/unit_test/mln_morpho_includes.cc
--- tests/unit_test/mln_morpho_includes.cc (revision 3032)
+++ tests/unit_test/mln_morpho_includes.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/includes.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/includes.hh>
#include <mln/morpho/includes.hh>
int main()
Index: tests/unit_test/mln_accu_p.cc
--- tests/unit_test/mln_accu_p.cc (revision 3032)
+++ tests/unit_test/mln_accu_p.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/p.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/p.hh>
#include <mln/accu/p.hh>
int main()
Index: tests/unit_test/mln_canvas_browsing_backdiagonal2d.cc
--- tests/unit_test/mln_canvas_browsing_backdiagonal2d.cc (revision 3032)
+++ tests/unit_test/mln_canvas_browsing_backdiagonal2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/browsing/backdiagonal2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/browsing/backdiagonal2d.hh>
#include <mln/canvas/browsing/backdiagonal2d.hh>
int main()
Index: tests/unit_test/mln_trait_op_minus.cc
--- tests/unit_test/mln_trait_op_minus.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_minus.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/minus.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/minus.hh>
#include <mln/trait/op/minus.hh>
int main()
Index: tests/unit_test/mln_value_lut_vec.cc
--- tests/unit_test/mln_value_lut_vec.cc (revision 3032)
+++ tests/unit_test/mln_value_lut_vec.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/lut_vec.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/lut_vec.hh>
#include <mln/value/lut_vec.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_complex.cc
--- tests/unit_test/mln_core_site_set_p_complex.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_complex.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_complex.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_complex.hh>
#include <mln/core/site_set/p_complex.hh>
int main()
Index: tests/unit_test/mln_fun_v2v_saturate.cc
--- tests/unit_test/mln_fun_v2v_saturate.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2v_saturate.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2v/saturate.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2v/saturate.hh>
#include <mln/fun/v2v/saturate.hh>
int main()
Index: tests/unit_test/mln_pw_var.cc
--- tests/unit_test/mln_pw_var.cc (revision 3032)
+++ tests/unit_test/mln_pw_var.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/pw/var.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/pw/var.hh>
#include <mln/pw/var.hh>
int main()
Index: tests/unit_test/mln_core_essential.cc
--- tests/unit_test/mln_core_essential.cc (revision 3032)
+++ tests/unit_test/mln_core_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/essential.hh>
#include <mln/core/essential.hh>
int main()
Index: tests/unit_test/mln_core_site_set_box.cc
--- tests/unit_test/mln_core_site_set_box.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_box.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/box.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/box.hh>
#include <mln/core/site_set/box.hh>
int main()
Index: tests/unit_test/mln_io_all.cc
--- tests/unit_test/mln_io_all.cc (revision 3032)
+++ tests/unit_test/mln_io_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/all.hh>
#include <mln/io/all.hh>
int main()
Index: tests/unit_test/mln_topo_adj_lower_dim_connected_n_face_iter.cc
--- tests/unit_test/mln_topo_adj_lower_dim_connected_n_face_iter.cc (revision 3032)
+++ tests/unit_test/mln_topo_adj_lower_dim_connected_n_face_iter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/adj_lower_dim_connected_n_face_iter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/adj_lower_dim_connected_n_face_iter.hh>
#include <mln/topo/adj_lower_dim_connected_n_face_iter.hh>
int main()
Index: tests/unit_test/mln_io_off_load.cc
--- tests/unit_test/mln_io_off_load.cc (revision 3032)
+++ tests/unit_test/mln_io_off_load.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/off/load.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/off/load.hh>
#include <mln/io/off/load.hh>
int main()
Index: tests/unit_test/mln_core_alias_neighb1d.cc
--- tests/unit_test/mln_core_alias_neighb1d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_neighb1d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/neighb1d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/neighb1d.hh>
#include <mln/core/alias/neighb1d.hh>
int main()
Index: tests/unit_test/mln_trace_stop.cc
--- tests/unit_test/mln_trace_stop.cc (revision 3032)
+++ tests/unit_test/mln_trace_stop.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trace/stop.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trace/stop.hh>
#include <mln/trace/stop.hh>
int main()
Index: tests/unit_test/mln_norm_all.cc
--- tests/unit_test/mln_norm_all.cc (revision 3032)
+++ tests/unit_test/mln_norm_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/norm/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/norm/all.hh>
#include <mln/norm/all.hh>
int main()
Index: tests/unit_test/mln_labeling_level.cc
--- tests/unit_test/mln_labeling_level.cc (revision 3032)
+++ tests/unit_test/mln_labeling_level.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/labeling/level.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/labeling/level.hh>
#include <mln/labeling/level.hh>
int main()
Index: tests/unit_test/mln_core_alias_dpoint2d.cc
--- tests/unit_test/mln_core_alias_dpoint2d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_dpoint2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/dpoint2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/dpoint2d.hh>
#include <mln/core/alias/dpoint2d.hh>
int main()
Index: tests/unit_test/mln_core_dpoint.cc
--- tests/unit_test/mln_core_dpoint.cc (revision 3032)
+++ tests/unit_test/mln_core_dpoint.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/dpoint.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/dpoint.hh>
#include <mln/core/dpoint.hh>
int main()
Index: tests/unit_test/mln_topo_internal_complex_iterator_base.cc
--- tests/unit_test/mln_topo_internal_complex_iterator_base.cc (revision 3032)
+++ tests/unit_test/mln_topo_internal_complex_iterator_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/internal/complex_iterator_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/internal/complex_iterator_base.hh>
#include <mln/topo/internal/complex_iterator_base.hh>
int main()
Index: tests/unit_test/mln_accu_compute.cc
--- tests/unit_test/mln_accu_compute.cc (revision 3032)
+++ tests/unit_test/mln_accu_compute.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/compute.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/compute.hh>
#include <mln/accu/compute.hh>
int main()
Index: tests/unit_test/mln_util_tree_fast.cc
--- tests/unit_test/mln_util_tree_fast.cc (revision 3032)
+++ tests/unit_test/mln_util_tree_fast.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/tree_fast.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/tree_fast.hh>
#include <mln/util/tree_fast.hh>
int main()
Index: tests/unit_test/mln_value_concept_floating.cc
--- tests/unit_test/mln_value_concept_floating.cc (revision 3032)
+++ tests/unit_test/mln_value_concept_floating.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/concept/floating.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/concept/floating.hh>
#include <mln/value/concept/floating.hh>
int main()
Index: tests/unit_test/mln_core_image_extended.cc
--- tests/unit_test/mln_core_image_extended.cc (revision 3032)
+++ tests/unit_test/mln_core_image_extended.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/extended.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/extended.hh>
#include <mln/core/image/extended.hh>
int main()
Index: tests/unit_test/mln_core_image_tr_mesh.cc
--- tests/unit_test/mln_core_image_tr_mesh.cc (revision 3032)
+++ tests/unit_test/mln_core_image_tr_mesh.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/tr_mesh.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/tr_mesh.hh>
#include <mln/core/image/tr_mesh.hh>
int main()
Index: tests/unit_test/mln_core_concept_generalized_pixel.cc
--- tests/unit_test/mln_core_concept_generalized_pixel.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_generalized_pixel.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/generalized_pixel.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/generalized_pixel.hh>
#include <mln/core/concept/generalized_pixel.hh>
int main()
Index: tests/unit_test/mln_io_essential.cc
--- tests/unit_test/mln_io_essential.cc (revision 3032)
+++ tests/unit_test/mln_io_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/essential.hh>
#include <mln/io/essential.hh>
int main()
Index: tests/unit_test/mln_core_image_t_image.cc
--- tests/unit_test/mln_core_image_t_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_t_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/t_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/t_image.hh>
#include <mln/core/image/t_image.hh>
int main()
Index: tests/unit_test/mln_core_image_bgraph_psite.cc
--- tests/unit_test/mln_core_image_bgraph_psite.cc (revision 3032)
+++ tests/unit_test/mln_core_image_bgraph_psite.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/bgraph_psite.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/bgraph_psite.hh>
#include <mln/core/image/bgraph_psite.hh>
int main()
Index: tests/unit_test/mln_extension_fill.cc
--- tests/unit_test/mln_extension_fill.cc (revision 3032)
+++ tests/unit_test/mln_extension_fill.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/extension/fill.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/extension/fill.hh>
#include <mln/extension/fill.hh>
int main()
Index: tests/unit_test/mln_linear_convolve_2x1d.cc
--- tests/unit_test/mln_linear_convolve_2x1d.cc (revision 3032)
+++ tests/unit_test/mln_linear_convolve_2x1d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/linear/convolve_2x1d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/linear/convolve_2x1d.hh>
#include <mln/linear/convolve_2x1d.hh>
int main()
Index: tests/unit_test/mln_trait_op_div.cc
--- tests/unit_test/mln_trait_op_div.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_div.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/div.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/div.hh>
#include <mln/trait/op/div.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_image_fastest.cc
--- tests/unit_test/mln_core_concept_doc_image_fastest.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_image_fastest.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/image_fastest.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/image_fastest.hh>
#include <mln/core/concept/doc/image_fastest.hh>
int main()
Index: tests/unit_test/mln_metal_has_neighborhood.cc
--- tests/unit_test/mln_metal_has_neighborhood.cc (revision 3032)
+++ tests/unit_test/mln_metal_has_neighborhood.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/has_neighborhood.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/has_neighborhood.hh>
#include <mln/metal/has_neighborhood.hh>
int main()
Index: tests/unit_test/mln_io_txt_save.cc
--- tests/unit_test/mln_io_txt_save.cc (revision 3032)
+++ tests/unit_test/mln_io_txt_save.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/txt/save.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/txt/save.hh>
#include <mln/io/txt/save.hh>
int main()
Index: tests/unit_test/mln_fun_p2v_essential.cc
--- tests/unit_test/mln_fun_p2v_essential.cc (revision 3032)
+++ tests/unit_test/mln_fun_p2v_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/p2v/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/p2v/essential.hh>
#include <mln/fun/p2v/essential.hh>
int main()
Index: tests/unit_test/mln_metal_array3d.cc
--- tests/unit_test/mln_metal_array3d.cc (revision 3032)
+++ tests/unit_test/mln_metal_array3d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/array3d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/array3d.hh>
#include <mln/metal/array3d.hh>
int main()
Index: tests/unit_test/mln_trait_essential.cc
--- tests/unit_test/mln_trait_essential.cc (revision 3032)
+++ tests/unit_test/mln_trait_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/essential.hh>
#include <mln/trait/essential.hh>
int main()
Index: tests/unit_test/mln_value_builtin_promotions.cc
--- tests/unit_test/mln_value_builtin_promotions.cc (revision 3032)
+++ tests/unit_test/mln_value_builtin_promotions.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/builtin/promotions.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/builtin/promotions.hh>
#include <mln/value/builtin/promotions.hh>
int main()
Index: tests/unit_test/mln_core_image_complex_windows.cc
--- tests/unit_test/mln_core_image_complex_windows.cc (revision 3032)
+++ tests/unit_test/mln_core_image_complex_windows.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/complex_windows.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/complex_windows.hh>
#include <mln/core/image/complex_windows.hh>
int main()
Index: tests/unit_test/mln_literal_white.cc
--- tests/unit_test/mln_literal_white.cc (revision 3032)
+++ tests/unit_test/mln_literal_white.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/literal/white.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/literal/white.hh>
#include <mln/literal/white.hh>
int main()
Index: tests/unit_test/mln_win_octagon2d.cc
--- tests/unit_test/mln_win_octagon2d.cc (revision 3032)
+++ tests/unit_test/mln_win_octagon2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/octagon2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/octagon2d.hh>
#include <mln/win/octagon2d.hh>
int main()
Index: tests/unit_test/mln_core_image_extension_fun.cc
--- tests/unit_test/mln_core_image_extension_fun.cc (revision 3032)
+++ tests/unit_test/mln_core_image_extension_fun.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/extension_fun.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/extension_fun.hh>
#include <mln/core/image/extension_fun.hh>
int main()
Index: tests/unit_test/mln_value_concept_vectorial.cc
--- tests/unit_test/mln_value_concept_vectorial.cc (revision 3032)
+++ tests/unit_test/mln_value_concept_vectorial.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/concept/vectorial.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/concept/vectorial.hh>
#include <mln/value/concept/vectorial.hh>
int main()
Index: tests/unit_test/mln_norm_linfty.cc
--- tests/unit_test/mln_norm_linfty.cc (revision 3032)
+++ tests/unit_test/mln_norm_linfty.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/norm/linfty.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/norm/linfty.hh>
#include <mln/norm/linfty.hh>
int main()
Index: tests/unit_test/mln_metal_unref.cc
--- tests/unit_test/mln_metal_unref.cc (revision 3032)
+++ tests/unit_test/mln_metal_unref.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/unref.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/unref.hh>
#include <mln/metal/unref.hh>
int main()
Index: tests/unit_test/mln_core_image_mono_rle_encode.cc
--- tests/unit_test/mln_core_image_mono_rle_encode.cc (revision 3032)
+++ tests/unit_test/mln_core_image_mono_rle_encode.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/mono_rle_encode.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/mono_rle_encode.hh>
#include <mln/core/image/mono_rle_encode.hh>
int main()
Index: tests/unit_test/mln_value_builtin_integers.cc
--- tests/unit_test/mln_value_builtin_integers.cc (revision 3032)
+++ tests/unit_test/mln_value_builtin_integers.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/builtin/integers.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/builtin/integers.hh>
#include <mln/value/builtin/integers.hh>
int main()
Index: tests/unit_test/mln_registration_all.cc
--- tests/unit_test/mln_registration_all.cc (revision 3032)
+++ tests/unit_test/mln_registration_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/registration/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/registration/all.hh>
#include <mln/registration/all.hh>
int main()
Index: tests/unit_test/mln_core_trait_essential.cc
--- tests/unit_test/mln_core_trait_essential.cc (revision 3032)
+++ tests/unit_test/mln_core_trait_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/trait/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/trait/essential.hh>
#include <mln/core/trait/essential.hh>
int main()
Index: tests/unit_test/mln_metal_math_all.cc
--- tests/unit_test/mln_metal_math_all.cc (revision 3032)
+++ tests/unit_test/mln_metal_math_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/math/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/math/all.hh>
#include <mln/metal/math/all.hh>
int main()
Index: tests/unit_test/mln_value_rgb.cc
--- tests/unit_test/mln_value_rgb.cc (revision 3032)
+++ tests/unit_test/mln_value_rgb.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/rgb.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/rgb.hh>
#include <mln/value/rgb.hh>
int main()
Index: tests/unit_test/mln_core_image_decorated_image.cc
--- tests/unit_test/mln_core_image_decorated_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_decorated_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/decorated_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/decorated_image.hh>
#include <mln/core/image/decorated_image.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_priority.cc
--- tests/unit_test/mln_core_site_set_p_priority.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_priority.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_priority.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_priority.hh>
#include <mln/core/site_set/p_priority.hh>
int main()
Index: tests/unit_test/mln_util_dindex.cc
--- tests/unit_test/mln_util_dindex.cc (revision 3032)
+++ tests/unit_test/mln_util_dindex.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/dindex.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/dindex.hh>
#include <mln/util/dindex.hh>
int main()
Index: tests/unit_test/mln_morpho_elementary_opening.cc
--- tests/unit_test/mln_morpho_elementary_opening.cc (revision 3032)
+++ tests/unit_test/mln_morpho_elementary_opening.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/elementary/opening.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/elementary/opening.hh>
#include <mln/morpho/elementary/opening.hh>
int main()
Index: tests/unit_test/mln_convert_to_window.cc
--- tests/unit_test/mln_convert_to_window.cc (revision 3032)
+++ tests/unit_test/mln_convert_to_window.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/convert/to_window.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/to_window.hh>
#include <mln/convert/to_window.hh>
int main()
Index: tests/unit_test/mln_logical_or.cc
--- tests/unit_test/mln_logical_or.cc (revision 3032)
+++ tests/unit_test/mln_logical_or.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/logical/or.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/logical/or.hh>
#include <mln/logical/or.hh>
int main()
Index: tests/unit_test/mln_core_image_image_if.cc
--- tests/unit_test/mln_core_image_image_if.cc (revision 3032)
+++ tests/unit_test/mln_core_image_image_if.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/image_if.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/image_if.hh>
#include <mln/core/image/image_if.hh>
int main()
Index: tests/unit_test/mln_make_relabelfun.cc
--- tests/unit_test/mln_make_relabelfun.cc (revision 3032)
+++ tests/unit_test/mln_make_relabelfun.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/relabelfun.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/relabelfun.hh>
#include <mln/make/relabelfun.hh>
int main()
Index: tests/unit_test/mln_subsampling_all.cc
--- tests/unit_test/mln_subsampling_all.cc (revision 3032)
+++ tests/unit_test/mln_subsampling_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/subsampling/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/subsampling/all.hh>
#include <mln/subsampling/all.hh>
int main()
Index: tests/unit_test/mln_morpho_elementary_like_ero_set.cc
--- tests/unit_test/mln_morpho_elementary_like_ero_set.cc (revision 3032)
+++ tests/unit_test/mln_morpho_elementary_like_ero_set.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/elementary/like_ero_set.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/elementary/like_ero_set.hh>
#include <mln/morpho/elementary/like_ero_set.hh>
int main()
Index: tests/unit_test/mln_value_internal_encoding.cc
--- tests/unit_test/mln_value_internal_encoding.cc (revision 3032)
+++ tests/unit_test/mln_value_internal_encoding.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/internal/encoding.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/internal/encoding.hh>
#include <mln/value/internal/encoding.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_neighborhood.cc
--- tests/unit_test/mln_core_concept_doc_neighborhood.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_neighborhood.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/neighborhood.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/neighborhood.hh>
#include <mln/core/concept/doc/neighborhood.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_window.cc
--- tests/unit_test/mln_core_concept_doc_window.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_window.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/window.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/window.hh>
#include <mln/core/concept/doc/window.hh>
int main()
Index: tests/unit_test/mln_win_cube3d.cc
--- tests/unit_test/mln_win_cube3d.cc (revision 3032)
+++ tests/unit_test/mln_win_cube3d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/cube3d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/cube3d.hh>
#include <mln/win/cube3d.hh>
int main()
Index: tests/unit_test/mln_border_fill.cc
--- tests/unit_test/mln_border_fill.cc (revision 3032)
+++ tests/unit_test/mln_border_fill.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/border/fill.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/border/fill.hh>
#include <mln/border/fill.hh>
int main()
Index: tests/unit_test/mln_set_diff.cc
--- tests/unit_test/mln_set_diff.cc (revision 3032)
+++ tests/unit_test/mln_set_diff.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/set/diff.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/set/diff.hh>
#include <mln/set/diff.hh>
int main()
Index: tests/unit_test/mln_algebra_all.cc
--- tests/unit_test/mln_algebra_all.cc (revision 3032)
+++ tests/unit_test/mln_algebra_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/algebra/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/algebra/all.hh>
#include <mln/algebra/all.hh>
int main()
Index: tests/unit_test/mln_trace_exiting.cc
--- tests/unit_test/mln_trace_exiting.cc (revision 3032)
+++ tests/unit_test/mln_trace_exiting.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trace/exiting.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trace/exiting.hh>
#include <mln/trace/exiting.hh>
int main()
Index: tests/unit_test/mln_core_site_set_operators.cc
--- tests/unit_test/mln_core_site_set_operators.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_operators.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/operators.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/operators.hh>
#include <mln/core/site_set/operators.hh>
int main()
Index: tests/unit_test/mln_core_def_coord.cc
--- tests/unit_test/mln_core_def_coord.cc (revision 3032)
+++ tests/unit_test/mln_core_def_coord.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/def/coord.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/def/coord.hh>
#include <mln/core/def/coord.hh>
int main()
Index: tests/unit_test/mln_fun_v2b_lnot.cc
--- tests/unit_test/mln_fun_v2b_lnot.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2b_lnot.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2b/lnot.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2b/lnot.hh>
#include <mln/fun/v2b/lnot.hh>
int main()
Index: tests/unit_test/mln_core_site_set_attic_p_faces_piter.cc
--- tests/unit_test/mln_core_site_set_attic_p_faces_piter.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_attic_p_faces_piter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/attic/p_faces_piter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/attic/p_faces_piter.hh>
#include <mln/core/site_set/attic/p_faces_piter.hh>
int main()
Index: tests/unit_test/mln_trait_solve_binary.cc
--- tests/unit_test/mln_trait_solve_binary.cc (revision 3032)
+++ tests/unit_test/mln_trait_solve_binary.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/solve_binary.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/solve_binary.hh>
#include <mln/trait/solve_binary.hh>
int main()
Index: tests/unit_test/mln_core_alias_point3d.cc
--- tests/unit_test/mln_core_alias_point3d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_point3d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/point3d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/point3d.hh>
#include <mln/core/alias/point3d.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_generalized_pixel.cc
--- tests/unit_test/mln_core_concept_doc_generalized_pixel.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_generalized_pixel.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/generalized_pixel.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/generalized_pixel.hh>
#include <mln/core/concept/doc/generalized_pixel.hh>
int main()
Index: tests/unit_test/mln_canvas_all.cc
--- tests/unit_test/mln_canvas_all.cc (revision 3032)
+++ tests/unit_test/mln_canvas_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/all.hh>
#include <mln/canvas/all.hh>
int main()
Index: tests/unit_test/mln_level_compute.cc
--- tests/unit_test/mln_level_compute.cc (revision 3032)
+++ tests/unit_test/mln_level_compute.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/compute.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/compute.hh>
#include <mln/level/compute.hh>
int main()
Index: tests/unit_test/mln_level_naive_median.cc
--- tests/unit_test/mln_level_naive_median.cc (revision 3032)
+++ tests/unit_test/mln_level_naive_median.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/naive/median.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/naive/median.hh>
#include <mln/level/naive/median.hh>
int main()
Index: tests/unit_test/mln_level_convert.cc
--- tests/unit_test/mln_level_convert.cc (revision 3032)
+++ tests/unit_test/mln_level_convert.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/convert.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/convert.hh>
#include <mln/level/convert.hh>
int main()
Index: tests/unit_test/mln_io_pfm_load.cc
--- tests/unit_test/mln_io_pfm_load.cc (revision 3032)
+++ tests/unit_test/mln_io_pfm_load.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/pfm/load.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/pfm/load.hh>
#include <mln/io/pfm/load.hh>
int main()
Index: tests/unit_test/mln_geom_size3d.cc
--- tests/unit_test/mln_geom_size3d.cc (revision 3032)
+++ tests/unit_test/mln_geom_size3d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/size3d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/size3d.hh>
#include <mln/geom/size3d.hh>
int main()
Index: tests/unit_test/mln_fun_l2l_essential.cc
--- tests/unit_test/mln_fun_l2l_essential.cc (revision 3032)
+++ tests/unit_test/mln_fun_l2l_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/l2l/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/l2l/essential.hh>
#include <mln/fun/l2l/essential.hh>
int main()
Index: tests/unit_test/mln_value_int_u.cc
--- tests/unit_test/mln_value_int_u.cc (revision 3032)
+++ tests/unit_test/mln_value_int_u.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/int_u.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/int_u.hh>
#include <mln/value/int_u.hh>
int main()
Index: tests/unit_test/mln_core_internal_site_iterator_base.cc
--- tests/unit_test/mln_core_internal_site_iterator_base.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_site_iterator_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/site_iterator_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/site_iterator_base.hh>
#include <mln/core/internal/site_iterator_base.hh>
int main()
Index: tests/unit_test/mln_accu_center.cc
--- tests/unit_test/mln_accu_center.cc (revision 3032)
+++ tests/unit_test/mln_accu_center.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/center.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/center.hh>
#include <mln/accu/center.hh>
int main()
Index: tests/unit_test/mln_core_routine_initialize.cc
--- tests/unit_test/mln_core_routine_initialize.cc (revision 3032)
+++ tests/unit_test/mln_core_routine_initialize.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/routine/initialize.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/routine/initialize.hh>
#include <mln/core/routine/initialize.hh>
int main()
Index: tests/unit_test/mln_core_concept_literal.cc
--- tests/unit_test/mln_core_concept_literal.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_literal.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/literal.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/literal.hh>
#include <mln/core/concept/literal.hh>
int main()
Index: tests/unit_test/mln_make_w_window1d.cc
--- tests/unit_test/mln_make_w_window1d.cc (revision 3032)
+++ tests/unit_test/mln_make_w_window1d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/w_window1d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/w_window1d.hh>
#include <mln/make/w_window1d.hh>
int main()
Index: tests/unit_test/mln_accu_count_adjacent_vertices.cc
--- tests/unit_test/mln_accu_count_adjacent_vertices.cc (revision 3032)
+++ tests/unit_test/mln_accu_count_adjacent_vertices.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/count_adjacent_vertices.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/count_adjacent_vertices.hh>
#include <mln/accu/count_adjacent_vertices.hh>
int main()
Index: tests/unit_test/mln_metal_converts_to.cc
--- tests/unit_test/mln_metal_converts_to.cc (revision 3032)
+++ tests/unit_test/mln_metal_converts_to.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/converts_to.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/converts_to.hh>
#include <mln/metal/converts_to.hh>
int main()
Index: tests/unit_test/mln_fun_vv2v_diff_abs.cc
--- tests/unit_test/mln_fun_vv2v_diff_abs.cc (revision 3032)
+++ tests/unit_test/mln_fun_vv2v_diff_abs.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/vv2v/diff_abs.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/vv2v/diff_abs.hh>
#include <mln/fun/vv2v/diff_abs.hh>
int main()
Index: tests/unit_test/mln_make_w_window1d_int.cc
--- tests/unit_test/mln_make_w_window1d_int.cc (revision 3032)
+++ tests/unit_test/mln_make_w_window1d_int.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/w_window1d_int.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/w_window1d_int.hh>
#include <mln/make/w_window1d_int.hh>
int main()
Index: tests/unit_test/mln_morpho_all.cc
--- tests/unit_test/mln_morpho_all.cc (revision 3032)
+++ tests/unit_test/mln_morpho_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/all.hh>
#include <mln/morpho/all.hh>
int main()
Index: tests/unit_test/mln_trait_windows.cc
--- tests/unit_test/mln_trait_windows.cc (revision 3032)
+++ tests/unit_test/mln_trait_windows.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/windows.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/windows.hh>
#include <mln/trait/windows.hh>
int main()
Index: tests/unit_test/mln_metal_ref.cc
--- tests/unit_test/mln_metal_ref.cc (revision 3032)
+++ tests/unit_test/mln_metal_ref.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/ref.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/ref.hh>
#include <mln/metal/ref.hh>
int main()
Index: tests/unit_test/mln_level_all.cc
--- tests/unit_test/mln_level_all.cc (revision 3032)
+++ tests/unit_test/mln_level_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/all.hh>
#include <mln/level/all.hh>
int main()
Index: tests/unit_test/mln_value_internal_gray_f.cc
--- tests/unit_test/mln_value_internal_gray_f.cc (revision 3032)
+++ tests/unit_test/mln_value_internal_gray_f.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/internal/gray_f.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/internal/gray_f.hh>
#include <mln/value/internal/gray_f.hh>
int main()
Index: tests/unit_test/mln_literal_grays.cc
--- tests/unit_test/mln_literal_grays.cc (revision 3032)
+++ tests/unit_test/mln_literal_grays.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/literal/grays.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/literal/grays.hh>
#include <mln/literal/grays.hh>
int main()
Index: tests/unit_test/mln_canvas_browsing_snake_vert.cc
--- tests/unit_test/mln_canvas_browsing_snake_vert.cc (revision 3032)
+++ tests/unit_test/mln_canvas_browsing_snake_vert.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/browsing/snake_vert.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/browsing/snake_vert.hh>
#include <mln/canvas/browsing/snake_vert.hh>
int main()
Index: tests/unit_test/mln_trait_op_eq.cc
--- tests/unit_test/mln_trait_op_eq.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_eq.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/eq.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/eq.hh>
#include <mln/trait/op/eq.hh>
int main()
Index: tests/unit_test/mln_value_builtin_floatings.cc
--- tests/unit_test/mln_value_builtin_floatings.cc (revision 3032)
+++ tests/unit_test/mln_value_builtin_floatings.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/builtin/floatings.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/builtin/floatings.hh>
#include <mln/value/builtin/floatings.hh>
int main()
Index: tests/unit_test/mln_math_sign.cc
--- tests/unit_test/mln_math_sign.cc (revision 3032)
+++ tests/unit_test/mln_math_sign.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/math/sign.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/math/sign.hh>
#include <mln/math/sign.hh>
int main()
Index: tests/unit_test/mln_core_pixter3d.cc
--- tests/unit_test/mln_core_pixter3d.cc (revision 3032)
+++ tests/unit_test/mln_core_pixter3d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/pixter3d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/pixter3d.hh>
#include <mln/core/pixter3d.hh>
int main()
Index: tests/unit_test/mln_morpho_opening_height.cc
--- tests/unit_test/mln_morpho_opening_height.cc (revision 3032)
+++ tests/unit_test/mln_morpho_opening_height.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/opening_height.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/opening_height.hh>
#include <mln/morpho/opening_height.hh>
int main()
Index: tests/unit_test/mln_value_other.cc
--- tests/unit_test/mln_value_other.cc (revision 3032)
+++ tests/unit_test/mln_value_other.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/other.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/other.hh>
#include <mln/value/other.hh>
int main()
Index: tests/unit_test/mln_value_proxy.cc
--- tests/unit_test/mln_value_proxy.cc (revision 3032)
+++ tests/unit_test/mln_value_proxy.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/proxy.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/proxy.hh>
#include <mln/value/proxy.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_object.cc
--- tests/unit_test/mln_core_concept_doc_object.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_object.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/object.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/object.hh>
#include <mln/core/concept/doc/object.hh>
int main()
Index: tests/unit_test/mln_level_essential.cc
--- tests/unit_test/mln_level_essential.cc (revision 3032)
+++ tests/unit_test/mln_level_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/essential.hh>
#include <mln/level/essential.hh>
int main()
Index: tests/unit_test/mln_core_alias_w_window3d_int.cc
--- tests/unit_test/mln_core_alias_w_window3d_int.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_w_window3d_int.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/w_window3d_int.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/w_window3d_int.hh>
#include <mln/core/alias/w_window3d_int.hh>
int main()
Index: tests/unit_test/mln_value_int_s16.cc
--- tests/unit_test/mln_value_int_s16.cc (revision 3032)
+++ tests/unit_test/mln_value_int_s16.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/int_s16.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/int_s16.hh>
#include <mln/value/int_s16.hh>
int main()
Index: tests/unit_test/mln_metal_same_point.cc
--- tests/unit_test/mln_metal_same_point.cc (revision 3032)
+++ tests/unit_test/mln_metal_same_point.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/same_point.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/same_point.hh>
#include <mln/metal/same_point.hh>
int main()
Index: tests/unit_test/mln_trait_op_postinc.cc
--- tests/unit_test/mln_trait_op_postinc.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_postinc.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/postinc.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/postinc.hh>
#include <mln/trait/op/postinc.hh>
int main()
Index: tests/unit_test/mln_core_routine_exact.cc
--- tests/unit_test/mln_core_routine_exact.cc (revision 3032)
+++ tests/unit_test/mln_core_routine_exact.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/routine/exact.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/routine/exact.hh>
#include <mln/core/routine/exact.hh>
int main()
Index: tests/unit_test/mln_core_image_all.cc
--- tests/unit_test/mln_core_image_all.cc (revision 3032)
+++ tests/unit_test/mln_core_image_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/all.hh>
#include <mln/core/image/all.hh>
int main()
Index: tests/unit_test/mln_fun_p2b_all.cc
--- tests/unit_test/mln_fun_p2b_all.cc (revision 3032)
+++ tests/unit_test/mln_fun_p2b_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/p2b/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/p2b/all.hh>
#include <mln/fun/p2b/all.hh>
int main()
Index: tests/unit_test/mln_core_internal_set_of.cc
--- tests/unit_test/mln_core_internal_set_of.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_set_of.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/set_of.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/set_of.hh>
#include <mln/core/internal/set_of.hh>
int main()
Index: tests/unit_test/mln_core_concept_graph.cc
--- tests/unit_test/mln_core_concept_graph.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_graph.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/graph.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/graph.hh>
#include <mln/core/concept/graph.hh>
int main()
Index: tests/unit_test/mln_win_sym.cc
--- tests/unit_test/mln_win_sym.cc (revision 3032)
+++ tests/unit_test/mln_win_sym.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/sym.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/sym.hh>
#include <mln/win/sym.hh>
int main()
Index: tests/unit_test/mln_set_has.cc
--- tests/unit_test/mln_set_has.cc (revision 3032)
+++ tests/unit_test/mln_set_has.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/set/has.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/set/has.hh>
#include <mln/set/has.hh>
int main()
Index: tests/unit_test/mln_util_internal_vertex_impl.cc
--- tests/unit_test/mln_util_internal_vertex_impl.cc (revision 3032)
+++ tests/unit_test/mln_util_internal_vertex_impl.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/internal/vertex_impl.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/internal/vertex_impl.hh>
#include <mln/util/internal/vertex_impl.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_bgraph.cc
--- tests/unit_test/mln_core_site_set_p_bgraph.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_bgraph.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_bgraph.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_bgraph.hh>
#include <mln/core/site_set/p_bgraph.hh>
int main()
Index: tests/unit_test/mln_convert_impl_all.cc
--- tests/unit_test/mln_convert_impl_all.cc (revision 3032)
+++ tests/unit_test/mln_convert_impl_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/convert/impl/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/impl/all.hh>
#include <mln/convert/impl/all.hh>
int main()
Index: tests/unit_test/mln_topo_attic_faces_iter.cc
--- tests/unit_test/mln_topo_attic_faces_iter.cc (revision 3032)
+++ tests/unit_test/mln_topo_attic_faces_iter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/attic/faces_iter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/attic/faces_iter.hh>
#include <mln/topo/attic/faces_iter.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_bgraph_piter.cc
--- tests/unit_test/mln_core_site_set_p_bgraph_piter.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_bgraph_piter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_bgraph_piter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_bgraph_piter.hh>
#include <mln/core/site_set/p_bgraph_piter.hh>
int main()
Index: tests/unit_test/mln_accu_rank_high_quant.cc
--- tests/unit_test/mln_accu_rank_high_quant.cc (revision 3032)
+++ tests/unit_test/mln_accu_rank_high_quant.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/rank_high_quant.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/rank_high_quant.hh>
#include <mln/accu/rank_high_quant.hh>
int main()
Index: tests/unit_test/mln_core_site_set_box_piter.cc
--- tests/unit_test/mln_core_site_set_box_piter.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_box_piter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/box_piter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/box_piter.hh>
#include <mln/core/site_set/box_piter.hh>
int main()
Index: tests/unit_test/mln_core_alias_neighb2d.cc
--- tests/unit_test/mln_core_alias_neighb2d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_neighb2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/neighb2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/neighb2d.hh>
#include <mln/core/alias/neighb2d.hh>
int main()
Index: tests/unit_test/mln_core_image_mono_obased_rle_image.cc
--- tests/unit_test/mln_core_image_mono_obased_rle_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_mono_obased_rle_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/mono_obased_rle_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/mono_obased_rle_image.hh>
#include <mln/core/image/mono_obased_rle_image.hh>
int main()
Index: tests/unit_test/mln_metal_mat.cc
--- tests/unit_test/mln_metal_mat.cc (revision 3032)
+++ tests/unit_test/mln_metal_mat.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/mat.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/mat.hh>
#include <mln/metal/mat.hh>
int main()
Index: tests/unit_test/mln_core_alias_dpoint3d.cc
--- tests/unit_test/mln_core_alias_dpoint3d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_dpoint3d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/dpoint3d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/dpoint3d.hh>
#include <mln/core/alias/dpoint3d.hh>
int main()
Index: tests/unit_test/mln_util_all.cc
--- tests/unit_test/mln_util_all.cc (revision 3032)
+++ tests/unit_test/mln_util_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/all.hh>
#include <mln/util/all.hh>
int main()
Index: tests/unit_test/mln_core_tags.cc
--- tests/unit_test/mln_core_tags.cc (revision 3032)
+++ tests/unit_test/mln_core_tags.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/tags.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/tags.hh>
#include <mln/core/tags.hh>
int main()
Index: tests/unit_test/mln_core_concept_pseudo_site.cc
--- tests/unit_test/mln_core_concept_pseudo_site.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_pseudo_site.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/pseudo_site.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/pseudo_site.hh>
#include <mln/core/concept/pseudo_site.hh>
int main()
Index: tests/unit_test/mln_util_eat.cc
--- tests/unit_test/mln_util_eat.cc (revision 3032)
+++ tests/unit_test/mln_util_eat.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/eat.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/eat.hh>
#include <mln/util/eat.hh>
int main()
Index: tests/unit_test/mln_norm_l1.cc
--- tests/unit_test/mln_norm_l1.cc (revision 3032)
+++ tests/unit_test/mln_norm_l1.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/norm/l1.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/norm/l1.hh>
#include <mln/norm/l1.hh>
int main()
Index: tests/unit_test/mln_util_lemmings.cc
--- tests/unit_test/mln_util_lemmings.cc (revision 3032)
+++ tests/unit_test/mln_util_lemmings.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/lemmings.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/lemmings.hh>
#include <mln/util/lemmings.hh>
int main()
Index: tests/unit_test/mln_fun_ops.cc
--- tests/unit_test/mln_fun_ops.cc (revision 3032)
+++ tests/unit_test/mln_fun_ops.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/ops.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/ops.hh>
#include <mln/fun/ops.hh>
int main()
Index: tests/unit_test/mln_core_image_sparse_image.cc
--- tests/unit_test/mln_core_image_sparse_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_sparse_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/sparse_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/sparse_image.hh>
#include <mln/core/image/sparse_image.hh>
int main()
Index: tests/unit_test/mln_arith_plus.cc
--- tests/unit_test/mln_arith_plus.cc (revision 3032)
+++ tests/unit_test/mln_arith_plus.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/arith/plus.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/arith/plus.hh>
#include <mln/arith/plus.hh>
int main()
Index: tests/unit_test/mln_core_internal_check_image_all.cc
--- tests/unit_test/mln_core_internal_check_image_all.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_check_image_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/check/image_all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/check/image_all.hh>
#include <mln/core/internal/check/image_all.hh>
int main()
Index: tests/unit_test/mln_morpho_tree_all.cc
--- tests/unit_test/mln_morpho_tree_all.cc (revision 3032)
+++ tests/unit_test/mln_morpho_tree_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/tree/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/tree/all.hh>
#include <mln/morpho/tree/all.hh>
int main()
Index: tests/unit_test/mln_metal_int.cc
--- tests/unit_test/mln_metal_int.cc (revision 3032)
+++ tests/unit_test/mln_metal_int.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/int.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/int.hh>
#include <mln/metal/int.hh>
int main()
Index: tests/unit_test/mln_core_internal_site_set_base.cc
--- tests/unit_test/mln_core_internal_site_set_base.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_site_set_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/site_set_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/site_set_base.hh>
#include <mln/core/internal/site_set_base.hh>
int main()
Index: tests/unit_test/mln_topo_centered_iter_adapter.cc
--- tests/unit_test/mln_topo_centered_iter_adapter.cc (revision 3032)
+++ tests/unit_test/mln_topo_centered_iter_adapter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/centered_iter_adapter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/centered_iter_adapter.hh>
#include <mln/topo/centered_iter_adapter.hh>
int main()
Index: tests/unit_test/mln_value_rgb16.cc
--- tests/unit_test/mln_value_rgb16.cc (revision 3032)
+++ tests/unit_test/mln_value_rgb16.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/rgb16.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/rgb16.hh>
#include <mln/value/rgb16.hh>
int main()
Index: tests/unit_test/mln_geom_min_row.cc
--- tests/unit_test/mln_geom_min_row.cc (revision 3032)
+++ tests/unit_test/mln_geom_min_row.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/min_row.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/min_row.hh>
#include <mln/geom/min_row.hh>
int main()
Index: tests/unit_test/mln_math_all.cc
--- tests/unit_test/mln_math_all.cc (revision 3032)
+++ tests/unit_test/mln_math_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/math/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/math/all.hh>
#include <mln/math/all.hh>
int main()
Index: tests/unit_test/mln_metal_none.cc
--- tests/unit_test/mln_metal_none.cc (revision 3032)
+++ tests/unit_test/mln_metal_none.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/none.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/none.hh>
#include <mln/metal/none.hh>
int main()
Index: tests/unit_test/mln_debug_println_with_border.cc
--- tests/unit_test/mln_debug_println_with_border.cc (revision 3032)
+++ tests/unit_test/mln_debug_println_with_border.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/debug/println_with_border.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/debug/println_with_border.hh>
#include <mln/debug/println_with_border.hh>
int main()
Index: tests/unit_test/mln_core_trait_op_mult.cc
--- tests/unit_test/mln_core_trait_op_mult.cc (revision 3032)
+++ tests/unit_test/mln_core_trait_op_mult.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/trait/op_mult.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/trait/op_mult.hh>
#include <mln/core/trait/op_mult.hh>
int main()
Index: tests/unit_test/mln_trait_value_print.cc
--- tests/unit_test/mln_trait_value_print.cc (revision 3032)
+++ tests/unit_test/mln_trait_value_print.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/value/print.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/value/print.hh>
#include <mln/trait/value/print.hh>
int main()
Index: tests/unit_test/mln_core_macros.cc
--- tests/unit_test/mln_core_macros.cc (revision 3032)
+++ tests/unit_test/mln_core_macros.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/macros.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/macros.hh>
#include <mln/core/macros.hh>
int main()
Index: tests/unit_test/mln_metal_is.cc
--- tests/unit_test/mln_metal_is.cc (revision 3032)
+++ tests/unit_test/mln_metal_is.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/is.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/is.hh>
#include <mln/metal/is.hh>
int main()
Index: tests/unit_test/mln_morpho_elementary_essential.cc
--- tests/unit_test/mln_morpho_elementary_essential.cc (revision 3032)
+++ tests/unit_test/mln_morpho_elementary_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/elementary/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/elementary/essential.hh>
#include <mln/morpho/elementary/essential.hh>
int main()
Index: tests/unit_test/mln_value_int_s8.cc
--- tests/unit_test/mln_value_int_s8.cc (revision 3032)
+++ tests/unit_test/mln_value_int_s8.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/int_s8.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/int_s8.hh>
#include <mln/value/int_s8.hh>
int main()
Index: tests/unit_test/mln_trait_op_not.cc
--- tests/unit_test/mln_trait_op_not.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_not.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/not.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/not.hh>
#include <mln/trait/op/not.hh>
int main()
Index: tests/unit_test/mln_core_concept_accumulator.cc
--- tests/unit_test/mln_core_concept_accumulator.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_accumulator.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/accumulator.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/accumulator.hh>
#include <mln/core/concept/accumulator.hh>
int main()
Index: tests/unit_test/mln_morpho_thinning.cc
--- tests/unit_test/mln_morpho_thinning.cc (revision 3032)
+++ tests/unit_test/mln_morpho_thinning.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/thinning.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/thinning.hh>
#include <mln/morpho/thinning.hh>
int main()
Index: tests/unit_test/mln_geom_seeds2tiling_roundness.cc
--- tests/unit_test/mln_geom_seeds2tiling_roundness.cc (revision 3032)
+++ tests/unit_test/mln_geom_seeds2tiling_roundness.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/seeds2tiling_roundness.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/seeds2tiling_roundness.hh>
#include <mln/geom/seeds2tiling_roundness.hh>
int main()
Index: tests/unit_test/mln_tag_all.cc
--- tests/unit_test/mln_tag_all.cc (revision 3032)
+++ tests/unit_test/mln_tag_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/tag/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/tag/all.hh>
#include <mln/tag/all.hh>
int main()
Index: tests/unit_test/mln_topo_center_only_iter.cc
--- tests/unit_test/mln_topo_center_only_iter.cc (revision 3032)
+++ tests/unit_test/mln_topo_center_only_iter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/center_only_iter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/center_only_iter.hh>
#include <mln/topo/center_only_iter.hh>
int main()
Index: tests/unit_test/mln_value_float01_16.cc
--- tests/unit_test/mln_value_float01_16.cc (revision 3032)
+++ tests/unit_test/mln_value_float01_16.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/float01_16.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/float01_16.hh>
#include <mln/value/float01_16.hh>
int main()
Index: tests/unit_test/mln_util_tree_to_fast.cc
--- tests/unit_test/mln_util_tree_to_fast.cc (revision 3032)
+++ tests/unit_test/mln_util_tree_to_fast.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/tree_to_fast.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/tree_to_fast.hh>
#include <mln/util/tree_to_fast.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_edges.cc
--- tests/unit_test/mln_core_site_set_p_edges.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_edges.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_edges.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_edges.hh>
#include <mln/core/site_set/p_edges.hh>
int main()
Index: tests/unit_test/mln_core_alias_window1d.cc
--- tests/unit_test/mln_core_alias_window1d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_window1d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/window1d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/window1d.hh>
#include <mln/core/alias/window1d.hh>
int main()
Index: tests/unit_test/mln_util_timer.cc
--- tests/unit_test/mln_util_timer.cc (revision 3032)
+++ tests/unit_test/mln_util_timer.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/timer.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/timer.hh>
#include <mln/util/timer.hh>
int main()
Index: tests/unit_test/mln_core_internal_image_value_morpher.cc
--- tests/unit_test/mln_core_internal_image_value_morpher.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_image_value_morpher.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/image_value_morpher.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/image_value_morpher.hh>
#include <mln/core/internal/image_value_morpher.hh>
int main()
Index: tests/unit_test/mln_math_sqr.cc
--- tests/unit_test/mln_math_sqr.cc (revision 3032)
+++ tests/unit_test/mln_math_sqr.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/math/sqr.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/math/sqr.hh>
#include <mln/math/sqr.hh>
int main()
Index: tests/unit_test/Makefile.am
--- tests/unit_test/Makefile.am (revision 3032)
+++ tests/unit_test/Makefile.am (working copy)
@@ -3,1996 +3,1996 @@
include $(top_srcdir)/milena/tests/tests.mk
check_PROGRAMS = \
-mln_histo_all \
-mln_histo_data \
-mln_histo_compute \
-mln_histo_essential \
-mln_geom_pmin_pmax \
-mln_geom_max_row \
-mln_geom_chamfer \
-mln_geom_min_row \
-mln_geom_seeds2tiling \
-mln_geom_size1d \
-mln_geom_all \
-mln_geom_size2d \
-mln_geom_max_ind \
-mln_geom_max_col \
-mln_geom_size3d \
-mln_geom_ninds \
-mln_geom_nslis \
-mln_geom_delta \
-mln_geom_resize \
-mln_geom_nsites \
-mln_geom_min_col \
-mln_geom_complex_geometry \
-mln_geom_ncols \
-mln_geom_nrows \
-mln_geom_min_ind \
-mln_geom_bbox \
-mln_geom_seeds2tiling_roundness \
-mln_geom_min_sli \
-mln_geom_essential \
-mln_geom_max_sli \
-mln_draw_box \
-mln_draw_all \
-mln_draw_plot \
-mln_draw_line \
-mln_draw_essential \
-mln_pw_image \
-mln_pw_all \
-mln_pw_value \
-mln_pw_cst \
-mln_pw_var \
-mln_pw_essential \
-mln_literal_zero \
-mln_literal_ops \
-mln_literal_origin \
-mln_literal_grays \
-mln_literal_all \
-mln_literal_colors \
-mln_literal_black \
-mln_literal_one \
-mln_literal_white \
-mln_literal_essential \
-mln_registration_get_rtransf \
-mln_registration_internal_rms \
-mln_registration_get_rot \
-mln_registration_all \
-mln_registration_multiscale \
-mln_registration_registration \
-mln_registration_essential \
-mln_registration_icp \
-mln_util_graph \
+mln_util_nil \
+mln_util_ord_pair \
+mln_util_ord \
mln_util_max \
-mln_util_lazy_set \
+mln_util_eat \
+mln_util_tree \
+mln_util_tree_fast_to_image \
+mln_util_tracked_ptr \
+mln_util_dindex \
+mln_util_site_pair \
mln_util_set \
-mln_util_tree_to_image \
-mln_util_lemmings \
mln_util_greater_point \
+mln_util_greater_psite \
+mln_util_ignore \
+mln_util_pix \
+mln_util_lazy_set \
+mln_util_essential \
+mln_util_branch_iter \
+mln_util_graph \
+mln_util_index \
+mln_util_tree_to_fast \
+mln_util_line_graph \
+mln_util_lemmings \
+mln_util_all \
+mln_util_internal_boost_graph_property \
mln_util_internal_graph_iter_base \
-mln_util_internal_boost_graph_access \
+mln_util_internal_boost_graph \
mln_util_internal_boost_graph_structure \
-mln_util_internal_graph_iter \
-mln_util_internal_graph_nbh_iter \
-mln_util_internal_vertex_impl \
-mln_util_internal_edge_impl \
+mln_util_internal_boost_graph_access \
mln_util_internal_graph_base \
-mln_util_internal_boost_graph \
+mln_util_internal_vertex_impl \
+mln_util_internal_graph_nbh_iter \
mln_util_internal_graph_nbh_iter_base \
-mln_util_internal_boost_graph_property \
-mln_util_ord_pair \
-mln_util_edge \
-mln_util_all \
-mln_util_dindex \
-mln_util_tracked_ptr \
-mln_util_ignore \
-mln_util_greater_psite \
-mln_util_timer \
+mln_util_internal_edge_impl \
+mln_util_internal_graph_iter \
mln_util_yes \
-mln_util_line_graph \
-mln_util_ord \
-mln_util_tree_fast_to_image \
-mln_util_tree \
-mln_util_index \
mln_util_multi_site \
-mln_util_branch_iter \
+mln_util_timer \
+mln_util_edge \
+mln_util_tree_fast \
mln_util_branch_iter_ind \
-mln_util_tree_to_fast \
-mln_util_array \
+mln_util_tree_to_image \
mln_util_vertex \
-mln_util_pix \
-mln_util_tree_fast \
-mln_util_site_pair \
-mln_util_nil \
-mln_util_eat \
-mln_util_essential \
-mln_tag_init \
-mln_tag_skeleton \
-mln_tag_all \
-mln_tag_essential \
-mln_trace_entering \
-mln_trace_all \
-mln_trace_warning \
-mln_trace_exiting \
-mln_trace_resume \
-mln_trace_quiet \
-mln_trace_stop \
-mln_trace_essential \
-mln_make_graph \
-mln_make_double_neighb2d \
-mln_make_dpoint2d_h \
-mln_make_w_window \
-mln_make_image \
-mln_make_vec \
-mln_make_all \
-mln_make_dual_neighb \
-mln_make_w_window3d \
-mln_make_mat \
-mln_make_win_chamfer \
-mln_make_w_window2d_int \
-mln_make_box1d \
-mln_make_voronoi \
-mln_make_box2d \
-mln_make_w_window2d \
-mln_make_box3d \
-mln_make_relabelfun \
-mln_make_pixel \
-mln_make_pix \
-mln_make_box2d_h \
-mln_make_w_window1d \
-mln_make_image2d \
-mln_make_w_window_directional \
-mln_make_w_window3d_int \
-mln_make_essential \
-mln_make_w_window1d_int \
-mln_make_point2d_h \
-mln_display_all \
-mln_display_essential \
-mln_extension_adjust \
-mln_extension_duplicate \
-mln_extension_adjust_duplicate \
-mln_extension_all \
-mln_extension_adjust_fill \
-mln_extension_fill \
-mln_extension_essential \
-mln_fun_p2b_chess \
-mln_fun_p2b_all \
-mln_fun_p2b_has \
-mln_fun_p2b_big_chess \
-mln_fun_p2b_essential \
-mln_fun_p2p_mirror \
+mln_util_array \
+mln_fun_c \
+mln_fun_cast \
mln_fun_x2p_closest_point \
-mln_fun_x2p_all \
mln_fun_x2p_essential \
-mln_fun_ops \
-mln_fun_c \
+mln_fun_x2p_all \
+mln_fun_p2v_elifs \
+mln_fun_p2v_iota \
+mln_fun_p2v_essential \
+mln_fun_p2v_all \
+mln_fun_p2v_ternary \
+mln_fun_vv2v_vec \
mln_fun_vv2v_max \
-mln_fun_vv2v_lor \
+mln_fun_vv2v_lxor \
+mln_fun_vv2v_essential \
mln_fun_vv2v_land_not \
-mln_fun_vv2v_vec \
-mln_fun_vv2v_all \
mln_fun_vv2v_macros \
-mln_fun_vv2v_lxor \
+mln_fun_vv2v_all \
+mln_fun_vv2v_min \
mln_fun_vv2v_diff_abs \
mln_fun_vv2v_land \
-mln_fun_vv2v_min \
-mln_fun_vv2v_essential \
-mln_fun_internal_array_base \
-mln_fun_internal_x2x_linear_impl \
-mln_fun_internal_selector \
-mln_fun_p2v_ternary \
-mln_fun_p2v_iota \
-mln_fun_p2v_elifs \
-mln_fun_p2v_all \
-mln_fun_p2v_essential \
-mln_fun_all \
-mln_fun_v2b_lnot \
-mln_fun_v2b_all \
-mln_fun_v2b_threshold \
-mln_fun_v2b_essential \
-mln_fun_v2v_norm \
-mln_fun_v2v_linear \
-mln_fun_v2v_id \
-mln_fun_v2v_saturate \
-mln_fun_v2v_inc \
-mln_fun_v2v_all \
-mln_fun_v2v_dec \
-mln_fun_v2v_abs \
-mln_fun_v2v_cast \
+mln_fun_vv2v_lor \
+mln_fun_x2x_composed \
+mln_fun_x2x_essential \
+mln_fun_x2x_rotation \
+mln_fun_x2x_all \
+mln_fun_x2x_translation \
+mln_fun_essential \
mln_fun_v2v_rgb_to_hsi \
mln_fun_v2v_enc \
+mln_fun_v2v_cast \
+mln_fun_v2v_saturate \
+mln_fun_v2v_norm \
mln_fun_v2v_convert \
+mln_fun_v2v_id \
mln_fun_v2v_essential \
-mln_fun_cast \
+mln_fun_v2v_linear \
+mln_fun_v2v_all \
+mln_fun_v2v_abs \
+mln_fun_v2v_dec \
+mln_fun_v2v_inc \
+mln_fun_i2v_essential \
mln_fun_i2v_all \
-mln_fun_i2v_array \
mln_fun_i2v_all_to \
-mln_fun_i2v_essential \
-mln_fun_l2l_relabel \
-mln_fun_l2l_all \
+mln_fun_i2v_array \
+mln_fun_ops \
+mln_fun_all \
+mln_fun_v2b_essential \
+mln_fun_v2b_lnot \
+mln_fun_v2b_all \
+mln_fun_v2b_threshold \
+mln_fun_internal_selector \
+mln_fun_internal_array_base \
+mln_fun_internal_x2x_linear_impl \
mln_fun_l2l_essential \
-mln_fun_x2x_composed \
-mln_fun_x2x_all \
-mln_fun_x2x_translation \
-mln_fun_x2x_rotation \
-mln_fun_x2x_essential \
+mln_fun_l2l_all \
+mln_fun_l2l_relabel \
+mln_fun_x2v_essential \
mln_fun_x2v_linear \
-mln_fun_x2v_bilinear \
mln_fun_x2v_all \
+mln_fun_x2v_bilinear \
mln_fun_x2v_l1_norm \
mln_fun_x2v_nneighbor \
-mln_fun_x2v_essential \
-mln_fun_essential \
-mln_all \
-mln_convert_to_p_set \
-mln_convert_to \
-mln_convert_to_upper_window \
-mln_convert_to_image \
-mln_convert_to_fun \
-mln_convert_all \
-mln_convert_to_window \
-mln_convert_from_to \
-mln_convert_impl_from_value_to_value \
-mln_convert_impl_all \
-mln_convert_impl_from_image_to_site_set \
-mln_convert_to_dpoint \
-mln_convert_to_p_array \
-mln_convert_to_rgb \
-mln_convert_essential \
-mln_value_float01_f \
-mln_value_float01_16 \
-mln_value_lut_vec \
-mln_value_glf \
-mln_value_other \
-mln_value_graylevel_f \
-mln_value_aliases \
-mln_value_label_16 \
-mln_value_ops \
-mln_value_set \
-mln_value_int_u_sat \
-mln_value_float01_8 \
-mln_value_int_u8 \
-mln_value_equiv \
-mln_value_internal_integer \
-mln_value_internal_gray_f \
-mln_value_internal_all \
-mln_value_internal_value_like \
-mln_value_internal_iterable_set \
-mln_value_internal_encoding \
-mln_value_internal_convert \
-mln_value_internal_gray_ \
-mln_value_internal_essential \
-mln_value_proxy \
-mln_value_viter \
-mln_value_graylevel \
-mln_value_all \
-mln_value_super_value \
-mln_value_builtin_symbolics \
-mln_value_builtin_ops \
-mln_value_builtin_all \
-mln_value_builtin_promotions \
-mln_value_builtin_integers \
-mln_value_builtin_floatings \
-mln_value_builtin_essential \
-mln_value_sign \
-mln_value_hsi \
-mln_value_interval \
-mln_value_gl16 \
-mln_value_scalar \
-mln_value_float01 \
-mln_value_cast \
-mln_value_int_u \
-mln_value_int_s8 \
-mln_value_int_s16 \
-mln_value_int_u16 \
-mln_value_label \
-mln_value_rgb \
-mln_value_stack \
-mln_value_concept_integer \
-mln_value_concept_structured \
-mln_value_concept_built_in \
-mln_value_concept_all \
-mln_value_concept_scalar \
-mln_value_concept_data \
-mln_value_concept_floating \
-mln_value_concept_symbolic \
-mln_value_concept_vectorial \
-mln_value_concept_essential \
-mln_value_int_s \
-mln_value_rgb8 \
-mln_value_int_s32 \
-mln_value_float01_ \
-mln_value_rgb16 \
-mln_value_int_u32 \
-mln_value_gl8 \
-mln_value_label_8 \
-mln_value_essential \
-mln_accu_tuple \
-mln_accu_min_h \
-mln_accu_max \
-mln_accu_lor \
-mln_accu_rank \
-mln_accu_transform_stop \
-mln_accu_maj_h \
-mln_accu_min_max \
-mln_accu_internal_base \
-mln_accu_transform_snake \
-mln_accu_rank_high_quant \
-mln_accu_count \
-mln_accu_median_h \
-mln_accu_all \
-mln_accu_land_basic \
-mln_accu_p \
-mln_accu_transform \
-mln_accu_median_alt \
-mln_accu_volume \
-mln_accu_sum \
-mln_accu_height \
-mln_accu_land \
-mln_accu_take \
-mln_accu_histo \
-mln_accu_pair \
-mln_accu_count_adjacent_vertices \
-mln_accu_convolve \
-mln_accu_v \
-mln_accu_rank_bool \
-mln_accu_min \
-mln_accu_transform_directional \
-mln_accu_compute \
-mln_accu_mean \
-mln_accu_lor_basic \
-mln_accu_transform_diagonal \
-mln_accu_nil \
-mln_accu_bbox \
-mln_accu_center \
-mln_accu_line \
-mln_accu_essential \
-mln_accu_max_h \
-mln_level_compare \
-mln_level_memset_ \
-mln_level_transform_inplace \
-mln_level_replace \
-mln_level_memcpy_ \
-mln_level_apply \
-mln_level_approx_all \
-mln_level_approx_essential \
-mln_level_approx_median \
-mln_level_saturate \
-mln_level_all \
-mln_level_paste \
-mln_level_fast_median \
-mln_level_abs \
-mln_level_fill_with_image \
-mln_level_transform \
-mln_level_fill_with_value \
-mln_level_stretch \
-mln_level_was_median \
-mln_level_compute \
-mln_level_convert \
-mln_level_to_enc \
-mln_level_naive_all \
-mln_level_naive_essential \
-mln_level_naive_median \
-mln_level_sort_psites \
-mln_level_update \
-mln_level_fill \
-mln_level_essential \
-mln_level_assign \
-mln_level_median \
-mln_math_jacobi \
-mln_math_max \
-mln_math_sqr \
-mln_math_all \
-mln_math_sign \
-mln_math_abs \
-mln_math_diff_abs \
-mln_math_round \
-mln_math_min \
-mln_math_sqrt \
-mln_math_essential \
-mln_math_round_sat \
-mln_binarization_includes \
-mln_binarization_all \
-mln_binarization_binarization \
-mln_binarization_threshold \
-mln_binarization_essential \
-mln_trait_site_set_props \
-mln_trait_site_set_print \
-mln_trait_promote \
-mln_trait_solve_binary \
-mln_trait_value_ \
-mln_trait_all \
-mln_trait_value_all \
-mln_trait_value_nature \
-mln_trait_value_quant \
-mln_trait_value_kind \
-mln_trait_value_print \
-mln_trait_value_essential \
+mln_fun_p2p_mirror \
+mln_fun_p2b_essential \
+mln_fun_p2b_has \
+mln_fun_p2b_big_chess \
+mln_fun_p2b_all \
+mln_fun_p2b_chess \
+mln_extension_adjust \
+mln_extension_essential \
+mln_extension_fill \
+mln_extension_adjust_duplicate \
+mln_extension_adjust_fill \
+mln_extension_all \
+mln_extension_duplicate \
+mln_histo_data \
+mln_histo_essential \
+mln_histo_compute \
+mln_histo_all \
+mln_transform_distance_geodesic \
+mln_transform_essential \
+mln_transform_influence_zone_geodesic \
+mln_transform_distance_front \
+mln_transform_all \
+mln_transform_internal_distance_functor \
+mln_transform_internal_all \
+mln_transform_internal_influence_zone_functor \
+mln_transform_influence_zone_front \
+mln_trait_windows \
mln_trait_images \
-mln_trait_window_props \
-mln_trait_window_print \
-mln_trait_ch_value \
mln_trait_solve \
-mln_trait_solve_unary \
-mln_trait_op_postdec \
+mln_trait_window_print \
+mln_trait_window_props \
+mln_trait_image_from_grid \
+mln_trait_site_sets \
+mln_trait_solve_binary \
+mln_trait_value_ \
+mln_trait_promote \
+mln_trait_essential \
+mln_trait_concrete \
+mln_trait_op_ord \
+mln_trait_op_div \
mln_trait_op_mod \
-mln_trait_op_lor \
-mln_trait_op_neq \
-mln_trait_op_plus \
+mln_trait_op_not \
+mln_trait_op_or \
+mln_trait_op_and \
mln_trait_op_xor \
-mln_trait_op_all \
+mln_trait_op_essential \
+mln_trait_op_preinc \
+mln_trait_op_greater \
+mln_trait_op_predec \
+mln_trait_op_neq \
+mln_trait_op_postinc \
+mln_trait_op_uplus \
mln_trait_op_geq \
mln_trait_op_uminus \
-mln_trait_op_not \
-mln_trait_op_times \
+mln_trait_op_all \
+mln_trait_op_plus \
+mln_trait_op_eq \
+mln_trait_op_leq \
mln_trait_op_less \
-mln_trait_op_decl \
-mln_trait_op_ord \
-mln_trait_op_and \
-mln_trait_op_or \
-mln_trait_op_predec \
+mln_trait_op_postdec \
mln_trait_op_minus \
-mln_trait_op_div \
-mln_trait_op_leq \
-mln_trait_op_preinc \
-mln_trait_op_greater \
-mln_trait_op_postinc \
-mln_trait_op_uplus \
-mln_trait_op_essential \
-mln_trait_op_eq \
-mln_trait_concrete \
-mln_trait_windows \
-mln_trait_site_sets \
-mln_trait_image_from_grid \
+mln_trait_op_times \
+mln_trait_op_decl \
+mln_trait_op_lor \
+mln_trait_all \
mln_trait_undef \
-mln_trait_image_props \
mln_trait_image_print \
+mln_trait_image_props \
+mln_trait_solve_unary \
+mln_trait_site_set_print \
+mln_trait_site_set_props \
mln_trait_neighborhood \
-mln_trait_essential \
-mln_canvas_labeling \
-mln_canvas_browsing_hyper_directional \
-mln_canvas_browsing_snake_generic \
-mln_canvas_browsing_backdiagonal2d \
-mln_canvas_browsing_snake_vert \
-mln_canvas_browsing_snake_fwd \
-mln_canvas_browsing_all \
-mln_canvas_browsing_diagonal2d \
-mln_canvas_browsing_fwd \
-mln_canvas_browsing_dir_struct_elt_incr_update \
-mln_canvas_browsing_depth_first_search \
-mln_canvas_browsing_directional \
-mln_canvas_browsing_essential \
-mln_canvas_chamfer \
-mln_canvas_distance_geodesic \
-mln_canvas_all \
-mln_canvas_distance_front \
-mln_canvas_morpho_all \
-mln_canvas_morpho_algebraic_union_find \
-mln_canvas_morpho_essential \
-mln_canvas_essential \
-mln_metal_is_const \
-mln_metal_none \
-mln_metal_equal \
-mln_metal_unptr \
-mln_metal_not_equal \
-mln_metal_is_ref \
-mln_metal_ret \
-mln_metal_unqualif \
-mln_metal_is_not \
-mln_metal_vec \
-mln_metal_is \
-mln_metal_bool \
-mln_metal_all \
-mln_metal_math_pow \
-mln_metal_math_max \
-mln_metal_math_all \
-mln_metal_math_root \
-mln_metal_math_sqrt \
-mln_metal_mat \
-mln_metal_is_not_const \
-mln_metal_fix_return \
-mln_metal_ands \
-mln_metal_const \
-mln_metal_is_unqualif \
-mln_metal_unconst \
-mln_metal_bexpr \
-mln_metal_array2d \
-mln_metal_is_not_a \
-mln_metal_is_a \
-mln_metal_array1d \
-mln_metal_if \
-mln_metal_unref \
-mln_metal_array \
-mln_metal_ref \
-mln_metal_same_point \
-mln_metal_int \
-mln_metal_abort \
-mln_metal_same_coord \
-mln_metal_templated_by \
-mln_metal_has_neighborhood \
-mln_metal_goes_to \
-mln_metal_is_not_ref \
-mln_metal_converts_to \
-mln_metal_essential \
-mln_metal_array3d \
-mln_algebra_vec \
-mln_algebra_all \
-mln_algebra_h_vec \
-mln_algebra_mat \
-mln_algebra_h_mat \
-mln_algebra_quat \
-mln_algebra_essential \
-mln_linear_convolve_2x1d \
-mln_linear_all \
-mln_linear_ch_convolve \
-mln_linear_gaussian \
-mln_linear_convolve \
-mln_linear_sobel_2d \
-mln_linear_local_convolve \
-mln_linear_lap \
-mln_linear_convolve_directional \
-mln_linear_log \
-mln_linear_essential \
-mln_morpho_thinning \
-mln_morpho_meyer_wst \
-mln_morpho_opening \
-mln_morpho_includes \
-mln_morpho_elementary_opening \
-mln_morpho_elementary_gradient_internal \
-mln_morpho_elementary_dilation \
-mln_morpho_elementary_laplacian \
-mln_morpho_elementary_all \
-mln_morpho_elementary_gradient_external \
-mln_morpho_elementary_like_ero_fun \
-mln_morpho_elementary_gradient \
-mln_morpho_elementary_like_ero_set \
-mln_morpho_elementary_closing \
-mln_morpho_elementary_top_hat \
-mln_morpho_elementary_erosion \
-mln_morpho_elementary_essential \
-mln_morpho_thin_fit \
-mln_morpho_skeleton_constrained \
-mln_morpho_complementation \
-mln_morpho_line_gradient \
-mln_morpho_hit_or_miss \
-mln_morpho_closing_height \
-mln_morpho_plus \
-mln_morpho_general \
-mln_morpho_internal_elementary \
-mln_morpho_contrast \
-mln_morpho_opening_area \
-mln_morpho_opening_height \
-mln_morpho_thickening \
-mln_morpho_dilation \
-mln_morpho_laplacian \
-mln_morpho_all \
-mln_morpho_opening_attribute \
-mln_morpho_opening_volume \
-mln_morpho_closing_area_on_vertices \
-mln_morpho_closing_volume \
-mln_morpho_minus \
-mln_morpho_gradient \
-mln_morpho_tree_max \
-mln_morpho_tree_compute_parent \
-mln_morpho_tree_all \
-mln_morpho_tree_utils \
-mln_morpho_tree_data \
-mln_morpho_tree_compute_attribute_image \
-mln_morpho_opening_area_on_vertices \
-mln_morpho_min \
-mln_morpho_closing \
-mln_morpho_top_hat \
-mln_morpho_erosion \
-mln_morpho_Rd \
-mln_morpho_closing_area \
-mln_morpho_thick_miss \
-mln_morpho_closing_attribute \
-mln_morpho_rank_filter \
-mln_morpho_essential \
-mln_topo_n_face_iter \
-mln_topo_face_iter \
-mln_topo_is_simple_2d \
-mln_topo_centered_iter_adapter \
-mln_topo_internal_complex_set_iterator_base \
-mln_topo_internal_complex_iterator_base \
-mln_topo_internal_complex_relative_iterator_base \
-mln_topo_internal_complex_relative_iterator_sequence \
-mln_topo_algebraic_n_face \
-mln_topo_attic_faces_iter \
-mln_topo_adj_lower_dim_connected_n_face_iter \
-mln_topo_n_face \
-mln_topo_adj_lower_higher_face_iter \
-mln_topo_all \
-mln_topo_face_data \
-mln_topo_static_n_face_iter \
-mln_topo_face \
-mln_topo_adj_m_face_iter \
-mln_topo_complex \
-mln_topo_adj_higher_face_iter \
-mln_topo_adj_lower_face_iter \
-mln_topo_complex_iterators \
-mln_topo_center_only_iter \
-mln_topo_adj_higher_dim_connected_n_face_iter \
-mln_topo_algebraic_face \
-mln_topo_n_faces_set \
-mln_topo_essential \
-mln_essential_1d \
-mln_essential_routine \
-mln_essential_3d \
-mln_essential_2d \
-mln_win_inter \
-mln_win_backdiag2d \
-mln_win_segment1d \
+mln_trait_ch_value \
+mln_trait_value_print \
+mln_trait_value_nature \
+mln_trait_value_kind \
+mln_trait_value_quant \
+mln_trait_value_essential \
+mln_trait_value_all \
+mln_win_disk2d \
mln_win_cuboid3d \
-mln_win_vline2d \
+mln_win_segment1d \
mln_win_octagon2d \
-mln_win_all \
-mln_win_multiple_size \
-mln_win_cube3d \
+mln_win_backdiag2d \
+mln_win_diag2d \
+mln_win_vline2d \
+mln_win_essential \
mln_win_shift \
mln_win_sym \
+mln_win_hline2d \
+mln_win_inter \
+mln_win_all \
mln_win_diff \
-mln_win_multiple \
-mln_win_diag2d \
-mln_win_disk2d \
mln_win_rectangle2d \
-mln_win_hline2d \
+mln_win_multiple \
mln_win_line \
-mln_win_essential \
-mln_core_clock_neighb \
-mln_core_pixter2d \
+mln_win_multiple_size \
+mln_win_cube3d \
+mln_core_category \
+mln_core_pixter1d \
+mln_core_routine_init \
+mln_core_routine_essential \
+mln_core_routine_primary \
+mln_core_routine_clone \
+mln_core_routine_ops \
+mln_core_routine_all \
+mln_core_routine_initialize \
+mln_core_routine_extend \
+mln_core_routine_exact \
+mln_core_trait_qlf_value \
+mln_core_trait_op_mult \
+mln_core_trait_essential \
+mln_core_trait_pixter \
+mln_core_trait_all \
+mln_core_a_point_of \
+mln_core_def_coordf \
mln_core_def_low_quant_nbits \
+mln_core_def_essential \
mln_core_def_all \
-mln_core_def_coordf \
mln_core_def_coord \
-mln_core_def_essential \
-mln_core_site_set_box \
-mln_core_site_set_p_vertices \
-mln_core_site_set_p_vaccess \
-mln_core_site_set_p_if_piter \
-mln_core_site_set_p_run_piter \
-mln_core_site_set_p_key \
-mln_core_site_set_p_double \
-mln_core_site_set_p_complex_piter \
-mln_core_site_set_p_complex \
-mln_core_site_set_p_image \
-mln_core_site_set_attic_p_complex_faces_piter \
-mln_core_site_set_attic_p_faces_piter \
-mln_core_site_set_p_priority \
-mln_core_site_set_p_set_of \
-mln_core_site_set_all \
-mln_core_site_set_p_edges \
-mln_core_site_set_box_piter \
-mln_core_site_set_p_faces \
-mln_core_site_set_p_set \
-mln_core_site_set_p_queue \
-mln_core_site_set_p_if \
-mln_core_site_set_operators \
-mln_core_site_set_p_mutable_array_of \
-mln_core_site_set_p_edges_psite \
-mln_core_site_set_complex_psite \
-mln_core_site_set_p_run \
-mln_core_site_set_p_n_faces_piter \
-mln_core_site_set_p_centered \
-mln_core_site_set_p_bgraph \
-mln_core_site_set_p_bgraph_piter \
-mln_core_site_set_p_array \
-mln_core_site_set_p_vertices_psite \
-mln_core_site_set_p_line2d \
-mln_core_site_set_p_queue_fast \
-mln_core_site_set_p_graph_piter \
-mln_core_site_set_essential \
+mln_core_dpoints_pixter \
mln_core_dpsites_piter \
+mln_core_tags \
+mln_core_window \
+mln_core_pixter2d \
+mln_core_essential \
mln_core_w_window \
-mln_core_grids \
-mln_core_dpoints_pixter \
+mln_core_alias_point2d \
+mln_core_alias_box2d_h \
+mln_core_alias_box2d \
+mln_core_alias_point2d_h \
+mln_core_alias_neighb3d \
+mln_core_alias_window1d \
+mln_core_alias_point3df \
+mln_core_alias_w_window2d_int \
+mln_core_alias_point1d \
+mln_core_alias_w_window3d_float \
+mln_core_alias_w_window1d_int \
+mln_core_alias_dpoint2d_h \
+mln_core_alias_dpoint1d \
+mln_core_alias_complex_image \
+mln_core_alias_complex_geometry \
+mln_core_alias_p_run2d \
+mln_core_alias_w_window1d_float \
+mln_core_alias_w_window3d_int \
+mln_core_alias_box3d \
+mln_core_alias_neighb1d \
+mln_core_alias_neighb2d \
+mln_core_alias_w_window2d_float \
+mln_core_alias_window2d \
+mln_core_alias_window3d \
+mln_core_alias_point3d \
+mln_core_alias_dpoint3d \
+mln_core_alias_dpoint2d \
+mln_core_alias_box1d \
+mln_core_alias_p_runs2d \
+mln_core_point \
+mln_core_clock_neighb \
+mln_core_neighb \
+mln_core_dpoint \
+mln_core_var \
+mln_core_faces_psite \
+mln_core_contract \
+mln_core_macros \
+mln_core_all \
+mln_core_internal_image_primary \
+mln_core_internal_window_base \
mln_core_internal_graph_psite_base \
-mln_core_internal_run_image \
-mln_core_internal_pixel_impl \
-mln_core_internal_site_set_base \
-mln_core_internal_image_value_morpher \
-mln_core_internal_site_iterator_base \
-mln_core_internal_complex_neighborhood_base \
-mln_core_internal_site_relative_iterator_base \
+mln_core_internal_data \
mln_core_internal_site_set_impl \
-mln_core_internal_exact \
+mln_core_internal_piter_adaptor \
+mln_core_internal_image_morpher \
+mln_core_internal_image_value_morpher \
+mln_core_internal_complex_window_p_base \
mln_core_internal_p_complex_piter_base \
+mln_core_internal_site_set_base \
mln_core_internal_neighb_niter_impl \
-mln_core_internal_pixel_iterator_base \
-mln_core_internal_classical_window_base \
-mln_core_internal_data \
-mln_core_internal_force_exact \
-mln_core_internal_image_base \
+mln_core_internal_site_set_iterator_base \
+mln_core_internal_set_of \
mln_core_internal_check_image_fastest \
mln_core_internal_check_image_all \
+mln_core_internal_classical_window_base \
+mln_core_internal_force_exact \
+mln_core_internal_pixel_iterator_base \
+mln_core_internal_coord_impl \
+mln_core_internal_pixel_impl \
+mln_core_internal_site_iterator_base \
+mln_core_internal_run_image \
mln_core_internal_fixme \
+mln_core_internal_pseudo_site_base \
mln_core_internal_morpher_lvalue \
mln_core_internal_image_domain_morpher \
-mln_core_internal_image_primary \
-mln_core_internal_set_of \
-mln_core_internal_complex_window_p_base \
+mln_core_internal_complex_neighborhood_base \
mln_core_internal_graph_window_base \
-mln_core_internal_piter_adaptor \
+mln_core_internal_image_identity \
+mln_core_internal_geom_bbox \
mln_core_internal_weighted_window_base \
mln_core_internal_neighborhood_base \
-mln_core_internal_image_morpher \
-mln_core_internal_coord_impl \
-mln_core_internal_geom_bbox \
-mln_core_internal_image_identity \
-mln_core_internal_pseudo_site_base \
-mln_core_internal_window_base \
+mln_core_internal_site_relative_iterator_base \
+mln_core_internal_exact \
mln_core_internal_box_impl \
-mln_core_internal_site_set_iterator_base \
-mln_core_contract \
-mln_core_all \
-mln_core_point \
-mln_core_neighb \
-mln_core_routine_initialize \
-mln_core_routine_primary \
-mln_core_routine_init \
-mln_core_routine_ops \
-mln_core_routine_all \
-mln_core_routine_clone \
-mln_core_routine_exact \
-mln_core_routine_extend \
-mln_core_routine_essential \
-mln_core_trait_op_mult \
-mln_core_trait_all \
-mln_core_trait_pixter \
-mln_core_trait_qlf_value \
-mln_core_trait_essential \
-mln_core_pixter1d \
-mln_core_category \
-mln_core_macros \
-mln_core_box_runstart_piter \
-mln_core_tags \
-mln_core_dpoint \
-mln_core_alias_dpoint2d_h \
-mln_core_alias_p_run2d \
-mln_core_alias_point3d \
-mln_core_alias_neighb3d \
-mln_core_alias_window3d \
-mln_core_alias_neighb2d \
-mln_core_alias_complex_image \
-mln_core_alias_w_window1d_float \
-mln_core_alias_neighb1d \
-mln_core_alias_w_window2d_float \
-mln_core_alias_w_window2d_int \
-mln_core_alias_box1d \
-mln_core_alias_box2d \
-mln_core_alias_window1d \
-mln_core_alias_point1d \
-mln_core_alias_box3d \
-mln_core_alias_dpoint3d \
-mln_core_alias_complex_geometry \
-mln_core_alias_w_window3d_float \
-mln_core_alias_box2d_h \
-mln_core_alias_point2d \
-mln_core_alias_window2d \
-mln_core_alias_p_runs2d \
-mln_core_alias_point3df \
-mln_core_alias_dpoint1d \
-mln_core_alias_w_window3d_int \
-mln_core_alias_dpoint2d \
-mln_core_alias_w_window1d_int \
-mln_core_alias_point2d_h \
-mln_core_window \
-mln_core_concept_site_proxy \
-mln_core_concept_point_site \
-mln_core_concept_box \
-mln_core_concept_generalized_pixel \
-mln_core_concept_graph \
-mln_core_concept_iterator \
-mln_core_concept_doc_point_site \
-mln_core_concept_doc_box \
-mln_core_concept_doc_generalized_pixel \
-mln_core_concept_doc_iterator \
-mln_core_concept_doc_image_fastest \
-mln_core_concept_doc_image \
-mln_core_concept_doc_value_set \
-mln_core_concept_doc_weighted_window \
-mln_core_concept_doc_pixel_iterator \
-mln_core_concept_doc_value_iterator \
-mln_core_concept_doc_dpoint \
-mln_core_concept_doc_window \
-mln_core_concept_doc_accumulator \
-mln_core_concept_doc_site_set \
-mln_core_concept_doc_object \
-mln_core_concept_doc_neighborhood \
-mln_core_concept_doc_point_iterator \
-mln_core_concept_pseudo_site \
-mln_core_concept_image \
-mln_core_concept_value_set \
-mln_core_concept_proxy \
-mln_core_concept_site \
-mln_core_concept_weighted_window \
-mln_core_concept_all \
-mln_core_concept_gpoint \
-mln_core_concept_site_iterator \
-mln_core_concept_point \
-mln_core_concept_literal \
-mln_core_concept_pixel_iterator \
-mln_core_concept_value_iterator \
-mln_core_concept_meta_accumulator \
-mln_core_concept_gdpoint \
-mln_core_concept_regular_grid \
-mln_core_concept_mesh \
-mln_core_concept_dpoint \
-mln_core_concept_function \
-mln_core_concept_window \
-mln_core_concept_value \
-mln_core_concept_accumulator \
-mln_core_concept_site_set \
-mln_core_concept_object \
-mln_core_concept_delta_point_site \
-mln_core_concept_neighborhood \
-mln_core_concept_browsing \
-mln_core_pixel \
+mln_core_internal_image_base \
mln_core_clock_neighb2d \
-mln_core_pixter3d \
mln_core_image_obased_rle_encode \
mln_core_image_plain \
-mln_core_image_graph_image \
-mln_core_image_image3d \
mln_core_image_decorated_image \
-mln_core_image_extension_ima \
-mln_core_image_flat_image \
+mln_core_image_graph_image \
mln_core_image_complex_neighborhood_piter \
-mln_core_image_tr_mesh \
-mln_core_image_graph_elt_window \
-mln_core_image_obased_rle_image \
-mln_core_image_mono_obased_rle_image \
-mln_core_image_interpolated \
-mln_core_image_lazy_image \
-mln_core_image_t_image \
+mln_core_image_graph_window_piter \
mln_core_image_hexa_piter \
-mln_core_image_value_enc_image \
-mln_core_image_sub_image_if \
-mln_core_image_all \
-mln_core_image_mono_rle_image \
-mln_core_image_complex_image \
-mln_core_image_cast_image \
mln_core_image_rle_encode \
-mln_core_image_complex_window_piter \
+mln_core_image_extension_val \
mln_core_image_tr_image \
-mln_core_image_sub_image \
-mln_core_image_rle_image \
-mln_core_image_line_graph_elt_window \
-mln_core_image_mono_rle_encode \
-mln_core_image_bgraph_psite \
-mln_core_image_sparse_image \
-mln_core_image_bgraph_image \
-mln_core_image_complex_neighborhoods \
-mln_core_image_graph_window_piter \
+mln_core_image_fi_adaptor \
+mln_core_image_extension_ima \
mln_core_image_sparse_encode \
-mln_core_image_safe \
-mln_core_image_extension_fun \
-mln_core_image_image1d \
-mln_core_image_extension_val \
-mln_core_image_image_if \
+mln_core_image_lazy_image \
mln_core_image_hexa \
-mln_core_image_extended \
+mln_core_image_flat_image \
+mln_core_image_essential \
+mln_core_image_value_enc_image \
+mln_core_image_image_if \
+mln_core_image_complex_image \
mln_core_image_image2d_h \
+mln_core_image_rle_image \
+mln_core_image_complex_window_piter \
+mln_core_image_mono_rle_image \
+mln_core_image_graph_elt_window \
+mln_core_image_interpolated \
+mln_core_image_image1d \
+mln_core_image_value_encode \
+mln_core_image_mono_obased_rle_image \
+mln_core_image_t_image \
mln_core_image_image2d \
-mln_core_image_ch_piter \
+mln_core_image_cast_image \
+mln_core_image_obased_rle_image \
+mln_core_image_all \
mln_core_image_complex_windows \
-mln_core_image_fi_adaptor \
+mln_core_image_safe \
+mln_core_image_extended \
+mln_core_image_sparse_image \
+mln_core_image_bgraph_image \
+mln_core_image_image3d \
+mln_core_image_bgraph_psite \
+mln_core_image_sub_image_if \
+mln_core_image_line_graph_elt_window \
+mln_core_image_tr_mesh \
+mln_core_image_sub_image \
+mln_core_image_ch_piter \
+mln_core_image_extension_fun \
mln_core_image_mono_obased_rle_encode \
mln_core_image_line_graph_image \
-mln_core_image_value_encode \
-mln_core_image_essential \
-mln_core_a_point_of \
-mln_core_var \
-mln_core_essential \
-mln_core_faces_psite \
-mln_labeling_blobs \
-mln_labeling_background \
-mln_labeling_relabel \
-mln_labeling_all \
-mln_labeling_level \
-mln_labeling_flat_zones \
-mln_labeling_foreground \
-mln_labeling_regional_maxima \
-mln_labeling_compute \
-mln_labeling_regional_minima \
-mln_labeling_essential \
-mln_test_predicate \
-mln_test_all \
-mln_test_positive \
-mln_test_essential \
-mln_transform_distance_geodesic \
-mln_transform_internal_all \
-mln_transform_internal_distance_functor \
-mln_transform_internal_influence_zone_functor \
-mln_transform_all \
-mln_transform_influence_zone_front \
-mln_transform_distance_front \
-mln_transform_influence_zone_geodesic \
-mln_transform_essential \
-mln_arith_includes \
-mln_arith_plus \
-mln_arith_all \
-mln_arith_times \
-mln_arith_diff_abs \
-mln_arith_minus \
-mln_arith_min \
-mln_arith_revert \
-mln_arith_essential \
-mln_io_pgm_load \
-mln_io_pgm_all \
-mln_io_pgm_save \
-mln_io_ppm_load \
-mln_io_ppm_all \
-mln_io_ppm_save \
-mln_io_pfm_load \
+mln_core_image_mono_rle_encode \
+mln_core_image_complex_neighborhoods \
+mln_core_pixter3d \
+mln_core_concept_site \
+mln_core_concept_value \
+mln_core_concept_gdpoint \
+mln_core_concept_pseudo_site \
+mln_core_concept_delta_point_site \
+mln_core_concept_site_set \
+mln_core_concept_value_set \
+mln_core_concept_gpoint \
+mln_core_concept_site_proxy \
+mln_core_concept_window \
+mln_core_concept_mesh \
+mln_core_concept_box \
+mln_core_concept_graph \
+mln_core_concept_point \
+mln_core_concept_value_iterator \
+mln_core_concept_doc_site_set \
+mln_core_concept_doc_image_fastest \
+mln_core_concept_doc_value_set \
+mln_core_concept_doc_window \
+mln_core_concept_doc_box \
+mln_core_concept_doc_value_iterator \
+mln_core_concept_doc_weighted_window \
+mln_core_concept_doc_image \
+mln_core_concept_doc_dpoint \
+mln_core_concept_doc_iterator \
+mln_core_concept_doc_accumulator \
+mln_core_concept_doc_neighborhood \
+mln_core_concept_doc_pixel_iterator \
+mln_core_concept_doc_point_iterator \
+mln_core_concept_doc_object \
+mln_core_concept_doc_generalized_pixel \
+mln_core_concept_doc_point_site \
+mln_core_concept_weighted_window \
+mln_core_concept_image \
+mln_core_concept_function \
+mln_core_concept_browsing \
+mln_core_concept_dpoint \
+mln_core_concept_iterator \
+mln_core_concept_meta_accumulator \
+mln_core_concept_accumulator \
+mln_core_concept_all \
+mln_core_concept_proxy \
+mln_core_concept_neighborhood \
+mln_core_concept_pixel_iterator \
+mln_core_concept_literal \
+mln_core_concept_site_iterator \
+mln_core_concept_regular_grid \
+mln_core_concept_object \
+mln_core_concept_generalized_pixel \
+mln_core_concept_point_site \
+mln_core_site_set_p_array \
+mln_core_site_set_p_priority \
+mln_core_site_set_p_bgraph \
+mln_core_site_set_p_queue \
+mln_core_site_set_p_double \
+mln_core_site_set_p_set \
+mln_core_site_set_p_complex \
+mln_core_site_set_p_graph_piter \
+mln_core_site_set_p_n_faces_piter \
+mln_core_site_set_p_set_of \
+mln_core_site_set_p_vaccess \
+mln_core_site_set_box_piter \
+mln_core_site_set_p_vertices_psite \
+mln_core_site_set_complex_psite \
+mln_core_site_set_p_run \
+mln_core_site_set_essential \
+mln_core_site_set_box \
+mln_core_site_set_p_line2d \
+mln_core_site_set_p_edges_psite \
+mln_core_site_set_p_mutable_array_of \
+mln_core_site_set_p_run_piter \
+mln_core_site_set_p_faces \
+mln_core_site_set_operators \
+mln_core_site_set_p_if_piter \
+mln_core_site_set_all \
+mln_core_site_set_p_edges \
+mln_core_site_set_p_bgraph_piter \
+mln_core_site_set_p_centered \
+mln_core_site_set_p_key \
+mln_core_site_set_p_vertices \
+mln_core_site_set_p_if \
+mln_core_site_set_p_queue_fast \
+mln_core_site_set_p_image \
+mln_core_site_set_p_complex_piter \
+mln_core_site_set_attic_p_faces_piter \
+mln_core_site_set_attic_p_complex_faces_piter \
+mln_core_pixel \
+mln_core_box_runstart_piter \
+mln_core_grids \
+mln_io_abort \
+mln_io_pbm_all \
+mln_io_pbm_load \
+mln_io_pbm_save \
+mln_io_essential \
+mln_io_off_all \
+mln_io_off_load \
+mln_io_off_save \
mln_io_pfm_all \
+mln_io_pfm_load \
mln_io_pfm_save \
+mln_io_pgm_all \
+mln_io_pgm_load \
+mln_io_pgm_save \
mln_io_all \
-mln_io_pbm_load \
-mln_io_pbm_all \
-mln_io_pbm_save \
+mln_io_fits_all \
+mln_io_fits_load \
mln_io_pnm_max_component \
+mln_io_pnm_save_header \
+mln_io_pnm_macros \
+mln_io_pnm_all \
mln_io_pnm_load \
mln_io_pnm_load_header \
-mln_io_pnm_all \
-mln_io_pnm_macros \
mln_io_pnm_save \
-mln_io_pnm_save_header \
+mln_io_ppm_all \
+mln_io_ppm_load \
+mln_io_ppm_save \
mln_io_txt_all \
mln_io_txt_save \
-mln_io_abort \
-mln_io_fits_load \
-mln_io_fits_all \
-mln_io_off_load \
-mln_io_off_all \
-mln_io_off_save \
-mln_io_essential \
-mln_logical_includes \
-mln_logical_and_not \
-mln_logical_xor \
-mln_logical_all \
-mln_logical_not \
-mln_logical_and \
-mln_logical_or \
-mln_logical_essential \
-mln_norm_all \
-mln_norm_l1 \
-mln_norm_l2 \
-mln_norm_linfty \
-mln_norm_essential \
-mln_debug_iota \
-mln_debug_all \
-mln_debug_println_with_border \
-mln_debug_colorize \
-mln_debug_draw_graph \
-mln_debug_put_word \
-mln_debug_format \
-mln_debug_println \
-mln_debug_essential \
-mln_estim_min_max \
-mln_estim_all \
-mln_estim_sum \
-mln_estim_mean \
-mln_estim_essential \
-mln_set_uni \
-mln_set_inter \
-mln_set_all \
-mln_set_get \
-mln_set_sym_diff \
-mln_set_has \
-mln_set_diff \
-mln_set_compute \
-mln_set_essential \
+mln_make_vec \
+mln_make_box2d_h \
+mln_make_box2d \
+mln_make_point2d_h \
+mln_make_double_neighb2d \
+mln_make_w_window2d_int \
+mln_make_w_window1d \
+mln_make_relabelfun \
+mln_make_pix \
+mln_make_w_window1d_int \
+mln_make_dpoint2d_h \
+mln_make_essential \
+mln_make_graph \
+mln_make_w_window \
+mln_make_image \
+mln_make_w_window3d_int \
+mln_make_box3d \
+mln_make_image2d \
+mln_make_all \
+mln_make_dual_neighb \
+mln_make_win_chamfer \
+mln_make_pixel \
+mln_make_w_window2d \
+mln_make_w_window_directional \
+mln_make_box1d \
+mln_make_mat \
+mln_make_voronoi \
+mln_make_w_window3d \
+mln_topo_adj_lower_face_iter \
+mln_topo_adj_lower_dim_connected_n_face_iter \
+mln_topo_face_iter \
+mln_topo_algebraic_n_face \
+mln_topo_complex \
+mln_topo_face_data \
+mln_topo_adj_higher_dim_connected_n_face_iter \
+mln_topo_essential \
+mln_topo_static_n_face_iter \
+mln_topo_n_faces_set \
+mln_topo_adj_higher_face_iter \
+mln_topo_all \
+mln_topo_internal_complex_iterator_base \
+mln_topo_internal_complex_relative_iterator_sequence \
+mln_topo_internal_complex_relative_iterator_base \
+mln_topo_internal_complex_set_iterator_base \
+mln_topo_adj_m_face_iter \
+mln_topo_n_face \
+mln_topo_complex_iterators \
+mln_topo_adj_lower_higher_face_iter \
+mln_topo_is_simple_2d \
+mln_topo_face \
+mln_topo_center_only_iter \
+mln_topo_centered_iter_adapter \
+mln_topo_algebraic_face \
+mln_topo_n_face_iter \
+mln_topo_attic_faces_iter \
+mln_subsampling_essential \
+mln_subsampling_subsampling \
+mln_subsampling_all \
+mln_subsampling_gaussian_subsampling \
+mln_canvas_distance_geodesic \
+mln_canvas_labeling \
+mln_canvas_essential \
+mln_canvas_distance_front \
+mln_canvas_morpho_algebraic_union_find \
+mln_canvas_morpho_essential \
+mln_canvas_morpho_all \
+mln_canvas_all \
+mln_canvas_chamfer \
+mln_canvas_browsing_directional \
+mln_canvas_browsing_fwd \
+mln_canvas_browsing_essential \
+mln_canvas_browsing_snake_vert \
+mln_canvas_browsing_snake_fwd \
+mln_canvas_browsing_backdiagonal2d \
+mln_canvas_browsing_snake_generic \
+mln_canvas_browsing_all \
+mln_canvas_browsing_hyper_directional \
+mln_canvas_browsing_depth_first_search \
+mln_canvas_browsing_dir_struct_elt_incr_update \
+mln_canvas_browsing_diagonal2d \
+mln_estim_mean \
+mln_estim_essential \
+mln_estim_all \
+mln_estim_min_max \
+mln_estim_sum \
+mln_arith_essential \
+mln_arith_includes \
+mln_arith_all \
+mln_arith_plus \
+mln_arith_min \
+mln_arith_minus \
+mln_arith_revert \
+mln_arith_times \
+mln_arith_diff_abs \
+mln_algebra_vec \
+mln_algebra_h_mat \
+mln_algebra_quat \
+mln_algebra_essential \
+mln_algebra_all \
+mln_algebra_h_vec \
+mln_algebra_mat \
+mln_display_essential \
+mln_display_all \
+mln_test_positive \
+mln_test_essential \
+mln_test_all \
+mln_test_predicate \
+mln_border_mirror \
mln_border_adjust \
-mln_border_duplicate \
mln_border_find \
-mln_border_thickness \
-mln_border_all \
-mln_border_mirror \
-mln_border_get \
+mln_border_essential \
mln_border_equalize \
-mln_border_resize \
mln_border_fill \
-mln_border_essential \
-mln_subsampling_gaussian_subsampling \
-mln_subsampling_all \
-mln_subsampling_subsampling \
-mln_subsampling_essential
-
-mln_histo_all_SOURCES = mln_histo_all.cc
-mln_histo_data_SOURCES = mln_histo_data.cc
-mln_histo_compute_SOURCES = mln_histo_compute.cc
-mln_histo_essential_SOURCES = mln_histo_essential.cc
-mln_geom_pmin_pmax_SOURCES = mln_geom_pmin_pmax.cc
-mln_geom_max_row_SOURCES = mln_geom_max_row.cc
-mln_geom_chamfer_SOURCES = mln_geom_chamfer.cc
-mln_geom_min_row_SOURCES = mln_geom_min_row.cc
-mln_geom_seeds2tiling_SOURCES = mln_geom_seeds2tiling.cc
-mln_geom_size1d_SOURCES = mln_geom_size1d.cc
-mln_geom_all_SOURCES = mln_geom_all.cc
-mln_geom_size2d_SOURCES = mln_geom_size2d.cc
-mln_geom_max_ind_SOURCES = mln_geom_max_ind.cc
-mln_geom_max_col_SOURCES = mln_geom_max_col.cc
-mln_geom_size3d_SOURCES = mln_geom_size3d.cc
-mln_geom_ninds_SOURCES = mln_geom_ninds.cc
-mln_geom_nslis_SOURCES = mln_geom_nslis.cc
-mln_geom_delta_SOURCES = mln_geom_delta.cc
-mln_geom_resize_SOURCES = mln_geom_resize.cc
-mln_geom_nsites_SOURCES = mln_geom_nsites.cc
-mln_geom_min_col_SOURCES = mln_geom_min_col.cc
-mln_geom_complex_geometry_SOURCES = mln_geom_complex_geometry.cc
-mln_geom_ncols_SOURCES = mln_geom_ncols.cc
-mln_geom_nrows_SOURCES = mln_geom_nrows.cc
-mln_geom_min_ind_SOURCES = mln_geom_min_ind.cc
-mln_geom_bbox_SOURCES = mln_geom_bbox.cc
-mln_geom_seeds2tiling_roundness_SOURCES = mln_geom_seeds2tiling_roundness.cc
-mln_geom_min_sli_SOURCES = mln_geom_min_sli.cc
-mln_geom_essential_SOURCES = mln_geom_essential.cc
-mln_geom_max_sli_SOURCES = mln_geom_max_sli.cc
-mln_draw_box_SOURCES = mln_draw_box.cc
-mln_draw_all_SOURCES = mln_draw_all.cc
-mln_draw_plot_SOURCES = mln_draw_plot.cc
-mln_draw_line_SOURCES = mln_draw_line.cc
-mln_draw_essential_SOURCES = mln_draw_essential.cc
-mln_pw_image_SOURCES = mln_pw_image.cc
-mln_pw_all_SOURCES = mln_pw_all.cc
-mln_pw_value_SOURCES = mln_pw_value.cc
-mln_pw_cst_SOURCES = mln_pw_cst.cc
-mln_pw_var_SOURCES = mln_pw_var.cc
-mln_pw_essential_SOURCES = mln_pw_essential.cc
-mln_literal_zero_SOURCES = mln_literal_zero.cc
-mln_literal_ops_SOURCES = mln_literal_ops.cc
-mln_literal_origin_SOURCES = mln_literal_origin.cc
-mln_literal_grays_SOURCES = mln_literal_grays.cc
-mln_literal_all_SOURCES = mln_literal_all.cc
-mln_literal_colors_SOURCES = mln_literal_colors.cc
-mln_literal_black_SOURCES = mln_literal_black.cc
-mln_literal_one_SOURCES = mln_literal_one.cc
-mln_literal_white_SOURCES = mln_literal_white.cc
-mln_literal_essential_SOURCES = mln_literal_essential.cc
-mln_registration_get_rtransf_SOURCES = mln_registration_get_rtransf.cc
-mln_registration_internal_rms_SOURCES = mln_registration_internal_rms.cc
-mln_registration_get_rot_SOURCES = mln_registration_get_rot.cc
-mln_registration_all_SOURCES = mln_registration_all.cc
-mln_registration_multiscale_SOURCES = mln_registration_multiscale.cc
-mln_registration_registration_SOURCES = mln_registration_registration.cc
-mln_registration_essential_SOURCES = mln_registration_essential.cc
-mln_registration_icp_SOURCES = mln_registration_icp.cc
-mln_util_graph_SOURCES = mln_util_graph.cc
-mln_util_max_SOURCES = mln_util_max.cc
-mln_util_lazy_set_SOURCES = mln_util_lazy_set.cc
-mln_util_set_SOURCES = mln_util_set.cc
-mln_util_tree_to_image_SOURCES = mln_util_tree_to_image.cc
-mln_util_lemmings_SOURCES = mln_util_lemmings.cc
-mln_util_greater_point_SOURCES = mln_util_greater_point.cc
-mln_util_internal_graph_iter_base_SOURCES = mln_util_internal_graph_iter_base.cc
-mln_util_internal_boost_graph_access_SOURCES = mln_util_internal_boost_graph_access.cc
-mln_util_internal_boost_graph_structure_SOURCES = mln_util_internal_boost_graph_structure.cc
-mln_util_internal_graph_iter_SOURCES = mln_util_internal_graph_iter.cc
-mln_util_internal_graph_nbh_iter_SOURCES = mln_util_internal_graph_nbh_iter.cc
-mln_util_internal_vertex_impl_SOURCES = mln_util_internal_vertex_impl.cc
-mln_util_internal_edge_impl_SOURCES = mln_util_internal_edge_impl.cc
-mln_util_internal_graph_base_SOURCES = mln_util_internal_graph_base.cc
-mln_util_internal_boost_graph_SOURCES = mln_util_internal_boost_graph.cc
-mln_util_internal_graph_nbh_iter_base_SOURCES = mln_util_internal_graph_nbh_iter_base.cc
-mln_util_internal_boost_graph_property_SOURCES = mln_util_internal_boost_graph_property.cc
-mln_util_ord_pair_SOURCES = mln_util_ord_pair.cc
-mln_util_edge_SOURCES = mln_util_edge.cc
-mln_util_all_SOURCES = mln_util_all.cc
-mln_util_dindex_SOURCES = mln_util_dindex.cc
-mln_util_tracked_ptr_SOURCES = mln_util_tracked_ptr.cc
-mln_util_ignore_SOURCES = mln_util_ignore.cc
-mln_util_greater_psite_SOURCES = mln_util_greater_psite.cc
-mln_util_timer_SOURCES = mln_util_timer.cc
-mln_util_yes_SOURCES = mln_util_yes.cc
-mln_util_line_graph_SOURCES = mln_util_line_graph.cc
-mln_util_ord_SOURCES = mln_util_ord.cc
-mln_util_tree_fast_to_image_SOURCES = mln_util_tree_fast_to_image.cc
-mln_util_tree_SOURCES = mln_util_tree.cc
-mln_util_index_SOURCES = mln_util_index.cc
-mln_util_multi_site_SOURCES = mln_util_multi_site.cc
-mln_util_branch_iter_SOURCES = mln_util_branch_iter.cc
-mln_util_branch_iter_ind_SOURCES = mln_util_branch_iter_ind.cc
-mln_util_tree_to_fast_SOURCES = mln_util_tree_to_fast.cc
-mln_util_array_SOURCES = mln_util_array.cc
-mln_util_vertex_SOURCES = mln_util_vertex.cc
-mln_util_pix_SOURCES = mln_util_pix.cc
-mln_util_tree_fast_SOURCES = mln_util_tree_fast.cc
-mln_util_site_pair_SOURCES = mln_util_site_pair.cc
-mln_util_nil_SOURCES = mln_util_nil.cc
-mln_util_eat_SOURCES = mln_util_eat.cc
-mln_util_essential_SOURCES = mln_util_essential.cc
-mln_tag_init_SOURCES = mln_tag_init.cc
-mln_tag_skeleton_SOURCES = mln_tag_skeleton.cc
-mln_tag_all_SOURCES = mln_tag_all.cc
-mln_tag_essential_SOURCES = mln_tag_essential.cc
-mln_trace_entering_SOURCES = mln_trace_entering.cc
-mln_trace_all_SOURCES = mln_trace_all.cc
-mln_trace_warning_SOURCES = mln_trace_warning.cc
-mln_trace_exiting_SOURCES = mln_trace_exiting.cc
-mln_trace_resume_SOURCES = mln_trace_resume.cc
-mln_trace_quiet_SOURCES = mln_trace_quiet.cc
-mln_trace_stop_SOURCES = mln_trace_stop.cc
-mln_trace_essential_SOURCES = mln_trace_essential.cc
-mln_make_graph_SOURCES = mln_make_graph.cc
-mln_make_double_neighb2d_SOURCES = mln_make_double_neighb2d.cc
-mln_make_dpoint2d_h_SOURCES = mln_make_dpoint2d_h.cc
-mln_make_w_window_SOURCES = mln_make_w_window.cc
-mln_make_image_SOURCES = mln_make_image.cc
-mln_make_vec_SOURCES = mln_make_vec.cc
-mln_make_all_SOURCES = mln_make_all.cc
-mln_make_dual_neighb_SOURCES = mln_make_dual_neighb.cc
-mln_make_w_window3d_SOURCES = mln_make_w_window3d.cc
-mln_make_mat_SOURCES = mln_make_mat.cc
-mln_make_win_chamfer_SOURCES = mln_make_win_chamfer.cc
-mln_make_w_window2d_int_SOURCES = mln_make_w_window2d_int.cc
-mln_make_box1d_SOURCES = mln_make_box1d.cc
-mln_make_voronoi_SOURCES = mln_make_voronoi.cc
-mln_make_box2d_SOURCES = mln_make_box2d.cc
-mln_make_w_window2d_SOURCES = mln_make_w_window2d.cc
-mln_make_box3d_SOURCES = mln_make_box3d.cc
-mln_make_relabelfun_SOURCES = mln_make_relabelfun.cc
-mln_make_pixel_SOURCES = mln_make_pixel.cc
-mln_make_pix_SOURCES = mln_make_pix.cc
-mln_make_box2d_h_SOURCES = mln_make_box2d_h.cc
-mln_make_w_window1d_SOURCES = mln_make_w_window1d.cc
-mln_make_image2d_SOURCES = mln_make_image2d.cc
-mln_make_w_window_directional_SOURCES = mln_make_w_window_directional.cc
-mln_make_w_window3d_int_SOURCES = mln_make_w_window3d_int.cc
-mln_make_essential_SOURCES = mln_make_essential.cc
-mln_make_w_window1d_int_SOURCES = mln_make_w_window1d_int.cc
-mln_make_point2d_h_SOURCES = mln_make_point2d_h.cc
-mln_display_all_SOURCES = mln_display_all.cc
-mln_display_essential_SOURCES = mln_display_essential.cc
-mln_extension_adjust_SOURCES = mln_extension_adjust.cc
-mln_extension_duplicate_SOURCES = mln_extension_duplicate.cc
-mln_extension_adjust_duplicate_SOURCES = mln_extension_adjust_duplicate.cc
-mln_extension_all_SOURCES = mln_extension_all.cc
-mln_extension_adjust_fill_SOURCES = mln_extension_adjust_fill.cc
-mln_extension_fill_SOURCES = mln_extension_fill.cc
-mln_extension_essential_SOURCES = mln_extension_essential.cc
-mln_fun_p2b_chess_SOURCES = mln_fun_p2b_chess.cc
-mln_fun_p2b_all_SOURCES = mln_fun_p2b_all.cc
-mln_fun_p2b_has_SOURCES = mln_fun_p2b_has.cc
-mln_fun_p2b_big_chess_SOURCES = mln_fun_p2b_big_chess.cc
-mln_fun_p2b_essential_SOURCES = mln_fun_p2b_essential.cc
-mln_fun_p2p_mirror_SOURCES = mln_fun_p2p_mirror.cc
-mln_fun_x2p_closest_point_SOURCES = mln_fun_x2p_closest_point.cc
-mln_fun_x2p_all_SOURCES = mln_fun_x2p_all.cc
-mln_fun_x2p_essential_SOURCES = mln_fun_x2p_essential.cc
-mln_fun_ops_SOURCES = mln_fun_ops.cc
-mln_fun_c_SOURCES = mln_fun_c.cc
-mln_fun_vv2v_max_SOURCES = mln_fun_vv2v_max.cc
-mln_fun_vv2v_lor_SOURCES = mln_fun_vv2v_lor.cc
-mln_fun_vv2v_land_not_SOURCES = mln_fun_vv2v_land_not.cc
-mln_fun_vv2v_vec_SOURCES = mln_fun_vv2v_vec.cc
-mln_fun_vv2v_all_SOURCES = mln_fun_vv2v_all.cc
-mln_fun_vv2v_macros_SOURCES = mln_fun_vv2v_macros.cc
-mln_fun_vv2v_lxor_SOURCES = mln_fun_vv2v_lxor.cc
-mln_fun_vv2v_diff_abs_SOURCES = mln_fun_vv2v_diff_abs.cc
-mln_fun_vv2v_land_SOURCES = mln_fun_vv2v_land.cc
-mln_fun_vv2v_min_SOURCES = mln_fun_vv2v_min.cc
-mln_fun_vv2v_essential_SOURCES = mln_fun_vv2v_essential.cc
-mln_fun_internal_array_base_SOURCES = mln_fun_internal_array_base.cc
-mln_fun_internal_x2x_linear_impl_SOURCES = mln_fun_internal_x2x_linear_impl.cc
-mln_fun_internal_selector_SOURCES = mln_fun_internal_selector.cc
-mln_fun_p2v_ternary_SOURCES = mln_fun_p2v_ternary.cc
-mln_fun_p2v_iota_SOURCES = mln_fun_p2v_iota.cc
-mln_fun_p2v_elifs_SOURCES = mln_fun_p2v_elifs.cc
-mln_fun_p2v_all_SOURCES = mln_fun_p2v_all.cc
-mln_fun_p2v_essential_SOURCES = mln_fun_p2v_essential.cc
-mln_fun_all_SOURCES = mln_fun_all.cc
-mln_fun_v2b_lnot_SOURCES = mln_fun_v2b_lnot.cc
-mln_fun_v2b_all_SOURCES = mln_fun_v2b_all.cc
-mln_fun_v2b_threshold_SOURCES = mln_fun_v2b_threshold.cc
-mln_fun_v2b_essential_SOURCES = mln_fun_v2b_essential.cc
-mln_fun_v2v_norm_SOURCES = mln_fun_v2v_norm.cc
-mln_fun_v2v_linear_SOURCES = mln_fun_v2v_linear.cc
-mln_fun_v2v_id_SOURCES = mln_fun_v2v_id.cc
-mln_fun_v2v_saturate_SOURCES = mln_fun_v2v_saturate.cc
-mln_fun_v2v_inc_SOURCES = mln_fun_v2v_inc.cc
-mln_fun_v2v_all_SOURCES = mln_fun_v2v_all.cc
-mln_fun_v2v_dec_SOURCES = mln_fun_v2v_dec.cc
-mln_fun_v2v_abs_SOURCES = mln_fun_v2v_abs.cc
-mln_fun_v2v_cast_SOURCES = mln_fun_v2v_cast.cc
-mln_fun_v2v_rgb_to_hsi_SOURCES = mln_fun_v2v_rgb_to_hsi.cc
-mln_fun_v2v_enc_SOURCES = mln_fun_v2v_enc.cc
-mln_fun_v2v_convert_SOURCES = mln_fun_v2v_convert.cc
-mln_fun_v2v_essential_SOURCES = mln_fun_v2v_essential.cc
-mln_fun_cast_SOURCES = mln_fun_cast.cc
-mln_fun_i2v_all_SOURCES = mln_fun_i2v_all.cc
-mln_fun_i2v_array_SOURCES = mln_fun_i2v_array.cc
-mln_fun_i2v_all_to_SOURCES = mln_fun_i2v_all_to.cc
-mln_fun_i2v_essential_SOURCES = mln_fun_i2v_essential.cc
-mln_fun_l2l_relabel_SOURCES = mln_fun_l2l_relabel.cc
-mln_fun_l2l_all_SOURCES = mln_fun_l2l_all.cc
-mln_fun_l2l_essential_SOURCES = mln_fun_l2l_essential.cc
-mln_fun_x2x_composed_SOURCES = mln_fun_x2x_composed.cc
-mln_fun_x2x_all_SOURCES = mln_fun_x2x_all.cc
-mln_fun_x2x_translation_SOURCES = mln_fun_x2x_translation.cc
-mln_fun_x2x_rotation_SOURCES = mln_fun_x2x_rotation.cc
-mln_fun_x2x_essential_SOURCES = mln_fun_x2x_essential.cc
-mln_fun_x2v_linear_SOURCES = mln_fun_x2v_linear.cc
-mln_fun_x2v_bilinear_SOURCES = mln_fun_x2v_bilinear.cc
-mln_fun_x2v_all_SOURCES = mln_fun_x2v_all.cc
-mln_fun_x2v_l1_norm_SOURCES = mln_fun_x2v_l1_norm.cc
-mln_fun_x2v_nneighbor_SOURCES = mln_fun_x2v_nneighbor.cc
-mln_fun_x2v_essential_SOURCES = mln_fun_x2v_essential.cc
-mln_fun_essential_SOURCES = mln_fun_essential.cc
-mln_all_SOURCES = mln_all.cc
-mln_convert_to_p_set_SOURCES = mln_convert_to_p_set.cc
-mln_convert_to_SOURCES = mln_convert_to.cc
-mln_convert_to_upper_window_SOURCES = mln_convert_to_upper_window.cc
-mln_convert_to_image_SOURCES = mln_convert_to_image.cc
-mln_convert_to_fun_SOURCES = mln_convert_to_fun.cc
-mln_convert_all_SOURCES = mln_convert_all.cc
-mln_convert_to_window_SOURCES = mln_convert_to_window.cc
-mln_convert_from_to_SOURCES = mln_convert_from_to.cc
-mln_convert_impl_from_value_to_value_SOURCES = mln_convert_impl_from_value_to_value.cc
-mln_convert_impl_all_SOURCES = mln_convert_impl_all.cc
-mln_convert_impl_from_image_to_site_set_SOURCES = mln_convert_impl_from_image_to_site_set.cc
-mln_convert_to_dpoint_SOURCES = mln_convert_to_dpoint.cc
-mln_convert_to_p_array_SOURCES = mln_convert_to_p_array.cc
-mln_convert_to_rgb_SOURCES = mln_convert_to_rgb.cc
-mln_convert_essential_SOURCES = mln_convert_essential.cc
-mln_value_float01_f_SOURCES = mln_value_float01_f.cc
-mln_value_float01_16_SOURCES = mln_value_float01_16.cc
-mln_value_lut_vec_SOURCES = mln_value_lut_vec.cc
-mln_value_glf_SOURCES = mln_value_glf.cc
-mln_value_other_SOURCES = mln_value_other.cc
-mln_value_graylevel_f_SOURCES = mln_value_graylevel_f.cc
-mln_value_aliases_SOURCES = mln_value_aliases.cc
-mln_value_label_16_SOURCES = mln_value_label_16.cc
-mln_value_ops_SOURCES = mln_value_ops.cc
-mln_value_set_SOURCES = mln_value_set.cc
-mln_value_int_u_sat_SOURCES = mln_value_int_u_sat.cc
-mln_value_float01_8_SOURCES = mln_value_float01_8.cc
-mln_value_int_u8_SOURCES = mln_value_int_u8.cc
-mln_value_equiv_SOURCES = mln_value_equiv.cc
-mln_value_internal_integer_SOURCES = mln_value_internal_integer.cc
-mln_value_internal_gray_f_SOURCES = mln_value_internal_gray_f.cc
-mln_value_internal_all_SOURCES = mln_value_internal_all.cc
-mln_value_internal_value_like_SOURCES = mln_value_internal_value_like.cc
-mln_value_internal_iterable_set_SOURCES = mln_value_internal_iterable_set.cc
-mln_value_internal_encoding_SOURCES = mln_value_internal_encoding.cc
-mln_value_internal_convert_SOURCES = mln_value_internal_convert.cc
-mln_value_internal_gray__SOURCES = mln_value_internal_gray_.cc
-mln_value_internal_essential_SOURCES = mln_value_internal_essential.cc
-mln_value_proxy_SOURCES = mln_value_proxy.cc
-mln_value_viter_SOURCES = mln_value_viter.cc
-mln_value_graylevel_SOURCES = mln_value_graylevel.cc
-mln_value_all_SOURCES = mln_value_all.cc
-mln_value_super_value_SOURCES = mln_value_super_value.cc
-mln_value_builtin_symbolics_SOURCES = mln_value_builtin_symbolics.cc
-mln_value_builtin_ops_SOURCES = mln_value_builtin_ops.cc
-mln_value_builtin_all_SOURCES = mln_value_builtin_all.cc
-mln_value_builtin_promotions_SOURCES = mln_value_builtin_promotions.cc
-mln_value_builtin_integers_SOURCES = mln_value_builtin_integers.cc
-mln_value_builtin_floatings_SOURCES = mln_value_builtin_floatings.cc
-mln_value_builtin_essential_SOURCES = mln_value_builtin_essential.cc
-mln_value_sign_SOURCES = mln_value_sign.cc
-mln_value_hsi_SOURCES = mln_value_hsi.cc
-mln_value_interval_SOURCES = mln_value_interval.cc
-mln_value_gl16_SOURCES = mln_value_gl16.cc
-mln_value_scalar_SOURCES = mln_value_scalar.cc
-mln_value_float01_SOURCES = mln_value_float01.cc
-mln_value_cast_SOURCES = mln_value_cast.cc
-mln_value_int_u_SOURCES = mln_value_int_u.cc
-mln_value_int_s8_SOURCES = mln_value_int_s8.cc
-mln_value_int_s16_SOURCES = mln_value_int_s16.cc
-mln_value_int_u16_SOURCES = mln_value_int_u16.cc
-mln_value_label_SOURCES = mln_value_label.cc
-mln_value_rgb_SOURCES = mln_value_rgb.cc
-mln_value_stack_SOURCES = mln_value_stack.cc
-mln_value_concept_integer_SOURCES = mln_value_concept_integer.cc
-mln_value_concept_structured_SOURCES = mln_value_concept_structured.cc
-mln_value_concept_built_in_SOURCES = mln_value_concept_built_in.cc
-mln_value_concept_all_SOURCES = mln_value_concept_all.cc
-mln_value_concept_scalar_SOURCES = mln_value_concept_scalar.cc
-mln_value_concept_data_SOURCES = mln_value_concept_data.cc
-mln_value_concept_floating_SOURCES = mln_value_concept_floating.cc
-mln_value_concept_symbolic_SOURCES = mln_value_concept_symbolic.cc
-mln_value_concept_vectorial_SOURCES = mln_value_concept_vectorial.cc
-mln_value_concept_essential_SOURCES = mln_value_concept_essential.cc
-mln_value_int_s_SOURCES = mln_value_int_s.cc
-mln_value_rgb8_SOURCES = mln_value_rgb8.cc
-mln_value_int_s32_SOURCES = mln_value_int_s32.cc
-mln_value_float01__SOURCES = mln_value_float01_.cc
-mln_value_rgb16_SOURCES = mln_value_rgb16.cc
-mln_value_int_u32_SOURCES = mln_value_int_u32.cc
-mln_value_gl8_SOURCES = mln_value_gl8.cc
-mln_value_label_8_SOURCES = mln_value_label_8.cc
-mln_value_essential_SOURCES = mln_value_essential.cc
-mln_accu_tuple_SOURCES = mln_accu_tuple.cc
-mln_accu_min_h_SOURCES = mln_accu_min_h.cc
-mln_accu_max_SOURCES = mln_accu_max.cc
-mln_accu_lor_SOURCES = mln_accu_lor.cc
-mln_accu_rank_SOURCES = mln_accu_rank.cc
-mln_accu_transform_stop_SOURCES = mln_accu_transform_stop.cc
-mln_accu_maj_h_SOURCES = mln_accu_maj_h.cc
-mln_accu_min_max_SOURCES = mln_accu_min_max.cc
-mln_accu_internal_base_SOURCES = mln_accu_internal_base.cc
-mln_accu_transform_snake_SOURCES = mln_accu_transform_snake.cc
-mln_accu_rank_high_quant_SOURCES = mln_accu_rank_high_quant.cc
-mln_accu_count_SOURCES = mln_accu_count.cc
-mln_accu_median_h_SOURCES = mln_accu_median_h.cc
-mln_accu_all_SOURCES = mln_accu_all.cc
-mln_accu_land_basic_SOURCES = mln_accu_land_basic.cc
-mln_accu_p_SOURCES = mln_accu_p.cc
-mln_accu_transform_SOURCES = mln_accu_transform.cc
-mln_accu_median_alt_SOURCES = mln_accu_median_alt.cc
-mln_accu_volume_SOURCES = mln_accu_volume.cc
-mln_accu_sum_SOURCES = mln_accu_sum.cc
-mln_accu_height_SOURCES = mln_accu_height.cc
-mln_accu_land_SOURCES = mln_accu_land.cc
-mln_accu_take_SOURCES = mln_accu_take.cc
-mln_accu_histo_SOURCES = mln_accu_histo.cc
-mln_accu_pair_SOURCES = mln_accu_pair.cc
-mln_accu_count_adjacent_vertices_SOURCES = mln_accu_count_adjacent_vertices.cc
-mln_accu_convolve_SOURCES = mln_accu_convolve.cc
-mln_accu_v_SOURCES = mln_accu_v.cc
-mln_accu_rank_bool_SOURCES = mln_accu_rank_bool.cc
-mln_accu_min_SOURCES = mln_accu_min.cc
-mln_accu_transform_directional_SOURCES = mln_accu_transform_directional.cc
-mln_accu_compute_SOURCES = mln_accu_compute.cc
-mln_accu_mean_SOURCES = mln_accu_mean.cc
-mln_accu_lor_basic_SOURCES = mln_accu_lor_basic.cc
-mln_accu_transform_diagonal_SOURCES = mln_accu_transform_diagonal.cc
-mln_accu_nil_SOURCES = mln_accu_nil.cc
-mln_accu_bbox_SOURCES = mln_accu_bbox.cc
-mln_accu_center_SOURCES = mln_accu_center.cc
-mln_accu_line_SOURCES = mln_accu_line.cc
-mln_accu_essential_SOURCES = mln_accu_essential.cc
-mln_accu_max_h_SOURCES = mln_accu_max_h.cc
-mln_level_compare_SOURCES = mln_level_compare.cc
-mln_level_memset__SOURCES = mln_level_memset_.cc
-mln_level_transform_inplace_SOURCES = mln_level_transform_inplace.cc
-mln_level_replace_SOURCES = mln_level_replace.cc
-mln_level_memcpy__SOURCES = mln_level_memcpy_.cc
-mln_level_apply_SOURCES = mln_level_apply.cc
-mln_level_approx_all_SOURCES = mln_level_approx_all.cc
-mln_level_approx_essential_SOURCES = mln_level_approx_essential.cc
-mln_level_approx_median_SOURCES = mln_level_approx_median.cc
-mln_level_saturate_SOURCES = mln_level_saturate.cc
-mln_level_all_SOURCES = mln_level_all.cc
-mln_level_paste_SOURCES = mln_level_paste.cc
-mln_level_fast_median_SOURCES = mln_level_fast_median.cc
-mln_level_abs_SOURCES = mln_level_abs.cc
-mln_level_fill_with_image_SOURCES = mln_level_fill_with_image.cc
-mln_level_transform_SOURCES = mln_level_transform.cc
-mln_level_fill_with_value_SOURCES = mln_level_fill_with_value.cc
-mln_level_stretch_SOURCES = mln_level_stretch.cc
-mln_level_was_median_SOURCES = mln_level_was_median.cc
-mln_level_compute_SOURCES = mln_level_compute.cc
-mln_level_convert_SOURCES = mln_level_convert.cc
-mln_level_to_enc_SOURCES = mln_level_to_enc.cc
-mln_level_naive_all_SOURCES = mln_level_naive_all.cc
-mln_level_naive_essential_SOURCES = mln_level_naive_essential.cc
-mln_level_naive_median_SOURCES = mln_level_naive_median.cc
-mln_level_sort_psites_SOURCES = mln_level_sort_psites.cc
-mln_level_update_SOURCES = mln_level_update.cc
-mln_level_fill_SOURCES = mln_level_fill.cc
-mln_level_essential_SOURCES = mln_level_essential.cc
-mln_level_assign_SOURCES = mln_level_assign.cc
-mln_level_median_SOURCES = mln_level_median.cc
-mln_math_jacobi_SOURCES = mln_math_jacobi.cc
-mln_math_max_SOURCES = mln_math_max.cc
-mln_math_sqr_SOURCES = mln_math_sqr.cc
-mln_math_all_SOURCES = mln_math_all.cc
-mln_math_sign_SOURCES = mln_math_sign.cc
-mln_math_abs_SOURCES = mln_math_abs.cc
-mln_math_diff_abs_SOURCES = mln_math_diff_abs.cc
-mln_math_round_SOURCES = mln_math_round.cc
-mln_math_min_SOURCES = mln_math_min.cc
-mln_math_sqrt_SOURCES = mln_math_sqrt.cc
-mln_math_essential_SOURCES = mln_math_essential.cc
-mln_math_round_sat_SOURCES = mln_math_round_sat.cc
-mln_binarization_includes_SOURCES = mln_binarization_includes.cc
-mln_binarization_all_SOURCES = mln_binarization_all.cc
-mln_binarization_binarization_SOURCES = mln_binarization_binarization.cc
-mln_binarization_threshold_SOURCES = mln_binarization_threshold.cc
-mln_binarization_essential_SOURCES = mln_binarization_essential.cc
-mln_trait_site_set_props_SOURCES = mln_trait_site_set_props.cc
-mln_trait_site_set_print_SOURCES = mln_trait_site_set_print.cc
-mln_trait_promote_SOURCES = mln_trait_promote.cc
-mln_trait_solve_binary_SOURCES = mln_trait_solve_binary.cc
-mln_trait_value__SOURCES = mln_trait_value_.cc
-mln_trait_all_SOURCES = mln_trait_all.cc
-mln_trait_value_all_SOURCES = mln_trait_value_all.cc
-mln_trait_value_nature_SOURCES = mln_trait_value_nature.cc
-mln_trait_value_quant_SOURCES = mln_trait_value_quant.cc
-mln_trait_value_kind_SOURCES = mln_trait_value_kind.cc
-mln_trait_value_print_SOURCES = mln_trait_value_print.cc
-mln_trait_value_essential_SOURCES = mln_trait_value_essential.cc
-mln_trait_images_SOURCES = mln_trait_images.cc
-mln_trait_window_props_SOURCES = mln_trait_window_props.cc
-mln_trait_window_print_SOURCES = mln_trait_window_print.cc
-mln_trait_ch_value_SOURCES = mln_trait_ch_value.cc
-mln_trait_solve_SOURCES = mln_trait_solve.cc
-mln_trait_solve_unary_SOURCES = mln_trait_solve_unary.cc
-mln_trait_op_postdec_SOURCES = mln_trait_op_postdec.cc
-mln_trait_op_mod_SOURCES = mln_trait_op_mod.cc
-mln_trait_op_lor_SOURCES = mln_trait_op_lor.cc
-mln_trait_op_neq_SOURCES = mln_trait_op_neq.cc
-mln_trait_op_plus_SOURCES = mln_trait_op_plus.cc
-mln_trait_op_xor_SOURCES = mln_trait_op_xor.cc
-mln_trait_op_all_SOURCES = mln_trait_op_all.cc
-mln_trait_op_geq_SOURCES = mln_trait_op_geq.cc
-mln_trait_op_uminus_SOURCES = mln_trait_op_uminus.cc
-mln_trait_op_not_SOURCES = mln_trait_op_not.cc
-mln_trait_op_times_SOURCES = mln_trait_op_times.cc
-mln_trait_op_less_SOURCES = mln_trait_op_less.cc
-mln_trait_op_decl_SOURCES = mln_trait_op_decl.cc
-mln_trait_op_ord_SOURCES = mln_trait_op_ord.cc
-mln_trait_op_and_SOURCES = mln_trait_op_and.cc
-mln_trait_op_or_SOURCES = mln_trait_op_or.cc
-mln_trait_op_predec_SOURCES = mln_trait_op_predec.cc
-mln_trait_op_minus_SOURCES = mln_trait_op_minus.cc
-mln_trait_op_div_SOURCES = mln_trait_op_div.cc
-mln_trait_op_leq_SOURCES = mln_trait_op_leq.cc
-mln_trait_op_preinc_SOURCES = mln_trait_op_preinc.cc
-mln_trait_op_greater_SOURCES = mln_trait_op_greater.cc
-mln_trait_op_postinc_SOURCES = mln_trait_op_postinc.cc
-mln_trait_op_uplus_SOURCES = mln_trait_op_uplus.cc
-mln_trait_op_essential_SOURCES = mln_trait_op_essential.cc
-mln_trait_op_eq_SOURCES = mln_trait_op_eq.cc
-mln_trait_concrete_SOURCES = mln_trait_concrete.cc
-mln_trait_windows_SOURCES = mln_trait_windows.cc
-mln_trait_site_sets_SOURCES = mln_trait_site_sets.cc
-mln_trait_image_from_grid_SOURCES = mln_trait_image_from_grid.cc
-mln_trait_undef_SOURCES = mln_trait_undef.cc
-mln_trait_image_props_SOURCES = mln_trait_image_props.cc
-mln_trait_image_print_SOURCES = mln_trait_image_print.cc
-mln_trait_neighborhood_SOURCES = mln_trait_neighborhood.cc
-mln_trait_essential_SOURCES = mln_trait_essential.cc
-mln_canvas_labeling_SOURCES = mln_canvas_labeling.cc
-mln_canvas_browsing_hyper_directional_SOURCES = mln_canvas_browsing_hyper_directional.cc
-mln_canvas_browsing_snake_generic_SOURCES = mln_canvas_browsing_snake_generic.cc
-mln_canvas_browsing_backdiagonal2d_SOURCES = mln_canvas_browsing_backdiagonal2d.cc
-mln_canvas_browsing_snake_vert_SOURCES = mln_canvas_browsing_snake_vert.cc
-mln_canvas_browsing_snake_fwd_SOURCES = mln_canvas_browsing_snake_fwd.cc
-mln_canvas_browsing_all_SOURCES = mln_canvas_browsing_all.cc
-mln_canvas_browsing_diagonal2d_SOURCES = mln_canvas_browsing_diagonal2d.cc
-mln_canvas_browsing_fwd_SOURCES = mln_canvas_browsing_fwd.cc
-mln_canvas_browsing_dir_struct_elt_incr_update_SOURCES = mln_canvas_browsing_dir_struct_elt_incr_update.cc
-mln_canvas_browsing_depth_first_search_SOURCES = mln_canvas_browsing_depth_first_search.cc
-mln_canvas_browsing_directional_SOURCES = mln_canvas_browsing_directional.cc
-mln_canvas_browsing_essential_SOURCES = mln_canvas_browsing_essential.cc
-mln_canvas_chamfer_SOURCES = mln_canvas_chamfer.cc
-mln_canvas_distance_geodesic_SOURCES = mln_canvas_distance_geodesic.cc
-mln_canvas_all_SOURCES = mln_canvas_all.cc
-mln_canvas_distance_front_SOURCES = mln_canvas_distance_front.cc
-mln_canvas_morpho_all_SOURCES = mln_canvas_morpho_all.cc
-mln_canvas_morpho_algebraic_union_find_SOURCES = mln_canvas_morpho_algebraic_union_find.cc
-mln_canvas_morpho_essential_SOURCES = mln_canvas_morpho_essential.cc
-mln_canvas_essential_SOURCES = mln_canvas_essential.cc
-mln_metal_is_const_SOURCES = mln_metal_is_const.cc
-mln_metal_none_SOURCES = mln_metal_none.cc
-mln_metal_equal_SOURCES = mln_metal_equal.cc
-mln_metal_unptr_SOURCES = mln_metal_unptr.cc
-mln_metal_not_equal_SOURCES = mln_metal_not_equal.cc
-mln_metal_is_ref_SOURCES = mln_metal_is_ref.cc
-mln_metal_ret_SOURCES = mln_metal_ret.cc
-mln_metal_unqualif_SOURCES = mln_metal_unqualif.cc
-mln_metal_is_not_SOURCES = mln_metal_is_not.cc
-mln_metal_vec_SOURCES = mln_metal_vec.cc
-mln_metal_is_SOURCES = mln_metal_is.cc
-mln_metal_bool_SOURCES = mln_metal_bool.cc
-mln_metal_all_SOURCES = mln_metal_all.cc
-mln_metal_math_pow_SOURCES = mln_metal_math_pow.cc
-mln_metal_math_max_SOURCES = mln_metal_math_max.cc
-mln_metal_math_all_SOURCES = mln_metal_math_all.cc
-mln_metal_math_root_SOURCES = mln_metal_math_root.cc
-mln_metal_math_sqrt_SOURCES = mln_metal_math_sqrt.cc
-mln_metal_mat_SOURCES = mln_metal_mat.cc
-mln_metal_is_not_const_SOURCES = mln_metal_is_not_const.cc
-mln_metal_fix_return_SOURCES = mln_metal_fix_return.cc
-mln_metal_ands_SOURCES = mln_metal_ands.cc
-mln_metal_const_SOURCES = mln_metal_const.cc
-mln_metal_is_unqualif_SOURCES = mln_metal_is_unqualif.cc
-mln_metal_unconst_SOURCES = mln_metal_unconst.cc
-mln_metal_bexpr_SOURCES = mln_metal_bexpr.cc
-mln_metal_array2d_SOURCES = mln_metal_array2d.cc
-mln_metal_is_not_a_SOURCES = mln_metal_is_not_a.cc
-mln_metal_is_a_SOURCES = mln_metal_is_a.cc
-mln_metal_array1d_SOURCES = mln_metal_array1d.cc
-mln_metal_if_SOURCES = mln_metal_if.cc
-mln_metal_unref_SOURCES = mln_metal_unref.cc
-mln_metal_array_SOURCES = mln_metal_array.cc
-mln_metal_ref_SOURCES = mln_metal_ref.cc
-mln_metal_same_point_SOURCES = mln_metal_same_point.cc
-mln_metal_int_SOURCES = mln_metal_int.cc
-mln_metal_abort_SOURCES = mln_metal_abort.cc
-mln_metal_same_coord_SOURCES = mln_metal_same_coord.cc
-mln_metal_templated_by_SOURCES = mln_metal_templated_by.cc
-mln_metal_has_neighborhood_SOURCES = mln_metal_has_neighborhood.cc
-mln_metal_goes_to_SOURCES = mln_metal_goes_to.cc
-mln_metal_is_not_ref_SOURCES = mln_metal_is_not_ref.cc
-mln_metal_converts_to_SOURCES = mln_metal_converts_to.cc
-mln_metal_essential_SOURCES = mln_metal_essential.cc
-mln_metal_array3d_SOURCES = mln_metal_array3d.cc
-mln_algebra_vec_SOURCES = mln_algebra_vec.cc
-mln_algebra_all_SOURCES = mln_algebra_all.cc
-mln_algebra_h_vec_SOURCES = mln_algebra_h_vec.cc
-mln_algebra_mat_SOURCES = mln_algebra_mat.cc
-mln_algebra_h_mat_SOURCES = mln_algebra_h_mat.cc
-mln_algebra_quat_SOURCES = mln_algebra_quat.cc
-mln_algebra_essential_SOURCES = mln_algebra_essential.cc
-mln_linear_convolve_2x1d_SOURCES = mln_linear_convolve_2x1d.cc
-mln_linear_all_SOURCES = mln_linear_all.cc
-mln_linear_ch_convolve_SOURCES = mln_linear_ch_convolve.cc
-mln_linear_gaussian_SOURCES = mln_linear_gaussian.cc
-mln_linear_convolve_SOURCES = mln_linear_convolve.cc
-mln_linear_sobel_2d_SOURCES = mln_linear_sobel_2d.cc
-mln_linear_local_convolve_SOURCES = mln_linear_local_convolve.cc
-mln_linear_lap_SOURCES = mln_linear_lap.cc
-mln_linear_convolve_directional_SOURCES = mln_linear_convolve_directional.cc
-mln_linear_log_SOURCES = mln_linear_log.cc
-mln_linear_essential_SOURCES = mln_linear_essential.cc
-mln_morpho_thinning_SOURCES = mln_morpho_thinning.cc
-mln_morpho_meyer_wst_SOURCES = mln_morpho_meyer_wst.cc
-mln_morpho_opening_SOURCES = mln_morpho_opening.cc
-mln_morpho_includes_SOURCES = mln_morpho_includes.cc
-mln_morpho_elementary_opening_SOURCES = mln_morpho_elementary_opening.cc
-mln_morpho_elementary_gradient_internal_SOURCES = mln_morpho_elementary_gradient_internal.cc
-mln_morpho_elementary_dilation_SOURCES = mln_morpho_elementary_dilation.cc
-mln_morpho_elementary_laplacian_SOURCES = mln_morpho_elementary_laplacian.cc
-mln_morpho_elementary_all_SOURCES = mln_morpho_elementary_all.cc
-mln_morpho_elementary_gradient_external_SOURCES = mln_morpho_elementary_gradient_external.cc
-mln_morpho_elementary_like_ero_fun_SOURCES = mln_morpho_elementary_like_ero_fun.cc
-mln_morpho_elementary_gradient_SOURCES = mln_morpho_elementary_gradient.cc
-mln_morpho_elementary_like_ero_set_SOURCES = mln_morpho_elementary_like_ero_set.cc
-mln_morpho_elementary_closing_SOURCES = mln_morpho_elementary_closing.cc
-mln_morpho_elementary_top_hat_SOURCES = mln_morpho_elementary_top_hat.cc
-mln_morpho_elementary_erosion_SOURCES = mln_morpho_elementary_erosion.cc
-mln_morpho_elementary_essential_SOURCES = mln_morpho_elementary_essential.cc
-mln_morpho_thin_fit_SOURCES = mln_morpho_thin_fit.cc
-mln_morpho_skeleton_constrained_SOURCES = mln_morpho_skeleton_constrained.cc
-mln_morpho_complementation_SOURCES = mln_morpho_complementation.cc
-mln_morpho_line_gradient_SOURCES = mln_morpho_line_gradient.cc
-mln_morpho_hit_or_miss_SOURCES = mln_morpho_hit_or_miss.cc
-mln_morpho_closing_height_SOURCES = mln_morpho_closing_height.cc
-mln_morpho_plus_SOURCES = mln_morpho_plus.cc
-mln_morpho_general_SOURCES = mln_morpho_general.cc
-mln_morpho_internal_elementary_SOURCES = mln_morpho_internal_elementary.cc
-mln_morpho_contrast_SOURCES = mln_morpho_contrast.cc
-mln_morpho_opening_area_SOURCES = mln_morpho_opening_area.cc
-mln_morpho_opening_height_SOURCES = mln_morpho_opening_height.cc
-mln_morpho_thickening_SOURCES = mln_morpho_thickening.cc
-mln_morpho_dilation_SOURCES = mln_morpho_dilation.cc
-mln_morpho_laplacian_SOURCES = mln_morpho_laplacian.cc
-mln_morpho_all_SOURCES = mln_morpho_all.cc
-mln_morpho_opening_attribute_SOURCES = mln_morpho_opening_attribute.cc
-mln_morpho_opening_volume_SOURCES = mln_morpho_opening_volume.cc
-mln_morpho_closing_area_on_vertices_SOURCES = mln_morpho_closing_area_on_vertices.cc
-mln_morpho_closing_volume_SOURCES = mln_morpho_closing_volume.cc
-mln_morpho_minus_SOURCES = mln_morpho_minus.cc
-mln_morpho_gradient_SOURCES = mln_morpho_gradient.cc
-mln_morpho_tree_max_SOURCES = mln_morpho_tree_max.cc
-mln_morpho_tree_compute_parent_SOURCES = mln_morpho_tree_compute_parent.cc
-mln_morpho_tree_all_SOURCES = mln_morpho_tree_all.cc
-mln_morpho_tree_utils_SOURCES = mln_morpho_tree_utils.cc
-mln_morpho_tree_data_SOURCES = mln_morpho_tree_data.cc
-mln_morpho_tree_compute_attribute_image_SOURCES = mln_morpho_tree_compute_attribute_image.cc
-mln_morpho_opening_area_on_vertices_SOURCES = mln_morpho_opening_area_on_vertices.cc
-mln_morpho_min_SOURCES = mln_morpho_min.cc
-mln_morpho_closing_SOURCES = mln_morpho_closing.cc
-mln_morpho_top_hat_SOURCES = mln_morpho_top_hat.cc
-mln_morpho_erosion_SOURCES = mln_morpho_erosion.cc
-mln_morpho_Rd_SOURCES = mln_morpho_Rd.cc
-mln_morpho_closing_area_SOURCES = mln_morpho_closing_area.cc
-mln_morpho_thick_miss_SOURCES = mln_morpho_thick_miss.cc
-mln_morpho_closing_attribute_SOURCES = mln_morpho_closing_attribute.cc
-mln_morpho_rank_filter_SOURCES = mln_morpho_rank_filter.cc
-mln_morpho_essential_SOURCES = mln_morpho_essential.cc
-mln_topo_n_face_iter_SOURCES = mln_topo_n_face_iter.cc
-mln_topo_face_iter_SOURCES = mln_topo_face_iter.cc
-mln_topo_is_simple_2d_SOURCES = mln_topo_is_simple_2d.cc
-mln_topo_centered_iter_adapter_SOURCES = mln_topo_centered_iter_adapter.cc
-mln_topo_internal_complex_set_iterator_base_SOURCES = mln_topo_internal_complex_set_iterator_base.cc
-mln_topo_internal_complex_iterator_base_SOURCES = mln_topo_internal_complex_iterator_base.cc
-mln_topo_internal_complex_relative_iterator_base_SOURCES = mln_topo_internal_complex_relative_iterator_base.cc
-mln_topo_internal_complex_relative_iterator_sequence_SOURCES = mln_topo_internal_complex_relative_iterator_sequence.cc
-mln_topo_algebraic_n_face_SOURCES = mln_topo_algebraic_n_face.cc
-mln_topo_attic_faces_iter_SOURCES = mln_topo_attic_faces_iter.cc
-mln_topo_adj_lower_dim_connected_n_face_iter_SOURCES = mln_topo_adj_lower_dim_connected_n_face_iter.cc
-mln_topo_n_face_SOURCES = mln_topo_n_face.cc
-mln_topo_adj_lower_higher_face_iter_SOURCES = mln_topo_adj_lower_higher_face_iter.cc
-mln_topo_all_SOURCES = mln_topo_all.cc
-mln_topo_face_data_SOURCES = mln_topo_face_data.cc
-mln_topo_static_n_face_iter_SOURCES = mln_topo_static_n_face_iter.cc
-mln_topo_face_SOURCES = mln_topo_face.cc
-mln_topo_adj_m_face_iter_SOURCES = mln_topo_adj_m_face_iter.cc
-mln_topo_complex_SOURCES = mln_topo_complex.cc
-mln_topo_adj_higher_face_iter_SOURCES = mln_topo_adj_higher_face_iter.cc
-mln_topo_adj_lower_face_iter_SOURCES = mln_topo_adj_lower_face_iter.cc
-mln_topo_complex_iterators_SOURCES = mln_topo_complex_iterators.cc
-mln_topo_center_only_iter_SOURCES = mln_topo_center_only_iter.cc
-mln_topo_adj_higher_dim_connected_n_face_iter_SOURCES = mln_topo_adj_higher_dim_connected_n_face_iter.cc
-mln_topo_algebraic_face_SOURCES = mln_topo_algebraic_face.cc
-mln_topo_n_faces_set_SOURCES = mln_topo_n_faces_set.cc
-mln_topo_essential_SOURCES = mln_topo_essential.cc
-mln_essential_1d_SOURCES = mln_essential_1d.cc
-mln_essential_routine_SOURCES = mln_essential_routine.cc
-mln_essential_3d_SOURCES = mln_essential_3d.cc
-mln_essential_2d_SOURCES = mln_essential_2d.cc
-mln_win_inter_SOURCES = mln_win_inter.cc
-mln_win_backdiag2d_SOURCES = mln_win_backdiag2d.cc
-mln_win_segment1d_SOURCES = mln_win_segment1d.cc
+mln_border_resize \
+mln_border_all \
+mln_border_duplicate \
+mln_border_thickness \
+mln_border_get \
+mln_trace_exiting \
+mln_trace_entering \
+mln_trace_resume \
+mln_trace_stop \
+mln_trace_essential \
+mln_trace_quiet \
+mln_trace_all \
+mln_trace_warning \
+mln_debug_println_with_border \
+mln_debug_draw_graph \
+mln_debug_iota \
+mln_debug_colorize \
+mln_debug_essential \
+mln_debug_format \
+mln_debug_all \
+mln_debug_println \
+mln_debug_put_word \
+mln_morpho_thick_miss \
+mln_morpho_opening_volume \
+mln_morpho_gradient \
+mln_morpho_closing_area_on_vertices \
+mln_morpho_meyer_wst \
+mln_morpho_closing_area \
+mln_morpho_Rd \
+mln_morpho_complementation \
+mln_morpho_opening_area_on_vertices \
+mln_morpho_thinning \
+mln_morpho_contrast \
+mln_morpho_opening_height \
+mln_morpho_erosion \
+mln_morpho_essential \
+mln_morpho_elementary_gradient \
+mln_morpho_elementary_erosion \
+mln_morpho_elementary_essential \
+mln_morpho_elementary_all \
+mln_morpho_elementary_like_ero_fun \
+mln_morpho_elementary_dilation \
+mln_morpho_elementary_opening \
+mln_morpho_elementary_closing \
+mln_morpho_elementary_like_ero_set \
+mln_morpho_elementary_laplacian \
+mln_morpho_elementary_gradient_internal \
+mln_morpho_elementary_gradient_external \
+mln_morpho_elementary_top_hat \
+mln_morpho_includes \
+mln_morpho_thickening \
+mln_morpho_opening_attribute \
+mln_morpho_closing_height \
+mln_morpho_line_gradient \
+mln_morpho_thin_fit \
+mln_morpho_opening_area \
+mln_morpho_all \
+mln_morpho_hit_or_miss \
+mln_morpho_internal_elementary \
+mln_morpho_plus \
+mln_morpho_dilation \
+mln_morpho_closing_attribute \
+mln_morpho_opening \
+mln_morpho_min \
+mln_morpho_minus \
+mln_morpho_closing_volume \
+mln_morpho_general \
+mln_morpho_skeleton_constrained \
+mln_morpho_tree_max \
+mln_morpho_tree_data \
+mln_morpho_tree_compute_parent \
+mln_morpho_tree_utils \
+mln_morpho_tree_compute_attribute_image \
+mln_morpho_tree_all \
+mln_morpho_rank_filter \
+mln_morpho_closing \
+mln_morpho_laplacian \
+mln_morpho_top_hat \
+mln_accu_nil \
+mln_accu_transform_stop \
+mln_accu_max \
+mln_accu_max_h \
+mln_accu_histo \
+mln_accu_center \
+mln_accu_rank_bool \
+mln_accu_mean \
+mln_accu_median_alt \
+mln_accu_convolve \
+mln_accu_essential \
+mln_accu_min_h \
+mln_accu_compute \
+mln_accu_take \
+mln_accu_transform_directional \
+mln_accu_pair \
+mln_accu_land_basic \
+mln_accu_all \
+mln_accu_height \
+mln_accu_internal_base \
+mln_accu_transform_diagonal \
+mln_accu_v \
+mln_accu_count \
+mln_accu_volume \
+mln_accu_lor_basic \
+mln_accu_tuple \
+mln_accu_min \
+mln_accu_median_h \
+mln_accu_transform_snake \
+mln_accu_line \
+mln_accu_count_adjacent_vertices \
+mln_accu_transform \
+mln_accu_min_max \
+mln_accu_land \
+mln_accu_bbox \
+mln_accu_sum \
+mln_accu_lor \
+mln_accu_rank_high_quant \
+mln_accu_p \
+mln_accu_rank \
+mln_accu_maj_h \
+mln_registration_get_rtransf \
+mln_registration_icp \
+mln_registration_essential \
+mln_registration_multiscale \
+mln_registration_all \
+mln_registration_internal_rms \
+mln_registration_get_rot \
+mln_registration_registration \
+mln_all \
+mln_pw_value \
+mln_pw_cst \
+mln_pw_essential \
+mln_pw_image \
+mln_pw_var \
+mln_pw_all \
+mln_binarization_essential \
+mln_binarization_includes \
+mln_binarization_all \
+mln_binarization_binarization \
+mln_binarization_threshold \
+mln_linear_log \
+mln_linear_ch_convolve \
+mln_linear_sobel_2d \
+mln_linear_local_convolve \
+mln_linear_convolve \
+mln_linear_essential \
+mln_linear_lap \
+mln_linear_convolve_directional \
+mln_linear_convolve_2x1d \
+mln_linear_all \
+mln_linear_gaussian \
+mln_essential_1d \
+mln_essential_2d \
+mln_essential_routine \
+mln_essential_3d \
+mln_metal_vec \
+mln_metal_is_not_ref \
+mln_metal_unconst \
+mln_metal_array3d \
+mln_metal_abort \
+mln_metal_has_neighborhood \
+mln_metal_ref \
+mln_metal_is_const \
+mln_metal_same_point \
+mln_metal_int \
+mln_metal_is \
+mln_metal_essential \
+mln_metal_unref \
+mln_metal_is_a \
+mln_metal_not_equal \
+mln_metal_none \
+mln_metal_is_unqualif \
+mln_metal_is_not \
+mln_metal_unptr \
+mln_metal_array1d \
+mln_metal_if \
+mln_metal_is_ref \
+mln_metal_is_not_a \
+mln_metal_all \
+mln_metal_same_coord \
+mln_metal_ands \
+mln_metal_array2d \
+mln_metal_templated_by \
+mln_metal_ret \
+mln_metal_is_not_const \
+mln_metal_math_root \
+mln_metal_math_max \
+mln_metal_math_all \
+mln_metal_math_pow \
+mln_metal_math_sqrt \
+mln_metal_bexpr \
+mln_metal_bool \
+mln_metal_fix_return \
+mln_metal_converts_to \
+mln_metal_goes_to \
+mln_metal_equal \
+mln_metal_unqualif \
+mln_metal_mat \
+mln_metal_array \
+mln_metal_const \
+mln_set_sym_diff \
+mln_set_essential \
+mln_set_compute \
+mln_set_has \
+mln_set_inter \
+mln_set_all \
+mln_set_diff \
+mln_set_uni \
+mln_set_get \
+mln_convert_to_p_array \
+mln_convert_to_fun \
+mln_convert_to \
+mln_convert_to_image \
+mln_convert_to_p_set \
+mln_convert_impl_from_image_to_site_set \
+mln_convert_impl_all \
+mln_convert_impl_from_value_to_value \
+mln_convert_essential \
+mln_convert_all \
+mln_convert_to_upper_window \
+mln_convert_to_dpoint \
+mln_convert_to_rgb \
+mln_convert_from_to \
+mln_convert_to_window \
+mln_geom_nslis \
+mln_geom_size2d \
+mln_geom_max_row \
+mln_geom_size3d \
+mln_geom_seeds2tiling_roundness \
+mln_geom_delta \
+mln_geom_essential \
+mln_geom_max_ind \
+mln_geom_min_col \
+mln_geom_complex_geometry \
+mln_geom_nrows \
+mln_geom_seeds2tiling \
+mln_geom_min_sli \
+mln_geom_nsites \
+mln_geom_min_ind \
+mln_geom_ninds \
+mln_geom_resize \
+mln_geom_min_row \
+mln_geom_all \
+mln_geom_chamfer \
+mln_geom_ncols \
+mln_geom_pmin_pmax \
+mln_geom_size1d \
+mln_geom_max_sli \
+mln_geom_bbox \
+mln_geom_max_col \
+mln_literal_black \
+mln_literal_zero \
+mln_literal_essential \
+mln_literal_grays \
+mln_literal_ops \
+mln_literal_all \
+mln_literal_white \
+mln_literal_one \
+mln_literal_colors \
+mln_literal_origin \
+mln_level_compare \
+mln_level_saturate \
+mln_level_fill_with_image \
+mln_level_was_median \
+mln_level_convert \
+mln_level_sort_psites \
+mln_level_essential \
+mln_level_fill \
+mln_level_compute \
+mln_level_replace \
+mln_level_approx_essential \
+mln_level_approx_all \
+mln_level_approx_median \
+mln_level_stretch \
+mln_level_paste \
+mln_level_transform_inplace \
+mln_level_to_enc \
+mln_level_apply \
+mln_level_all \
+mln_level_update \
+mln_level_median \
+mln_level_memset_ \
+mln_level_assign \
+mln_level_memcpy_ \
+mln_level_fast_median \
+mln_level_transform \
+mln_level_abs \
+mln_level_naive_essential \
+mln_level_naive_all \
+mln_level_naive_median \
+mln_level_fill_with_value \
+mln_math_jacobi \
+mln_math_max \
+mln_math_round_sat \
+mln_math_round \
+mln_math_essential \
+mln_math_sqr \
+mln_math_all \
+mln_math_sign \
+mln_math_min \
+mln_math_abs \
+mln_math_diff_abs \
+mln_math_sqrt \
+mln_norm_l2 \
+mln_norm_linfty \
+mln_norm_essential \
+mln_norm_all \
+mln_norm_l1 \
+mln_logical_not \
+mln_logical_or \
+mln_logical_and \
+mln_logical_xor \
+mln_logical_essential \
+mln_logical_includes \
+mln_logical_all \
+mln_logical_and_not \
+mln_draw_essential \
+mln_draw_box \
+mln_draw_all \
+mln_draw_plot \
+mln_draw_line \
+mln_value_int_s16 \
+mln_value_cast \
+mln_value_builtin_floatings \
+mln_value_builtin_promotions \
+mln_value_builtin_integers \
+mln_value_builtin_essential \
+mln_value_builtin_ops \
+mln_value_builtin_all \
+mln_value_builtin_symbolics \
+mln_value_label_8 \
+mln_value_int_s \
+mln_value_rgb \
+mln_value_viter \
+mln_value_lut_vec \
+mln_value_set \
+mln_value_hsi \
+mln_value_int_u16 \
+mln_value_glf \
+mln_value_stack \
+mln_value_gl8 \
+mln_value_essential \
+mln_value_graylevel_f \
+mln_value_super_value \
+mln_value_equiv \
+mln_value_rgb16 \
+mln_value_float01_16 \
+mln_value_rgb8 \
+mln_value_int_s32 \
+mln_value_int_s8 \
+mln_value_int_u8 \
+mln_value_int_u32 \
+mln_value_float01 \
+mln_value_int_u \
+mln_value_ops \
+mln_value_interval \
+mln_value_int_u_sat \
+mln_value_all \
+mln_value_internal_encoding \
+mln_value_internal_convert \
+mln_value_internal_gray_f \
+mln_value_internal_essential \
+mln_value_internal_gray_ \
+mln_value_internal_integer \
+mln_value_internal_value_like \
+mln_value_internal_all \
+mln_value_internal_iterable_set \
+mln_value_proxy \
+mln_value_sign \
+mln_value_gl16 \
+mln_value_aliases \
+mln_value_float01_f \
+mln_value_float01_8 \
+mln_value_concept_structured \
+mln_value_concept_vectorial \
+mln_value_concept_data \
+mln_value_concept_built_in \
+mln_value_concept_essential \
+mln_value_concept_integer \
+mln_value_concept_floating \
+mln_value_concept_all \
+mln_value_concept_scalar \
+mln_value_concept_symbolic \
+mln_value_label_16 \
+mln_value_label \
+mln_value_float01_ \
+mln_value_other \
+mln_value_scalar \
+mln_value_graylevel \
+mln_tag_skeleton \
+mln_tag_init \
+mln_tag_essential \
+mln_tag_all \
+mln_labeling_regional_maxima \
+mln_labeling_background \
+mln_labeling_level \
+mln_labeling_flat_zones \
+mln_labeling_regional_minima \
+mln_labeling_essential \
+mln_labeling_compute \
+mln_labeling_blobs \
+mln_labeling_all \
+mln_labeling_foreground \
+mln_labeling_relabel
+
+mln_util_nil_SOURCES = mln_util_nil.cc
+mln_util_ord_pair_SOURCES = mln_util_ord_pair.cc
+mln_util_ord_SOURCES = mln_util_ord.cc
+mln_util_max_SOURCES = mln_util_max.cc
+mln_util_eat_SOURCES = mln_util_eat.cc
+mln_util_tree_SOURCES = mln_util_tree.cc
+mln_util_tree_fast_to_image_SOURCES = mln_util_tree_fast_to_image.cc
+mln_util_tracked_ptr_SOURCES = mln_util_tracked_ptr.cc
+mln_util_dindex_SOURCES = mln_util_dindex.cc
+mln_util_site_pair_SOURCES = mln_util_site_pair.cc
+mln_util_set_SOURCES = mln_util_set.cc
+mln_util_greater_point_SOURCES = mln_util_greater_point.cc
+mln_util_greater_psite_SOURCES = mln_util_greater_psite.cc
+mln_util_ignore_SOURCES = mln_util_ignore.cc
+mln_util_pix_SOURCES = mln_util_pix.cc
+mln_util_lazy_set_SOURCES = mln_util_lazy_set.cc
+mln_util_essential_SOURCES = mln_util_essential.cc
+mln_util_branch_iter_SOURCES = mln_util_branch_iter.cc
+mln_util_graph_SOURCES = mln_util_graph.cc
+mln_util_index_SOURCES = mln_util_index.cc
+mln_util_tree_to_fast_SOURCES = mln_util_tree_to_fast.cc
+mln_util_line_graph_SOURCES = mln_util_line_graph.cc
+mln_util_lemmings_SOURCES = mln_util_lemmings.cc
+mln_util_all_SOURCES = mln_util_all.cc
+mln_util_internal_boost_graph_property_SOURCES = mln_util_internal_boost_graph_property.cc
+mln_util_internal_graph_iter_base_SOURCES = mln_util_internal_graph_iter_base.cc
+mln_util_internal_boost_graph_SOURCES = mln_util_internal_boost_graph.cc
+mln_util_internal_boost_graph_structure_SOURCES = mln_util_internal_boost_graph_structure.cc
+mln_util_internal_boost_graph_access_SOURCES = mln_util_internal_boost_graph_access.cc
+mln_util_internal_graph_base_SOURCES = mln_util_internal_graph_base.cc
+mln_util_internal_vertex_impl_SOURCES = mln_util_internal_vertex_impl.cc
+mln_util_internal_graph_nbh_iter_SOURCES = mln_util_internal_graph_nbh_iter.cc
+mln_util_internal_graph_nbh_iter_base_SOURCES = mln_util_internal_graph_nbh_iter_base.cc
+mln_util_internal_edge_impl_SOURCES = mln_util_internal_edge_impl.cc
+mln_util_internal_graph_iter_SOURCES = mln_util_internal_graph_iter.cc
+mln_util_yes_SOURCES = mln_util_yes.cc
+mln_util_multi_site_SOURCES = mln_util_multi_site.cc
+mln_util_timer_SOURCES = mln_util_timer.cc
+mln_util_edge_SOURCES = mln_util_edge.cc
+mln_util_tree_fast_SOURCES = mln_util_tree_fast.cc
+mln_util_branch_iter_ind_SOURCES = mln_util_branch_iter_ind.cc
+mln_util_tree_to_image_SOURCES = mln_util_tree_to_image.cc
+mln_util_vertex_SOURCES = mln_util_vertex.cc
+mln_util_array_SOURCES = mln_util_array.cc
+mln_fun_c_SOURCES = mln_fun_c.cc
+mln_fun_cast_SOURCES = mln_fun_cast.cc
+mln_fun_x2p_closest_point_SOURCES = mln_fun_x2p_closest_point.cc
+mln_fun_x2p_essential_SOURCES = mln_fun_x2p_essential.cc
+mln_fun_x2p_all_SOURCES = mln_fun_x2p_all.cc
+mln_fun_p2v_elifs_SOURCES = mln_fun_p2v_elifs.cc
+mln_fun_p2v_iota_SOURCES = mln_fun_p2v_iota.cc
+mln_fun_p2v_essential_SOURCES = mln_fun_p2v_essential.cc
+mln_fun_p2v_all_SOURCES = mln_fun_p2v_all.cc
+mln_fun_p2v_ternary_SOURCES = mln_fun_p2v_ternary.cc
+mln_fun_vv2v_vec_SOURCES = mln_fun_vv2v_vec.cc
+mln_fun_vv2v_max_SOURCES = mln_fun_vv2v_max.cc
+mln_fun_vv2v_lxor_SOURCES = mln_fun_vv2v_lxor.cc
+mln_fun_vv2v_essential_SOURCES = mln_fun_vv2v_essential.cc
+mln_fun_vv2v_land_not_SOURCES = mln_fun_vv2v_land_not.cc
+mln_fun_vv2v_macros_SOURCES = mln_fun_vv2v_macros.cc
+mln_fun_vv2v_all_SOURCES = mln_fun_vv2v_all.cc
+mln_fun_vv2v_min_SOURCES = mln_fun_vv2v_min.cc
+mln_fun_vv2v_diff_abs_SOURCES = mln_fun_vv2v_diff_abs.cc
+mln_fun_vv2v_land_SOURCES = mln_fun_vv2v_land.cc
+mln_fun_vv2v_lor_SOURCES = mln_fun_vv2v_lor.cc
+mln_fun_x2x_composed_SOURCES = mln_fun_x2x_composed.cc
+mln_fun_x2x_essential_SOURCES = mln_fun_x2x_essential.cc
+mln_fun_x2x_rotation_SOURCES = mln_fun_x2x_rotation.cc
+mln_fun_x2x_all_SOURCES = mln_fun_x2x_all.cc
+mln_fun_x2x_translation_SOURCES = mln_fun_x2x_translation.cc
+mln_fun_essential_SOURCES = mln_fun_essential.cc
+mln_fun_v2v_rgb_to_hsi_SOURCES = mln_fun_v2v_rgb_to_hsi.cc
+mln_fun_v2v_enc_SOURCES = mln_fun_v2v_enc.cc
+mln_fun_v2v_cast_SOURCES = mln_fun_v2v_cast.cc
+mln_fun_v2v_saturate_SOURCES = mln_fun_v2v_saturate.cc
+mln_fun_v2v_norm_SOURCES = mln_fun_v2v_norm.cc
+mln_fun_v2v_convert_SOURCES = mln_fun_v2v_convert.cc
+mln_fun_v2v_id_SOURCES = mln_fun_v2v_id.cc
+mln_fun_v2v_essential_SOURCES = mln_fun_v2v_essential.cc
+mln_fun_v2v_linear_SOURCES = mln_fun_v2v_linear.cc
+mln_fun_v2v_all_SOURCES = mln_fun_v2v_all.cc
+mln_fun_v2v_abs_SOURCES = mln_fun_v2v_abs.cc
+mln_fun_v2v_dec_SOURCES = mln_fun_v2v_dec.cc
+mln_fun_v2v_inc_SOURCES = mln_fun_v2v_inc.cc
+mln_fun_i2v_essential_SOURCES = mln_fun_i2v_essential.cc
+mln_fun_i2v_all_SOURCES = mln_fun_i2v_all.cc
+mln_fun_i2v_all_to_SOURCES = mln_fun_i2v_all_to.cc
+mln_fun_i2v_array_SOURCES = mln_fun_i2v_array.cc
+mln_fun_ops_SOURCES = mln_fun_ops.cc
+mln_fun_all_SOURCES = mln_fun_all.cc
+mln_fun_v2b_essential_SOURCES = mln_fun_v2b_essential.cc
+mln_fun_v2b_lnot_SOURCES = mln_fun_v2b_lnot.cc
+mln_fun_v2b_all_SOURCES = mln_fun_v2b_all.cc
+mln_fun_v2b_threshold_SOURCES = mln_fun_v2b_threshold.cc
+mln_fun_internal_selector_SOURCES = mln_fun_internal_selector.cc
+mln_fun_internal_array_base_SOURCES = mln_fun_internal_array_base.cc
+mln_fun_internal_x2x_linear_impl_SOURCES = mln_fun_internal_x2x_linear_impl.cc
+mln_fun_l2l_essential_SOURCES = mln_fun_l2l_essential.cc
+mln_fun_l2l_all_SOURCES = mln_fun_l2l_all.cc
+mln_fun_l2l_relabel_SOURCES = mln_fun_l2l_relabel.cc
+mln_fun_x2v_essential_SOURCES = mln_fun_x2v_essential.cc
+mln_fun_x2v_linear_SOURCES = mln_fun_x2v_linear.cc
+mln_fun_x2v_all_SOURCES = mln_fun_x2v_all.cc
+mln_fun_x2v_bilinear_SOURCES = mln_fun_x2v_bilinear.cc
+mln_fun_x2v_l1_norm_SOURCES = mln_fun_x2v_l1_norm.cc
+mln_fun_x2v_nneighbor_SOURCES = mln_fun_x2v_nneighbor.cc
+mln_fun_p2p_mirror_SOURCES = mln_fun_p2p_mirror.cc
+mln_fun_p2b_essential_SOURCES = mln_fun_p2b_essential.cc
+mln_fun_p2b_has_SOURCES = mln_fun_p2b_has.cc
+mln_fun_p2b_big_chess_SOURCES = mln_fun_p2b_big_chess.cc
+mln_fun_p2b_all_SOURCES = mln_fun_p2b_all.cc
+mln_fun_p2b_chess_SOURCES = mln_fun_p2b_chess.cc
+mln_extension_adjust_SOURCES = mln_extension_adjust.cc
+mln_extension_essential_SOURCES = mln_extension_essential.cc
+mln_extension_fill_SOURCES = mln_extension_fill.cc
+mln_extension_adjust_duplicate_SOURCES = mln_extension_adjust_duplicate.cc
+mln_extension_adjust_fill_SOURCES = mln_extension_adjust_fill.cc
+mln_extension_all_SOURCES = mln_extension_all.cc
+mln_extension_duplicate_SOURCES = mln_extension_duplicate.cc
+mln_histo_data_SOURCES = mln_histo_data.cc
+mln_histo_essential_SOURCES = mln_histo_essential.cc
+mln_histo_compute_SOURCES = mln_histo_compute.cc
+mln_histo_all_SOURCES = mln_histo_all.cc
+mln_transform_distance_geodesic_SOURCES = mln_transform_distance_geodesic.cc
+mln_transform_essential_SOURCES = mln_transform_essential.cc
+mln_transform_influence_zone_geodesic_SOURCES = mln_transform_influence_zone_geodesic.cc
+mln_transform_distance_front_SOURCES = mln_transform_distance_front.cc
+mln_transform_all_SOURCES = mln_transform_all.cc
+mln_transform_internal_distance_functor_SOURCES = mln_transform_internal_distance_functor.cc
+mln_transform_internal_all_SOURCES = mln_transform_internal_all.cc
+mln_transform_internal_influence_zone_functor_SOURCES = mln_transform_internal_influence_zone_functor.cc
+mln_transform_influence_zone_front_SOURCES = mln_transform_influence_zone_front.cc
+mln_trait_windows_SOURCES = mln_trait_windows.cc
+mln_trait_images_SOURCES = mln_trait_images.cc
+mln_trait_solve_SOURCES = mln_trait_solve.cc
+mln_trait_window_print_SOURCES = mln_trait_window_print.cc
+mln_trait_window_props_SOURCES = mln_trait_window_props.cc
+mln_trait_image_from_grid_SOURCES = mln_trait_image_from_grid.cc
+mln_trait_site_sets_SOURCES = mln_trait_site_sets.cc
+mln_trait_solve_binary_SOURCES = mln_trait_solve_binary.cc
+mln_trait_value__SOURCES = mln_trait_value_.cc
+mln_trait_promote_SOURCES = mln_trait_promote.cc
+mln_trait_essential_SOURCES = mln_trait_essential.cc
+mln_trait_concrete_SOURCES = mln_trait_concrete.cc
+mln_trait_op_ord_SOURCES = mln_trait_op_ord.cc
+mln_trait_op_div_SOURCES = mln_trait_op_div.cc
+mln_trait_op_mod_SOURCES = mln_trait_op_mod.cc
+mln_trait_op_not_SOURCES = mln_trait_op_not.cc
+mln_trait_op_or_SOURCES = mln_trait_op_or.cc
+mln_trait_op_and_SOURCES = mln_trait_op_and.cc
+mln_trait_op_xor_SOURCES = mln_trait_op_xor.cc
+mln_trait_op_essential_SOURCES = mln_trait_op_essential.cc
+mln_trait_op_preinc_SOURCES = mln_trait_op_preinc.cc
+mln_trait_op_greater_SOURCES = mln_trait_op_greater.cc
+mln_trait_op_predec_SOURCES = mln_trait_op_predec.cc
+mln_trait_op_neq_SOURCES = mln_trait_op_neq.cc
+mln_trait_op_postinc_SOURCES = mln_trait_op_postinc.cc
+mln_trait_op_uplus_SOURCES = mln_trait_op_uplus.cc
+mln_trait_op_geq_SOURCES = mln_trait_op_geq.cc
+mln_trait_op_uminus_SOURCES = mln_trait_op_uminus.cc
+mln_trait_op_all_SOURCES = mln_trait_op_all.cc
+mln_trait_op_plus_SOURCES = mln_trait_op_plus.cc
+mln_trait_op_eq_SOURCES = mln_trait_op_eq.cc
+mln_trait_op_leq_SOURCES = mln_trait_op_leq.cc
+mln_trait_op_less_SOURCES = mln_trait_op_less.cc
+mln_trait_op_postdec_SOURCES = mln_trait_op_postdec.cc
+mln_trait_op_minus_SOURCES = mln_trait_op_minus.cc
+mln_trait_op_times_SOURCES = mln_trait_op_times.cc
+mln_trait_op_decl_SOURCES = mln_trait_op_decl.cc
+mln_trait_op_lor_SOURCES = mln_trait_op_lor.cc
+mln_trait_all_SOURCES = mln_trait_all.cc
+mln_trait_undef_SOURCES = mln_trait_undef.cc
+mln_trait_image_print_SOURCES = mln_trait_image_print.cc
+mln_trait_image_props_SOURCES = mln_trait_image_props.cc
+mln_trait_solve_unary_SOURCES = mln_trait_solve_unary.cc
+mln_trait_site_set_print_SOURCES = mln_trait_site_set_print.cc
+mln_trait_site_set_props_SOURCES = mln_trait_site_set_props.cc
+mln_trait_neighborhood_SOURCES = mln_trait_neighborhood.cc
+mln_trait_ch_value_SOURCES = mln_trait_ch_value.cc
+mln_trait_value_print_SOURCES = mln_trait_value_print.cc
+mln_trait_value_nature_SOURCES = mln_trait_value_nature.cc
+mln_trait_value_kind_SOURCES = mln_trait_value_kind.cc
+mln_trait_value_quant_SOURCES = mln_trait_value_quant.cc
+mln_trait_value_essential_SOURCES = mln_trait_value_essential.cc
+mln_trait_value_all_SOURCES = mln_trait_value_all.cc
+mln_win_disk2d_SOURCES = mln_win_disk2d.cc
mln_win_cuboid3d_SOURCES = mln_win_cuboid3d.cc
-mln_win_vline2d_SOURCES = mln_win_vline2d.cc
+mln_win_segment1d_SOURCES = mln_win_segment1d.cc
mln_win_octagon2d_SOURCES = mln_win_octagon2d.cc
-mln_win_all_SOURCES = mln_win_all.cc
-mln_win_multiple_size_SOURCES = mln_win_multiple_size.cc
-mln_win_cube3d_SOURCES = mln_win_cube3d.cc
+mln_win_backdiag2d_SOURCES = mln_win_backdiag2d.cc
+mln_win_diag2d_SOURCES = mln_win_diag2d.cc
+mln_win_vline2d_SOURCES = mln_win_vline2d.cc
+mln_win_essential_SOURCES = mln_win_essential.cc
mln_win_shift_SOURCES = mln_win_shift.cc
mln_win_sym_SOURCES = mln_win_sym.cc
+mln_win_hline2d_SOURCES = mln_win_hline2d.cc
+mln_win_inter_SOURCES = mln_win_inter.cc
+mln_win_all_SOURCES = mln_win_all.cc
mln_win_diff_SOURCES = mln_win_diff.cc
-mln_win_multiple_SOURCES = mln_win_multiple.cc
-mln_win_diag2d_SOURCES = mln_win_diag2d.cc
-mln_win_disk2d_SOURCES = mln_win_disk2d.cc
mln_win_rectangle2d_SOURCES = mln_win_rectangle2d.cc
-mln_win_hline2d_SOURCES = mln_win_hline2d.cc
+mln_win_multiple_SOURCES = mln_win_multiple.cc
mln_win_line_SOURCES = mln_win_line.cc
-mln_win_essential_SOURCES = mln_win_essential.cc
-mln_core_clock_neighb_SOURCES = mln_core_clock_neighb.cc
-mln_core_pixter2d_SOURCES = mln_core_pixter2d.cc
-mln_core_def_low_quant_nbits_SOURCES = mln_core_def_low_quant_nbits.cc
-mln_core_def_all_SOURCES = mln_core_def_all.cc
-mln_core_def_coordf_SOURCES = mln_core_def_coordf.cc
-mln_core_def_coord_SOURCES = mln_core_def_coord.cc
-mln_core_def_essential_SOURCES = mln_core_def_essential.cc
-mln_core_site_set_box_SOURCES = mln_core_site_set_box.cc
-mln_core_site_set_p_vertices_SOURCES = mln_core_site_set_p_vertices.cc
-mln_core_site_set_p_vaccess_SOURCES = mln_core_site_set_p_vaccess.cc
-mln_core_site_set_p_if_piter_SOURCES = mln_core_site_set_p_if_piter.cc
-mln_core_site_set_p_run_piter_SOURCES = mln_core_site_set_p_run_piter.cc
-mln_core_site_set_p_key_SOURCES = mln_core_site_set_p_key.cc
-mln_core_site_set_p_double_SOURCES = mln_core_site_set_p_double.cc
-mln_core_site_set_p_complex_piter_SOURCES = mln_core_site_set_p_complex_piter.cc
-mln_core_site_set_p_complex_SOURCES = mln_core_site_set_p_complex.cc
-mln_core_site_set_p_image_SOURCES = mln_core_site_set_p_image.cc
-mln_core_site_set_attic_p_complex_faces_piter_SOURCES = mln_core_site_set_attic_p_complex_faces_piter.cc
-mln_core_site_set_attic_p_faces_piter_SOURCES = mln_core_site_set_attic_p_faces_piter.cc
-mln_core_site_set_p_priority_SOURCES = mln_core_site_set_p_priority.cc
-mln_core_site_set_p_set_of_SOURCES = mln_core_site_set_p_set_of.cc
-mln_core_site_set_all_SOURCES = mln_core_site_set_all.cc
-mln_core_site_set_p_edges_SOURCES = mln_core_site_set_p_edges.cc
-mln_core_site_set_box_piter_SOURCES = mln_core_site_set_box_piter.cc
-mln_core_site_set_p_faces_SOURCES = mln_core_site_set_p_faces.cc
-mln_core_site_set_p_set_SOURCES = mln_core_site_set_p_set.cc
-mln_core_site_set_p_queue_SOURCES = mln_core_site_set_p_queue.cc
-mln_core_site_set_p_if_SOURCES = mln_core_site_set_p_if.cc
-mln_core_site_set_operators_SOURCES = mln_core_site_set_operators.cc
-mln_core_site_set_p_mutable_array_of_SOURCES = mln_core_site_set_p_mutable_array_of.cc
-mln_core_site_set_p_edges_psite_SOURCES = mln_core_site_set_p_edges_psite.cc
-mln_core_site_set_complex_psite_SOURCES = mln_core_site_set_complex_psite.cc
-mln_core_site_set_p_run_SOURCES = mln_core_site_set_p_run.cc
-mln_core_site_set_p_n_faces_piter_SOURCES = mln_core_site_set_p_n_faces_piter.cc
-mln_core_site_set_p_centered_SOURCES = mln_core_site_set_p_centered.cc
-mln_core_site_set_p_bgraph_SOURCES = mln_core_site_set_p_bgraph.cc
-mln_core_site_set_p_bgraph_piter_SOURCES = mln_core_site_set_p_bgraph_piter.cc
-mln_core_site_set_p_array_SOURCES = mln_core_site_set_p_array.cc
-mln_core_site_set_p_vertices_psite_SOURCES = mln_core_site_set_p_vertices_psite.cc
-mln_core_site_set_p_line2d_SOURCES = mln_core_site_set_p_line2d.cc
-mln_core_site_set_p_queue_fast_SOURCES = mln_core_site_set_p_queue_fast.cc
-mln_core_site_set_p_graph_piter_SOURCES = mln_core_site_set_p_graph_piter.cc
-mln_core_site_set_essential_SOURCES = mln_core_site_set_essential.cc
+mln_win_multiple_size_SOURCES = mln_win_multiple_size.cc
+mln_win_cube3d_SOURCES = mln_win_cube3d.cc
+mln_core_category_SOURCES = mln_core_category.cc
+mln_core_pixter1d_SOURCES = mln_core_pixter1d.cc
+mln_core_routine_init_SOURCES = mln_core_routine_init.cc
+mln_core_routine_essential_SOURCES = mln_core_routine_essential.cc
+mln_core_routine_primary_SOURCES = mln_core_routine_primary.cc
+mln_core_routine_clone_SOURCES = mln_core_routine_clone.cc
+mln_core_routine_ops_SOURCES = mln_core_routine_ops.cc
+mln_core_routine_all_SOURCES = mln_core_routine_all.cc
+mln_core_routine_initialize_SOURCES = mln_core_routine_initialize.cc
+mln_core_routine_extend_SOURCES = mln_core_routine_extend.cc
+mln_core_routine_exact_SOURCES = mln_core_routine_exact.cc
+mln_core_trait_qlf_value_SOURCES = mln_core_trait_qlf_value.cc
+mln_core_trait_op_mult_SOURCES = mln_core_trait_op_mult.cc
+mln_core_trait_essential_SOURCES = mln_core_trait_essential.cc
+mln_core_trait_pixter_SOURCES = mln_core_trait_pixter.cc
+mln_core_trait_all_SOURCES = mln_core_trait_all.cc
+mln_core_a_point_of_SOURCES = mln_core_a_point_of.cc
+mln_core_def_coordf_SOURCES = mln_core_def_coordf.cc
+mln_core_def_low_quant_nbits_SOURCES = mln_core_def_low_quant_nbits.cc
+mln_core_def_essential_SOURCES = mln_core_def_essential.cc
+mln_core_def_all_SOURCES = mln_core_def_all.cc
+mln_core_def_coord_SOURCES = mln_core_def_coord.cc
+mln_core_dpoints_pixter_SOURCES = mln_core_dpoints_pixter.cc
mln_core_dpsites_piter_SOURCES = mln_core_dpsites_piter.cc
+mln_core_tags_SOURCES = mln_core_tags.cc
+mln_core_window_SOURCES = mln_core_window.cc
+mln_core_pixter2d_SOURCES = mln_core_pixter2d.cc
+mln_core_essential_SOURCES = mln_core_essential.cc
mln_core_w_window_SOURCES = mln_core_w_window.cc
-mln_core_grids_SOURCES = mln_core_grids.cc
-mln_core_dpoints_pixter_SOURCES = mln_core_dpoints_pixter.cc
+mln_core_alias_point2d_SOURCES = mln_core_alias_point2d.cc
+mln_core_alias_box2d_h_SOURCES = mln_core_alias_box2d_h.cc
+mln_core_alias_box2d_SOURCES = mln_core_alias_box2d.cc
+mln_core_alias_point2d_h_SOURCES = mln_core_alias_point2d_h.cc
+mln_core_alias_neighb3d_SOURCES = mln_core_alias_neighb3d.cc
+mln_core_alias_window1d_SOURCES = mln_core_alias_window1d.cc
+mln_core_alias_point3df_SOURCES = mln_core_alias_point3df.cc
+mln_core_alias_w_window2d_int_SOURCES = mln_core_alias_w_window2d_int.cc
+mln_core_alias_point1d_SOURCES = mln_core_alias_point1d.cc
+mln_core_alias_w_window3d_float_SOURCES = mln_core_alias_w_window3d_float.cc
+mln_core_alias_w_window1d_int_SOURCES = mln_core_alias_w_window1d_int.cc
+mln_core_alias_dpoint2d_h_SOURCES = mln_core_alias_dpoint2d_h.cc
+mln_core_alias_dpoint1d_SOURCES = mln_core_alias_dpoint1d.cc
+mln_core_alias_complex_image_SOURCES = mln_core_alias_complex_image.cc
+mln_core_alias_complex_geometry_SOURCES = mln_core_alias_complex_geometry.cc
+mln_core_alias_p_run2d_SOURCES = mln_core_alias_p_run2d.cc
+mln_core_alias_w_window1d_float_SOURCES = mln_core_alias_w_window1d_float.cc
+mln_core_alias_w_window3d_int_SOURCES = mln_core_alias_w_window3d_int.cc
+mln_core_alias_box3d_SOURCES = mln_core_alias_box3d.cc
+mln_core_alias_neighb1d_SOURCES = mln_core_alias_neighb1d.cc
+mln_core_alias_neighb2d_SOURCES = mln_core_alias_neighb2d.cc
+mln_core_alias_w_window2d_float_SOURCES = mln_core_alias_w_window2d_float.cc
+mln_core_alias_window2d_SOURCES = mln_core_alias_window2d.cc
+mln_core_alias_window3d_SOURCES = mln_core_alias_window3d.cc
+mln_core_alias_point3d_SOURCES = mln_core_alias_point3d.cc
+mln_core_alias_dpoint3d_SOURCES = mln_core_alias_dpoint3d.cc
+mln_core_alias_dpoint2d_SOURCES = mln_core_alias_dpoint2d.cc
+mln_core_alias_box1d_SOURCES = mln_core_alias_box1d.cc
+mln_core_alias_p_runs2d_SOURCES = mln_core_alias_p_runs2d.cc
+mln_core_point_SOURCES = mln_core_point.cc
+mln_core_clock_neighb_SOURCES = mln_core_clock_neighb.cc
+mln_core_neighb_SOURCES = mln_core_neighb.cc
+mln_core_dpoint_SOURCES = mln_core_dpoint.cc
+mln_core_var_SOURCES = mln_core_var.cc
+mln_core_faces_psite_SOURCES = mln_core_faces_psite.cc
+mln_core_contract_SOURCES = mln_core_contract.cc
+mln_core_macros_SOURCES = mln_core_macros.cc
+mln_core_all_SOURCES = mln_core_all.cc
+mln_core_internal_image_primary_SOURCES = mln_core_internal_image_primary.cc
+mln_core_internal_window_base_SOURCES = mln_core_internal_window_base.cc
mln_core_internal_graph_psite_base_SOURCES = mln_core_internal_graph_psite_base.cc
-mln_core_internal_run_image_SOURCES = mln_core_internal_run_image.cc
-mln_core_internal_pixel_impl_SOURCES = mln_core_internal_pixel_impl.cc
-mln_core_internal_site_set_base_SOURCES = mln_core_internal_site_set_base.cc
-mln_core_internal_image_value_morpher_SOURCES = mln_core_internal_image_value_morpher.cc
-mln_core_internal_site_iterator_base_SOURCES = mln_core_internal_site_iterator_base.cc
-mln_core_internal_complex_neighborhood_base_SOURCES = mln_core_internal_complex_neighborhood_base.cc
-mln_core_internal_site_relative_iterator_base_SOURCES = mln_core_internal_site_relative_iterator_base.cc
+mln_core_internal_data_SOURCES = mln_core_internal_data.cc
mln_core_internal_site_set_impl_SOURCES = mln_core_internal_site_set_impl.cc
-mln_core_internal_exact_SOURCES = mln_core_internal_exact.cc
+mln_core_internal_piter_adaptor_SOURCES = mln_core_internal_piter_adaptor.cc
+mln_core_internal_image_morpher_SOURCES = mln_core_internal_image_morpher.cc
+mln_core_internal_image_value_morpher_SOURCES = mln_core_internal_image_value_morpher.cc
+mln_core_internal_complex_window_p_base_SOURCES = mln_core_internal_complex_window_p_base.cc
mln_core_internal_p_complex_piter_base_SOURCES = mln_core_internal_p_complex_piter_base.cc
+mln_core_internal_site_set_base_SOURCES = mln_core_internal_site_set_base.cc
mln_core_internal_neighb_niter_impl_SOURCES = mln_core_internal_neighb_niter_impl.cc
-mln_core_internal_pixel_iterator_base_SOURCES = mln_core_internal_pixel_iterator_base.cc
-mln_core_internal_classical_window_base_SOURCES = mln_core_internal_classical_window_base.cc
-mln_core_internal_data_SOURCES = mln_core_internal_data.cc
-mln_core_internal_force_exact_SOURCES = mln_core_internal_force_exact.cc
-mln_core_internal_image_base_SOURCES = mln_core_internal_image_base.cc
+mln_core_internal_site_set_iterator_base_SOURCES = mln_core_internal_site_set_iterator_base.cc
+mln_core_internal_set_of_SOURCES = mln_core_internal_set_of.cc
mln_core_internal_check_image_fastest_SOURCES = mln_core_internal_check_image_fastest.cc
mln_core_internal_check_image_all_SOURCES = mln_core_internal_check_image_all.cc
+mln_core_internal_classical_window_base_SOURCES = mln_core_internal_classical_window_base.cc
+mln_core_internal_force_exact_SOURCES = mln_core_internal_force_exact.cc
+mln_core_internal_pixel_iterator_base_SOURCES = mln_core_internal_pixel_iterator_base.cc
+mln_core_internal_coord_impl_SOURCES = mln_core_internal_coord_impl.cc
+mln_core_internal_pixel_impl_SOURCES = mln_core_internal_pixel_impl.cc
+mln_core_internal_site_iterator_base_SOURCES = mln_core_internal_site_iterator_base.cc
+mln_core_internal_run_image_SOURCES = mln_core_internal_run_image.cc
mln_core_internal_fixme_SOURCES = mln_core_internal_fixme.cc
+mln_core_internal_pseudo_site_base_SOURCES = mln_core_internal_pseudo_site_base.cc
mln_core_internal_morpher_lvalue_SOURCES = mln_core_internal_morpher_lvalue.cc
mln_core_internal_image_domain_morpher_SOURCES = mln_core_internal_image_domain_morpher.cc
-mln_core_internal_image_primary_SOURCES = mln_core_internal_image_primary.cc
-mln_core_internal_set_of_SOURCES = mln_core_internal_set_of.cc
-mln_core_internal_complex_window_p_base_SOURCES = mln_core_internal_complex_window_p_base.cc
+mln_core_internal_complex_neighborhood_base_SOURCES = mln_core_internal_complex_neighborhood_base.cc
mln_core_internal_graph_window_base_SOURCES = mln_core_internal_graph_window_base.cc
-mln_core_internal_piter_adaptor_SOURCES = mln_core_internal_piter_adaptor.cc
+mln_core_internal_image_identity_SOURCES = mln_core_internal_image_identity.cc
+mln_core_internal_geom_bbox_SOURCES = mln_core_internal_geom_bbox.cc
mln_core_internal_weighted_window_base_SOURCES = mln_core_internal_weighted_window_base.cc
mln_core_internal_neighborhood_base_SOURCES = mln_core_internal_neighborhood_base.cc
-mln_core_internal_image_morpher_SOURCES = mln_core_internal_image_morpher.cc
-mln_core_internal_coord_impl_SOURCES = mln_core_internal_coord_impl.cc
-mln_core_internal_geom_bbox_SOURCES = mln_core_internal_geom_bbox.cc
-mln_core_internal_image_identity_SOURCES = mln_core_internal_image_identity.cc
-mln_core_internal_pseudo_site_base_SOURCES = mln_core_internal_pseudo_site_base.cc
-mln_core_internal_window_base_SOURCES = mln_core_internal_window_base.cc
+mln_core_internal_site_relative_iterator_base_SOURCES = mln_core_internal_site_relative_iterator_base.cc
+mln_core_internal_exact_SOURCES = mln_core_internal_exact.cc
mln_core_internal_box_impl_SOURCES = mln_core_internal_box_impl.cc
-mln_core_internal_site_set_iterator_base_SOURCES = mln_core_internal_site_set_iterator_base.cc
-mln_core_contract_SOURCES = mln_core_contract.cc
-mln_core_all_SOURCES = mln_core_all.cc
-mln_core_point_SOURCES = mln_core_point.cc
-mln_core_neighb_SOURCES = mln_core_neighb.cc
-mln_core_routine_initialize_SOURCES = mln_core_routine_initialize.cc
-mln_core_routine_primary_SOURCES = mln_core_routine_primary.cc
-mln_core_routine_init_SOURCES = mln_core_routine_init.cc
-mln_core_routine_ops_SOURCES = mln_core_routine_ops.cc
-mln_core_routine_all_SOURCES = mln_core_routine_all.cc
-mln_core_routine_clone_SOURCES = mln_core_routine_clone.cc
-mln_core_routine_exact_SOURCES = mln_core_routine_exact.cc
-mln_core_routine_extend_SOURCES = mln_core_routine_extend.cc
-mln_core_routine_essential_SOURCES = mln_core_routine_essential.cc
-mln_core_trait_op_mult_SOURCES = mln_core_trait_op_mult.cc
-mln_core_trait_all_SOURCES = mln_core_trait_all.cc
-mln_core_trait_pixter_SOURCES = mln_core_trait_pixter.cc
-mln_core_trait_qlf_value_SOURCES = mln_core_trait_qlf_value.cc
-mln_core_trait_essential_SOURCES = mln_core_trait_essential.cc
-mln_core_pixter1d_SOURCES = mln_core_pixter1d.cc
-mln_core_category_SOURCES = mln_core_category.cc
-mln_core_macros_SOURCES = mln_core_macros.cc
-mln_core_box_runstart_piter_SOURCES = mln_core_box_runstart_piter.cc
-mln_core_tags_SOURCES = mln_core_tags.cc
-mln_core_dpoint_SOURCES = mln_core_dpoint.cc
-mln_core_alias_dpoint2d_h_SOURCES = mln_core_alias_dpoint2d_h.cc
-mln_core_alias_p_run2d_SOURCES = mln_core_alias_p_run2d.cc
-mln_core_alias_point3d_SOURCES = mln_core_alias_point3d.cc
-mln_core_alias_neighb3d_SOURCES = mln_core_alias_neighb3d.cc
-mln_core_alias_window3d_SOURCES = mln_core_alias_window3d.cc
-mln_core_alias_neighb2d_SOURCES = mln_core_alias_neighb2d.cc
-mln_core_alias_complex_image_SOURCES = mln_core_alias_complex_image.cc
-mln_core_alias_w_window1d_float_SOURCES = mln_core_alias_w_window1d_float.cc
-mln_core_alias_neighb1d_SOURCES = mln_core_alias_neighb1d.cc
-mln_core_alias_w_window2d_float_SOURCES = mln_core_alias_w_window2d_float.cc
-mln_core_alias_w_window2d_int_SOURCES = mln_core_alias_w_window2d_int.cc
-mln_core_alias_box1d_SOURCES = mln_core_alias_box1d.cc
-mln_core_alias_box2d_SOURCES = mln_core_alias_box2d.cc
-mln_core_alias_window1d_SOURCES = mln_core_alias_window1d.cc
-mln_core_alias_point1d_SOURCES = mln_core_alias_point1d.cc
-mln_core_alias_box3d_SOURCES = mln_core_alias_box3d.cc
-mln_core_alias_dpoint3d_SOURCES = mln_core_alias_dpoint3d.cc
-mln_core_alias_complex_geometry_SOURCES = mln_core_alias_complex_geometry.cc
-mln_core_alias_w_window3d_float_SOURCES = mln_core_alias_w_window3d_float.cc
-mln_core_alias_box2d_h_SOURCES = mln_core_alias_box2d_h.cc
-mln_core_alias_point2d_SOURCES = mln_core_alias_point2d.cc
-mln_core_alias_window2d_SOURCES = mln_core_alias_window2d.cc
-mln_core_alias_p_runs2d_SOURCES = mln_core_alias_p_runs2d.cc
-mln_core_alias_point3df_SOURCES = mln_core_alias_point3df.cc
-mln_core_alias_dpoint1d_SOURCES = mln_core_alias_dpoint1d.cc
-mln_core_alias_w_window3d_int_SOURCES = mln_core_alias_w_window3d_int.cc
-mln_core_alias_dpoint2d_SOURCES = mln_core_alias_dpoint2d.cc
-mln_core_alias_w_window1d_int_SOURCES = mln_core_alias_w_window1d_int.cc
-mln_core_alias_point2d_h_SOURCES = mln_core_alias_point2d_h.cc
-mln_core_window_SOURCES = mln_core_window.cc
-mln_core_concept_site_proxy_SOURCES = mln_core_concept_site_proxy.cc
-mln_core_concept_point_site_SOURCES = mln_core_concept_point_site.cc
-mln_core_concept_box_SOURCES = mln_core_concept_box.cc
-mln_core_concept_generalized_pixel_SOURCES = mln_core_concept_generalized_pixel.cc
-mln_core_concept_graph_SOURCES = mln_core_concept_graph.cc
-mln_core_concept_iterator_SOURCES = mln_core_concept_iterator.cc
-mln_core_concept_doc_point_site_SOURCES = mln_core_concept_doc_point_site.cc
-mln_core_concept_doc_box_SOURCES = mln_core_concept_doc_box.cc
-mln_core_concept_doc_generalized_pixel_SOURCES = mln_core_concept_doc_generalized_pixel.cc
-mln_core_concept_doc_iterator_SOURCES = mln_core_concept_doc_iterator.cc
-mln_core_concept_doc_image_fastest_SOURCES = mln_core_concept_doc_image_fastest.cc
-mln_core_concept_doc_image_SOURCES = mln_core_concept_doc_image.cc
-mln_core_concept_doc_value_set_SOURCES = mln_core_concept_doc_value_set.cc
-mln_core_concept_doc_weighted_window_SOURCES = mln_core_concept_doc_weighted_window.cc
-mln_core_concept_doc_pixel_iterator_SOURCES = mln_core_concept_doc_pixel_iterator.cc
-mln_core_concept_doc_value_iterator_SOURCES = mln_core_concept_doc_value_iterator.cc
-mln_core_concept_doc_dpoint_SOURCES = mln_core_concept_doc_dpoint.cc
-mln_core_concept_doc_window_SOURCES = mln_core_concept_doc_window.cc
-mln_core_concept_doc_accumulator_SOURCES = mln_core_concept_doc_accumulator.cc
-mln_core_concept_doc_site_set_SOURCES = mln_core_concept_doc_site_set.cc
-mln_core_concept_doc_object_SOURCES = mln_core_concept_doc_object.cc
-mln_core_concept_doc_neighborhood_SOURCES = mln_core_concept_doc_neighborhood.cc
-mln_core_concept_doc_point_iterator_SOURCES = mln_core_concept_doc_point_iterator.cc
-mln_core_concept_pseudo_site_SOURCES = mln_core_concept_pseudo_site.cc
-mln_core_concept_image_SOURCES = mln_core_concept_image.cc
-mln_core_concept_value_set_SOURCES = mln_core_concept_value_set.cc
-mln_core_concept_proxy_SOURCES = mln_core_concept_proxy.cc
-mln_core_concept_site_SOURCES = mln_core_concept_site.cc
-mln_core_concept_weighted_window_SOURCES = mln_core_concept_weighted_window.cc
-mln_core_concept_all_SOURCES = mln_core_concept_all.cc
-mln_core_concept_gpoint_SOURCES = mln_core_concept_gpoint.cc
-mln_core_concept_site_iterator_SOURCES = mln_core_concept_site_iterator.cc
-mln_core_concept_point_SOURCES = mln_core_concept_point.cc
-mln_core_concept_literal_SOURCES = mln_core_concept_literal.cc
-mln_core_concept_pixel_iterator_SOURCES = mln_core_concept_pixel_iterator.cc
-mln_core_concept_value_iterator_SOURCES = mln_core_concept_value_iterator.cc
-mln_core_concept_meta_accumulator_SOURCES = mln_core_concept_meta_accumulator.cc
-mln_core_concept_gdpoint_SOURCES = mln_core_concept_gdpoint.cc
-mln_core_concept_regular_grid_SOURCES = mln_core_concept_regular_grid.cc
-mln_core_concept_mesh_SOURCES = mln_core_concept_mesh.cc
-mln_core_concept_dpoint_SOURCES = mln_core_concept_dpoint.cc
-mln_core_concept_function_SOURCES = mln_core_concept_function.cc
-mln_core_concept_window_SOURCES = mln_core_concept_window.cc
-mln_core_concept_value_SOURCES = mln_core_concept_value.cc
-mln_core_concept_accumulator_SOURCES = mln_core_concept_accumulator.cc
-mln_core_concept_site_set_SOURCES = mln_core_concept_site_set.cc
-mln_core_concept_object_SOURCES = mln_core_concept_object.cc
-mln_core_concept_delta_point_site_SOURCES = mln_core_concept_delta_point_site.cc
-mln_core_concept_neighborhood_SOURCES = mln_core_concept_neighborhood.cc
-mln_core_concept_browsing_SOURCES = mln_core_concept_browsing.cc
-mln_core_pixel_SOURCES = mln_core_pixel.cc
+mln_core_internal_image_base_SOURCES = mln_core_internal_image_base.cc
mln_core_clock_neighb2d_SOURCES = mln_core_clock_neighb2d.cc
-mln_core_pixter3d_SOURCES = mln_core_pixter3d.cc
mln_core_image_obased_rle_encode_SOURCES = mln_core_image_obased_rle_encode.cc
mln_core_image_plain_SOURCES = mln_core_image_plain.cc
-mln_core_image_graph_image_SOURCES = mln_core_image_graph_image.cc
-mln_core_image_image3d_SOURCES = mln_core_image_image3d.cc
mln_core_image_decorated_image_SOURCES = mln_core_image_decorated_image.cc
-mln_core_image_extension_ima_SOURCES = mln_core_image_extension_ima.cc
-mln_core_image_flat_image_SOURCES = mln_core_image_flat_image.cc
+mln_core_image_graph_image_SOURCES = mln_core_image_graph_image.cc
mln_core_image_complex_neighborhood_piter_SOURCES = mln_core_image_complex_neighborhood_piter.cc
-mln_core_image_tr_mesh_SOURCES = mln_core_image_tr_mesh.cc
-mln_core_image_graph_elt_window_SOURCES = mln_core_image_graph_elt_window.cc
-mln_core_image_obased_rle_image_SOURCES = mln_core_image_obased_rle_image.cc
-mln_core_image_mono_obased_rle_image_SOURCES = mln_core_image_mono_obased_rle_image.cc
-mln_core_image_interpolated_SOURCES = mln_core_image_interpolated.cc
-mln_core_image_lazy_image_SOURCES = mln_core_image_lazy_image.cc
-mln_core_image_t_image_SOURCES = mln_core_image_t_image.cc
+mln_core_image_graph_window_piter_SOURCES = mln_core_image_graph_window_piter.cc
mln_core_image_hexa_piter_SOURCES = mln_core_image_hexa_piter.cc
-mln_core_image_value_enc_image_SOURCES = mln_core_image_value_enc_image.cc
-mln_core_image_sub_image_if_SOURCES = mln_core_image_sub_image_if.cc
-mln_core_image_all_SOURCES = mln_core_image_all.cc
-mln_core_image_mono_rle_image_SOURCES = mln_core_image_mono_rle_image.cc
-mln_core_image_complex_image_SOURCES = mln_core_image_complex_image.cc
-mln_core_image_cast_image_SOURCES = mln_core_image_cast_image.cc
mln_core_image_rle_encode_SOURCES = mln_core_image_rle_encode.cc
-mln_core_image_complex_window_piter_SOURCES = mln_core_image_complex_window_piter.cc
+mln_core_image_extension_val_SOURCES = mln_core_image_extension_val.cc
mln_core_image_tr_image_SOURCES = mln_core_image_tr_image.cc
-mln_core_image_sub_image_SOURCES = mln_core_image_sub_image.cc
-mln_core_image_rle_image_SOURCES = mln_core_image_rle_image.cc
-mln_core_image_line_graph_elt_window_SOURCES = mln_core_image_line_graph_elt_window.cc
-mln_core_image_mono_rle_encode_SOURCES = mln_core_image_mono_rle_encode.cc
-mln_core_image_bgraph_psite_SOURCES = mln_core_image_bgraph_psite.cc
-mln_core_image_sparse_image_SOURCES = mln_core_image_sparse_image.cc
-mln_core_image_bgraph_image_SOURCES = mln_core_image_bgraph_image.cc
-mln_core_image_complex_neighborhoods_SOURCES = mln_core_image_complex_neighborhoods.cc
-mln_core_image_graph_window_piter_SOURCES = mln_core_image_graph_window_piter.cc
+mln_core_image_fi_adaptor_SOURCES = mln_core_image_fi_adaptor.cc
+mln_core_image_extension_ima_SOURCES = mln_core_image_extension_ima.cc
mln_core_image_sparse_encode_SOURCES = mln_core_image_sparse_encode.cc
+mln_core_image_lazy_image_SOURCES = mln_core_image_lazy_image.cc
+mln_core_image_hexa_SOURCES = mln_core_image_hexa.cc
+mln_core_image_flat_image_SOURCES = mln_core_image_flat_image.cc
+mln_core_image_essential_SOURCES = mln_core_image_essential.cc
+mln_core_image_value_enc_image_SOURCES = mln_core_image_value_enc_image.cc
+mln_core_image_image_if_SOURCES = mln_core_image_image_if.cc
+mln_core_image_complex_image_SOURCES = mln_core_image_complex_image.cc
+mln_core_image_image2d_h_SOURCES = mln_core_image_image2d_h.cc
+mln_core_image_rle_image_SOURCES = mln_core_image_rle_image.cc
+mln_core_image_complex_window_piter_SOURCES = mln_core_image_complex_window_piter.cc
+mln_core_image_mono_rle_image_SOURCES = mln_core_image_mono_rle_image.cc
+mln_core_image_graph_elt_window_SOURCES = mln_core_image_graph_elt_window.cc
+mln_core_image_interpolated_SOURCES = mln_core_image_interpolated.cc
+mln_core_image_image1d_SOURCES = mln_core_image_image1d.cc
+mln_core_image_value_encode_SOURCES = mln_core_image_value_encode.cc
+mln_core_image_mono_obased_rle_image_SOURCES = mln_core_image_mono_obased_rle_image.cc
+mln_core_image_t_image_SOURCES = mln_core_image_t_image.cc
+mln_core_image_image2d_SOURCES = mln_core_image_image2d.cc
+mln_core_image_cast_image_SOURCES = mln_core_image_cast_image.cc
+mln_core_image_obased_rle_image_SOURCES = mln_core_image_obased_rle_image.cc
+mln_core_image_all_SOURCES = mln_core_image_all.cc
+mln_core_image_complex_windows_SOURCES = mln_core_image_complex_windows.cc
mln_core_image_safe_SOURCES = mln_core_image_safe.cc
-mln_core_image_extension_fun_SOURCES = mln_core_image_extension_fun.cc
-mln_core_image_image1d_SOURCES = mln_core_image_image1d.cc
-mln_core_image_extension_val_SOURCES = mln_core_image_extension_val.cc
-mln_core_image_image_if_SOURCES = mln_core_image_image_if.cc
-mln_core_image_hexa_SOURCES = mln_core_image_hexa.cc
mln_core_image_extended_SOURCES = mln_core_image_extended.cc
-mln_core_image_image2d_h_SOURCES = mln_core_image_image2d_h.cc
-mln_core_image_image2d_SOURCES = mln_core_image_image2d.cc
+mln_core_image_sparse_image_SOURCES = mln_core_image_sparse_image.cc
+mln_core_image_bgraph_image_SOURCES = mln_core_image_bgraph_image.cc
+mln_core_image_image3d_SOURCES = mln_core_image_image3d.cc
+mln_core_image_bgraph_psite_SOURCES = mln_core_image_bgraph_psite.cc
+mln_core_image_sub_image_if_SOURCES = mln_core_image_sub_image_if.cc
+mln_core_image_line_graph_elt_window_SOURCES = mln_core_image_line_graph_elt_window.cc
+mln_core_image_tr_mesh_SOURCES = mln_core_image_tr_mesh.cc
+mln_core_image_sub_image_SOURCES = mln_core_image_sub_image.cc
mln_core_image_ch_piter_SOURCES = mln_core_image_ch_piter.cc
-mln_core_image_complex_windows_SOURCES = mln_core_image_complex_windows.cc
-mln_core_image_fi_adaptor_SOURCES = mln_core_image_fi_adaptor.cc
+mln_core_image_extension_fun_SOURCES = mln_core_image_extension_fun.cc
mln_core_image_mono_obased_rle_encode_SOURCES = mln_core_image_mono_obased_rle_encode.cc
mln_core_image_line_graph_image_SOURCES = mln_core_image_line_graph_image.cc
-mln_core_image_value_encode_SOURCES = mln_core_image_value_encode.cc
-mln_core_image_essential_SOURCES = mln_core_image_essential.cc
-mln_core_a_point_of_SOURCES = mln_core_a_point_of.cc
-mln_core_var_SOURCES = mln_core_var.cc
-mln_core_essential_SOURCES = mln_core_essential.cc
-mln_core_faces_psite_SOURCES = mln_core_faces_psite.cc
-mln_labeling_blobs_SOURCES = mln_labeling_blobs.cc
+mln_core_image_mono_rle_encode_SOURCES = mln_core_image_mono_rle_encode.cc
+mln_core_image_complex_neighborhoods_SOURCES = mln_core_image_complex_neighborhoods.cc
+mln_core_pixter3d_SOURCES = mln_core_pixter3d.cc
+mln_core_concept_site_SOURCES = mln_core_concept_site.cc
+mln_core_concept_value_SOURCES = mln_core_concept_value.cc
+mln_core_concept_gdpoint_SOURCES = mln_core_concept_gdpoint.cc
+mln_core_concept_pseudo_site_SOURCES = mln_core_concept_pseudo_site.cc
+mln_core_concept_delta_point_site_SOURCES = mln_core_concept_delta_point_site.cc
+mln_core_concept_site_set_SOURCES = mln_core_concept_site_set.cc
+mln_core_concept_value_set_SOURCES = mln_core_concept_value_set.cc
+mln_core_concept_gpoint_SOURCES = mln_core_concept_gpoint.cc
+mln_core_concept_site_proxy_SOURCES = mln_core_concept_site_proxy.cc
+mln_core_concept_window_SOURCES = mln_core_concept_window.cc
+mln_core_concept_mesh_SOURCES = mln_core_concept_mesh.cc
+mln_core_concept_box_SOURCES = mln_core_concept_box.cc
+mln_core_concept_graph_SOURCES = mln_core_concept_graph.cc
+mln_core_concept_point_SOURCES = mln_core_concept_point.cc
+mln_core_concept_value_iterator_SOURCES = mln_core_concept_value_iterator.cc
+mln_core_concept_doc_site_set_SOURCES = mln_core_concept_doc_site_set.cc
+mln_core_concept_doc_image_fastest_SOURCES = mln_core_concept_doc_image_fastest.cc
+mln_core_concept_doc_value_set_SOURCES = mln_core_concept_doc_value_set.cc
+mln_core_concept_doc_window_SOURCES = mln_core_concept_doc_window.cc
+mln_core_concept_doc_box_SOURCES = mln_core_concept_doc_box.cc
+mln_core_concept_doc_value_iterator_SOURCES = mln_core_concept_doc_value_iterator.cc
+mln_core_concept_doc_weighted_window_SOURCES = mln_core_concept_doc_weighted_window.cc
+mln_core_concept_doc_image_SOURCES = mln_core_concept_doc_image.cc
+mln_core_concept_doc_dpoint_SOURCES = mln_core_concept_doc_dpoint.cc
+mln_core_concept_doc_iterator_SOURCES = mln_core_concept_doc_iterator.cc
+mln_core_concept_doc_accumulator_SOURCES = mln_core_concept_doc_accumulator.cc
+mln_core_concept_doc_neighborhood_SOURCES = mln_core_concept_doc_neighborhood.cc
+mln_core_concept_doc_pixel_iterator_SOURCES = mln_core_concept_doc_pixel_iterator.cc
+mln_core_concept_doc_point_iterator_SOURCES = mln_core_concept_doc_point_iterator.cc
+mln_core_concept_doc_object_SOURCES = mln_core_concept_doc_object.cc
+mln_core_concept_doc_generalized_pixel_SOURCES = mln_core_concept_doc_generalized_pixel.cc
+mln_core_concept_doc_point_site_SOURCES = mln_core_concept_doc_point_site.cc
+mln_core_concept_weighted_window_SOURCES = mln_core_concept_weighted_window.cc
+mln_core_concept_image_SOURCES = mln_core_concept_image.cc
+mln_core_concept_function_SOURCES = mln_core_concept_function.cc
+mln_core_concept_browsing_SOURCES = mln_core_concept_browsing.cc
+mln_core_concept_dpoint_SOURCES = mln_core_concept_dpoint.cc
+mln_core_concept_iterator_SOURCES = mln_core_concept_iterator.cc
+mln_core_concept_meta_accumulator_SOURCES = mln_core_concept_meta_accumulator.cc
+mln_core_concept_accumulator_SOURCES = mln_core_concept_accumulator.cc
+mln_core_concept_all_SOURCES = mln_core_concept_all.cc
+mln_core_concept_proxy_SOURCES = mln_core_concept_proxy.cc
+mln_core_concept_neighborhood_SOURCES = mln_core_concept_neighborhood.cc
+mln_core_concept_pixel_iterator_SOURCES = mln_core_concept_pixel_iterator.cc
+mln_core_concept_literal_SOURCES = mln_core_concept_literal.cc
+mln_core_concept_site_iterator_SOURCES = mln_core_concept_site_iterator.cc
+mln_core_concept_regular_grid_SOURCES = mln_core_concept_regular_grid.cc
+mln_core_concept_object_SOURCES = mln_core_concept_object.cc
+mln_core_concept_generalized_pixel_SOURCES = mln_core_concept_generalized_pixel.cc
+mln_core_concept_point_site_SOURCES = mln_core_concept_point_site.cc
+mln_core_site_set_p_array_SOURCES = mln_core_site_set_p_array.cc
+mln_core_site_set_p_priority_SOURCES = mln_core_site_set_p_priority.cc
+mln_core_site_set_p_bgraph_SOURCES = mln_core_site_set_p_bgraph.cc
+mln_core_site_set_p_queue_SOURCES = mln_core_site_set_p_queue.cc
+mln_core_site_set_p_double_SOURCES = mln_core_site_set_p_double.cc
+mln_core_site_set_p_set_SOURCES = mln_core_site_set_p_set.cc
+mln_core_site_set_p_complex_SOURCES = mln_core_site_set_p_complex.cc
+mln_core_site_set_p_graph_piter_SOURCES = mln_core_site_set_p_graph_piter.cc
+mln_core_site_set_p_n_faces_piter_SOURCES = mln_core_site_set_p_n_faces_piter.cc
+mln_core_site_set_p_set_of_SOURCES = mln_core_site_set_p_set_of.cc
+mln_core_site_set_p_vaccess_SOURCES = mln_core_site_set_p_vaccess.cc
+mln_core_site_set_box_piter_SOURCES = mln_core_site_set_box_piter.cc
+mln_core_site_set_p_vertices_psite_SOURCES = mln_core_site_set_p_vertices_psite.cc
+mln_core_site_set_complex_psite_SOURCES = mln_core_site_set_complex_psite.cc
+mln_core_site_set_p_run_SOURCES = mln_core_site_set_p_run.cc
+mln_core_site_set_essential_SOURCES = mln_core_site_set_essential.cc
+mln_core_site_set_box_SOURCES = mln_core_site_set_box.cc
+mln_core_site_set_p_line2d_SOURCES = mln_core_site_set_p_line2d.cc
+mln_core_site_set_p_edges_psite_SOURCES = mln_core_site_set_p_edges_psite.cc
+mln_core_site_set_p_mutable_array_of_SOURCES = mln_core_site_set_p_mutable_array_of.cc
+mln_core_site_set_p_run_piter_SOURCES = mln_core_site_set_p_run_piter.cc
+mln_core_site_set_p_faces_SOURCES = mln_core_site_set_p_faces.cc
+mln_core_site_set_operators_SOURCES = mln_core_site_set_operators.cc
+mln_core_site_set_p_if_piter_SOURCES = mln_core_site_set_p_if_piter.cc
+mln_core_site_set_all_SOURCES = mln_core_site_set_all.cc
+mln_core_site_set_p_edges_SOURCES = mln_core_site_set_p_edges.cc
+mln_core_site_set_p_bgraph_piter_SOURCES = mln_core_site_set_p_bgraph_piter.cc
+mln_core_site_set_p_centered_SOURCES = mln_core_site_set_p_centered.cc
+mln_core_site_set_p_key_SOURCES = mln_core_site_set_p_key.cc
+mln_core_site_set_p_vertices_SOURCES = mln_core_site_set_p_vertices.cc
+mln_core_site_set_p_if_SOURCES = mln_core_site_set_p_if.cc
+mln_core_site_set_p_queue_fast_SOURCES = mln_core_site_set_p_queue_fast.cc
+mln_core_site_set_p_image_SOURCES = mln_core_site_set_p_image.cc
+mln_core_site_set_p_complex_piter_SOURCES = mln_core_site_set_p_complex_piter.cc
+mln_core_site_set_attic_p_faces_piter_SOURCES = mln_core_site_set_attic_p_faces_piter.cc
+mln_core_site_set_attic_p_complex_faces_piter_SOURCES = mln_core_site_set_attic_p_complex_faces_piter.cc
+mln_core_pixel_SOURCES = mln_core_pixel.cc
+mln_core_box_runstart_piter_SOURCES = mln_core_box_runstart_piter.cc
+mln_core_grids_SOURCES = mln_core_grids.cc
+mln_io_abort_SOURCES = mln_io_abort.cc
+mln_io_pbm_all_SOURCES = mln_io_pbm_all.cc
+mln_io_pbm_load_SOURCES = mln_io_pbm_load.cc
+mln_io_pbm_save_SOURCES = mln_io_pbm_save.cc
+mln_io_essential_SOURCES = mln_io_essential.cc
+mln_io_off_all_SOURCES = mln_io_off_all.cc
+mln_io_off_load_SOURCES = mln_io_off_load.cc
+mln_io_off_save_SOURCES = mln_io_off_save.cc
+mln_io_pfm_all_SOURCES = mln_io_pfm_all.cc
+mln_io_pfm_load_SOURCES = mln_io_pfm_load.cc
+mln_io_pfm_save_SOURCES = mln_io_pfm_save.cc
+mln_io_pgm_all_SOURCES = mln_io_pgm_all.cc
+mln_io_pgm_load_SOURCES = mln_io_pgm_load.cc
+mln_io_pgm_save_SOURCES = mln_io_pgm_save.cc
+mln_io_all_SOURCES = mln_io_all.cc
+mln_io_fits_all_SOURCES = mln_io_fits_all.cc
+mln_io_fits_load_SOURCES = mln_io_fits_load.cc
+mln_io_pnm_max_component_SOURCES = mln_io_pnm_max_component.cc
+mln_io_pnm_save_header_SOURCES = mln_io_pnm_save_header.cc
+mln_io_pnm_macros_SOURCES = mln_io_pnm_macros.cc
+mln_io_pnm_all_SOURCES = mln_io_pnm_all.cc
+mln_io_pnm_load_SOURCES = mln_io_pnm_load.cc
+mln_io_pnm_load_header_SOURCES = mln_io_pnm_load_header.cc
+mln_io_pnm_save_SOURCES = mln_io_pnm_save.cc
+mln_io_ppm_all_SOURCES = mln_io_ppm_all.cc
+mln_io_ppm_load_SOURCES = mln_io_ppm_load.cc
+mln_io_ppm_save_SOURCES = mln_io_ppm_save.cc
+mln_io_txt_all_SOURCES = mln_io_txt_all.cc
+mln_io_txt_save_SOURCES = mln_io_txt_save.cc
+mln_make_vec_SOURCES = mln_make_vec.cc
+mln_make_box2d_h_SOURCES = mln_make_box2d_h.cc
+mln_make_box2d_SOURCES = mln_make_box2d.cc
+mln_make_point2d_h_SOURCES = mln_make_point2d_h.cc
+mln_make_double_neighb2d_SOURCES = mln_make_double_neighb2d.cc
+mln_make_w_window2d_int_SOURCES = mln_make_w_window2d_int.cc
+mln_make_w_window1d_SOURCES = mln_make_w_window1d.cc
+mln_make_relabelfun_SOURCES = mln_make_relabelfun.cc
+mln_make_pix_SOURCES = mln_make_pix.cc
+mln_make_w_window1d_int_SOURCES = mln_make_w_window1d_int.cc
+mln_make_dpoint2d_h_SOURCES = mln_make_dpoint2d_h.cc
+mln_make_essential_SOURCES = mln_make_essential.cc
+mln_make_graph_SOURCES = mln_make_graph.cc
+mln_make_w_window_SOURCES = mln_make_w_window.cc
+mln_make_image_SOURCES = mln_make_image.cc
+mln_make_w_window3d_int_SOURCES = mln_make_w_window3d_int.cc
+mln_make_box3d_SOURCES = mln_make_box3d.cc
+mln_make_image2d_SOURCES = mln_make_image2d.cc
+mln_make_all_SOURCES = mln_make_all.cc
+mln_make_dual_neighb_SOURCES = mln_make_dual_neighb.cc
+mln_make_win_chamfer_SOURCES = mln_make_win_chamfer.cc
+mln_make_pixel_SOURCES = mln_make_pixel.cc
+mln_make_w_window2d_SOURCES = mln_make_w_window2d.cc
+mln_make_w_window_directional_SOURCES = mln_make_w_window_directional.cc
+mln_make_box1d_SOURCES = mln_make_box1d.cc
+mln_make_mat_SOURCES = mln_make_mat.cc
+mln_make_voronoi_SOURCES = mln_make_voronoi.cc
+mln_make_w_window3d_SOURCES = mln_make_w_window3d.cc
+mln_topo_adj_lower_face_iter_SOURCES = mln_topo_adj_lower_face_iter.cc
+mln_topo_adj_lower_dim_connected_n_face_iter_SOURCES = mln_topo_adj_lower_dim_connected_n_face_iter.cc
+mln_topo_face_iter_SOURCES = mln_topo_face_iter.cc
+mln_topo_algebraic_n_face_SOURCES = mln_topo_algebraic_n_face.cc
+mln_topo_complex_SOURCES = mln_topo_complex.cc
+mln_topo_face_data_SOURCES = mln_topo_face_data.cc
+mln_topo_adj_higher_dim_connected_n_face_iter_SOURCES = mln_topo_adj_higher_dim_connected_n_face_iter.cc
+mln_topo_essential_SOURCES = mln_topo_essential.cc
+mln_topo_static_n_face_iter_SOURCES = mln_topo_static_n_face_iter.cc
+mln_topo_n_faces_set_SOURCES = mln_topo_n_faces_set.cc
+mln_topo_adj_higher_face_iter_SOURCES = mln_topo_adj_higher_face_iter.cc
+mln_topo_all_SOURCES = mln_topo_all.cc
+mln_topo_internal_complex_iterator_base_SOURCES = mln_topo_internal_complex_iterator_base.cc
+mln_topo_internal_complex_relative_iterator_sequence_SOURCES = mln_topo_internal_complex_relative_iterator_sequence.cc
+mln_topo_internal_complex_relative_iterator_base_SOURCES = mln_topo_internal_complex_relative_iterator_base.cc
+mln_topo_internal_complex_set_iterator_base_SOURCES = mln_topo_internal_complex_set_iterator_base.cc
+mln_topo_adj_m_face_iter_SOURCES = mln_topo_adj_m_face_iter.cc
+mln_topo_n_face_SOURCES = mln_topo_n_face.cc
+mln_topo_complex_iterators_SOURCES = mln_topo_complex_iterators.cc
+mln_topo_adj_lower_higher_face_iter_SOURCES = mln_topo_adj_lower_higher_face_iter.cc
+mln_topo_is_simple_2d_SOURCES = mln_topo_is_simple_2d.cc
+mln_topo_face_SOURCES = mln_topo_face.cc
+mln_topo_center_only_iter_SOURCES = mln_topo_center_only_iter.cc
+mln_topo_centered_iter_adapter_SOURCES = mln_topo_centered_iter_adapter.cc
+mln_topo_algebraic_face_SOURCES = mln_topo_algebraic_face.cc
+mln_topo_n_face_iter_SOURCES = mln_topo_n_face_iter.cc
+mln_topo_attic_faces_iter_SOURCES = mln_topo_attic_faces_iter.cc
+mln_subsampling_essential_SOURCES = mln_subsampling_essential.cc
+mln_subsampling_subsampling_SOURCES = mln_subsampling_subsampling.cc
+mln_subsampling_all_SOURCES = mln_subsampling_all.cc
+mln_subsampling_gaussian_subsampling_SOURCES = mln_subsampling_gaussian_subsampling.cc
+mln_canvas_distance_geodesic_SOURCES = mln_canvas_distance_geodesic.cc
+mln_canvas_labeling_SOURCES = mln_canvas_labeling.cc
+mln_canvas_essential_SOURCES = mln_canvas_essential.cc
+mln_canvas_distance_front_SOURCES = mln_canvas_distance_front.cc
+mln_canvas_morpho_algebraic_union_find_SOURCES = mln_canvas_morpho_algebraic_union_find.cc
+mln_canvas_morpho_essential_SOURCES = mln_canvas_morpho_essential.cc
+mln_canvas_morpho_all_SOURCES = mln_canvas_morpho_all.cc
+mln_canvas_all_SOURCES = mln_canvas_all.cc
+mln_canvas_chamfer_SOURCES = mln_canvas_chamfer.cc
+mln_canvas_browsing_directional_SOURCES = mln_canvas_browsing_directional.cc
+mln_canvas_browsing_fwd_SOURCES = mln_canvas_browsing_fwd.cc
+mln_canvas_browsing_essential_SOURCES = mln_canvas_browsing_essential.cc
+mln_canvas_browsing_snake_vert_SOURCES = mln_canvas_browsing_snake_vert.cc
+mln_canvas_browsing_snake_fwd_SOURCES = mln_canvas_browsing_snake_fwd.cc
+mln_canvas_browsing_backdiagonal2d_SOURCES = mln_canvas_browsing_backdiagonal2d.cc
+mln_canvas_browsing_snake_generic_SOURCES = mln_canvas_browsing_snake_generic.cc
+mln_canvas_browsing_all_SOURCES = mln_canvas_browsing_all.cc
+mln_canvas_browsing_hyper_directional_SOURCES = mln_canvas_browsing_hyper_directional.cc
+mln_canvas_browsing_depth_first_search_SOURCES = mln_canvas_browsing_depth_first_search.cc
+mln_canvas_browsing_dir_struct_elt_incr_update_SOURCES = mln_canvas_browsing_dir_struct_elt_incr_update.cc
+mln_canvas_browsing_diagonal2d_SOURCES = mln_canvas_browsing_diagonal2d.cc
+mln_estim_mean_SOURCES = mln_estim_mean.cc
+mln_estim_essential_SOURCES = mln_estim_essential.cc
+mln_estim_all_SOURCES = mln_estim_all.cc
+mln_estim_min_max_SOURCES = mln_estim_min_max.cc
+mln_estim_sum_SOURCES = mln_estim_sum.cc
+mln_arith_essential_SOURCES = mln_arith_essential.cc
+mln_arith_includes_SOURCES = mln_arith_includes.cc
+mln_arith_all_SOURCES = mln_arith_all.cc
+mln_arith_plus_SOURCES = mln_arith_plus.cc
+mln_arith_min_SOURCES = mln_arith_min.cc
+mln_arith_minus_SOURCES = mln_arith_minus.cc
+mln_arith_revert_SOURCES = mln_arith_revert.cc
+mln_arith_times_SOURCES = mln_arith_times.cc
+mln_arith_diff_abs_SOURCES = mln_arith_diff_abs.cc
+mln_algebra_vec_SOURCES = mln_algebra_vec.cc
+mln_algebra_h_mat_SOURCES = mln_algebra_h_mat.cc
+mln_algebra_quat_SOURCES = mln_algebra_quat.cc
+mln_algebra_essential_SOURCES = mln_algebra_essential.cc
+mln_algebra_all_SOURCES = mln_algebra_all.cc
+mln_algebra_h_vec_SOURCES = mln_algebra_h_vec.cc
+mln_algebra_mat_SOURCES = mln_algebra_mat.cc
+mln_display_essential_SOURCES = mln_display_essential.cc
+mln_display_all_SOURCES = mln_display_all.cc
+mln_test_positive_SOURCES = mln_test_positive.cc
+mln_test_essential_SOURCES = mln_test_essential.cc
+mln_test_all_SOURCES = mln_test_all.cc
+mln_test_predicate_SOURCES = mln_test_predicate.cc
+mln_border_mirror_SOURCES = mln_border_mirror.cc
+mln_border_adjust_SOURCES = mln_border_adjust.cc
+mln_border_find_SOURCES = mln_border_find.cc
+mln_border_essential_SOURCES = mln_border_essential.cc
+mln_border_equalize_SOURCES = mln_border_equalize.cc
+mln_border_fill_SOURCES = mln_border_fill.cc
+mln_border_resize_SOURCES = mln_border_resize.cc
+mln_border_all_SOURCES = mln_border_all.cc
+mln_border_duplicate_SOURCES = mln_border_duplicate.cc
+mln_border_thickness_SOURCES = mln_border_thickness.cc
+mln_border_get_SOURCES = mln_border_get.cc
+mln_trace_exiting_SOURCES = mln_trace_exiting.cc
+mln_trace_entering_SOURCES = mln_trace_entering.cc
+mln_trace_resume_SOURCES = mln_trace_resume.cc
+mln_trace_stop_SOURCES = mln_trace_stop.cc
+mln_trace_essential_SOURCES = mln_trace_essential.cc
+mln_trace_quiet_SOURCES = mln_trace_quiet.cc
+mln_trace_all_SOURCES = mln_trace_all.cc
+mln_trace_warning_SOURCES = mln_trace_warning.cc
+mln_debug_println_with_border_SOURCES = mln_debug_println_with_border.cc
+mln_debug_draw_graph_SOURCES = mln_debug_draw_graph.cc
+mln_debug_iota_SOURCES = mln_debug_iota.cc
+mln_debug_colorize_SOURCES = mln_debug_colorize.cc
+mln_debug_essential_SOURCES = mln_debug_essential.cc
+mln_debug_format_SOURCES = mln_debug_format.cc
+mln_debug_all_SOURCES = mln_debug_all.cc
+mln_debug_println_SOURCES = mln_debug_println.cc
+mln_debug_put_word_SOURCES = mln_debug_put_word.cc
+mln_morpho_thick_miss_SOURCES = mln_morpho_thick_miss.cc
+mln_morpho_opening_volume_SOURCES = mln_morpho_opening_volume.cc
+mln_morpho_gradient_SOURCES = mln_morpho_gradient.cc
+mln_morpho_closing_area_on_vertices_SOURCES = mln_morpho_closing_area_on_vertices.cc
+mln_morpho_meyer_wst_SOURCES = mln_morpho_meyer_wst.cc
+mln_morpho_closing_area_SOURCES = mln_morpho_closing_area.cc
+mln_morpho_Rd_SOURCES = mln_morpho_Rd.cc
+mln_morpho_complementation_SOURCES = mln_morpho_complementation.cc
+mln_morpho_opening_area_on_vertices_SOURCES = mln_morpho_opening_area_on_vertices.cc
+mln_morpho_thinning_SOURCES = mln_morpho_thinning.cc
+mln_morpho_contrast_SOURCES = mln_morpho_contrast.cc
+mln_morpho_opening_height_SOURCES = mln_morpho_opening_height.cc
+mln_morpho_erosion_SOURCES = mln_morpho_erosion.cc
+mln_morpho_essential_SOURCES = mln_morpho_essential.cc
+mln_morpho_elementary_gradient_SOURCES = mln_morpho_elementary_gradient.cc
+mln_morpho_elementary_erosion_SOURCES = mln_morpho_elementary_erosion.cc
+mln_morpho_elementary_essential_SOURCES = mln_morpho_elementary_essential.cc
+mln_morpho_elementary_all_SOURCES = mln_morpho_elementary_all.cc
+mln_morpho_elementary_like_ero_fun_SOURCES = mln_morpho_elementary_like_ero_fun.cc
+mln_morpho_elementary_dilation_SOURCES = mln_morpho_elementary_dilation.cc
+mln_morpho_elementary_opening_SOURCES = mln_morpho_elementary_opening.cc
+mln_morpho_elementary_closing_SOURCES = mln_morpho_elementary_closing.cc
+mln_morpho_elementary_like_ero_set_SOURCES = mln_morpho_elementary_like_ero_set.cc
+mln_morpho_elementary_laplacian_SOURCES = mln_morpho_elementary_laplacian.cc
+mln_morpho_elementary_gradient_internal_SOURCES = mln_morpho_elementary_gradient_internal.cc
+mln_morpho_elementary_gradient_external_SOURCES = mln_morpho_elementary_gradient_external.cc
+mln_morpho_elementary_top_hat_SOURCES = mln_morpho_elementary_top_hat.cc
+mln_morpho_includes_SOURCES = mln_morpho_includes.cc
+mln_morpho_thickening_SOURCES = mln_morpho_thickening.cc
+mln_morpho_opening_attribute_SOURCES = mln_morpho_opening_attribute.cc
+mln_morpho_closing_height_SOURCES = mln_morpho_closing_height.cc
+mln_morpho_line_gradient_SOURCES = mln_morpho_line_gradient.cc
+mln_morpho_thin_fit_SOURCES = mln_morpho_thin_fit.cc
+mln_morpho_opening_area_SOURCES = mln_morpho_opening_area.cc
+mln_morpho_all_SOURCES = mln_morpho_all.cc
+mln_morpho_hit_or_miss_SOURCES = mln_morpho_hit_or_miss.cc
+mln_morpho_internal_elementary_SOURCES = mln_morpho_internal_elementary.cc
+mln_morpho_plus_SOURCES = mln_morpho_plus.cc
+mln_morpho_dilation_SOURCES = mln_morpho_dilation.cc
+mln_morpho_closing_attribute_SOURCES = mln_morpho_closing_attribute.cc
+mln_morpho_opening_SOURCES = mln_morpho_opening.cc
+mln_morpho_min_SOURCES = mln_morpho_min.cc
+mln_morpho_minus_SOURCES = mln_morpho_minus.cc
+mln_morpho_closing_volume_SOURCES = mln_morpho_closing_volume.cc
+mln_morpho_general_SOURCES = mln_morpho_general.cc
+mln_morpho_skeleton_constrained_SOURCES = mln_morpho_skeleton_constrained.cc
+mln_morpho_tree_max_SOURCES = mln_morpho_tree_max.cc
+mln_morpho_tree_data_SOURCES = mln_morpho_tree_data.cc
+mln_morpho_tree_compute_parent_SOURCES = mln_morpho_tree_compute_parent.cc
+mln_morpho_tree_utils_SOURCES = mln_morpho_tree_utils.cc
+mln_morpho_tree_compute_attribute_image_SOURCES = mln_morpho_tree_compute_attribute_image.cc
+mln_morpho_tree_all_SOURCES = mln_morpho_tree_all.cc
+mln_morpho_rank_filter_SOURCES = mln_morpho_rank_filter.cc
+mln_morpho_closing_SOURCES = mln_morpho_closing.cc
+mln_morpho_laplacian_SOURCES = mln_morpho_laplacian.cc
+mln_morpho_top_hat_SOURCES = mln_morpho_top_hat.cc
+mln_accu_nil_SOURCES = mln_accu_nil.cc
+mln_accu_transform_stop_SOURCES = mln_accu_transform_stop.cc
+mln_accu_max_SOURCES = mln_accu_max.cc
+mln_accu_max_h_SOURCES = mln_accu_max_h.cc
+mln_accu_histo_SOURCES = mln_accu_histo.cc
+mln_accu_center_SOURCES = mln_accu_center.cc
+mln_accu_rank_bool_SOURCES = mln_accu_rank_bool.cc
+mln_accu_mean_SOURCES = mln_accu_mean.cc
+mln_accu_median_alt_SOURCES = mln_accu_median_alt.cc
+mln_accu_convolve_SOURCES = mln_accu_convolve.cc
+mln_accu_essential_SOURCES = mln_accu_essential.cc
+mln_accu_min_h_SOURCES = mln_accu_min_h.cc
+mln_accu_compute_SOURCES = mln_accu_compute.cc
+mln_accu_take_SOURCES = mln_accu_take.cc
+mln_accu_transform_directional_SOURCES = mln_accu_transform_directional.cc
+mln_accu_pair_SOURCES = mln_accu_pair.cc
+mln_accu_land_basic_SOURCES = mln_accu_land_basic.cc
+mln_accu_all_SOURCES = mln_accu_all.cc
+mln_accu_height_SOURCES = mln_accu_height.cc
+mln_accu_internal_base_SOURCES = mln_accu_internal_base.cc
+mln_accu_transform_diagonal_SOURCES = mln_accu_transform_diagonal.cc
+mln_accu_v_SOURCES = mln_accu_v.cc
+mln_accu_count_SOURCES = mln_accu_count.cc
+mln_accu_volume_SOURCES = mln_accu_volume.cc
+mln_accu_lor_basic_SOURCES = mln_accu_lor_basic.cc
+mln_accu_tuple_SOURCES = mln_accu_tuple.cc
+mln_accu_min_SOURCES = mln_accu_min.cc
+mln_accu_median_h_SOURCES = mln_accu_median_h.cc
+mln_accu_transform_snake_SOURCES = mln_accu_transform_snake.cc
+mln_accu_line_SOURCES = mln_accu_line.cc
+mln_accu_count_adjacent_vertices_SOURCES = mln_accu_count_adjacent_vertices.cc
+mln_accu_transform_SOURCES = mln_accu_transform.cc
+mln_accu_min_max_SOURCES = mln_accu_min_max.cc
+mln_accu_land_SOURCES = mln_accu_land.cc
+mln_accu_bbox_SOURCES = mln_accu_bbox.cc
+mln_accu_sum_SOURCES = mln_accu_sum.cc
+mln_accu_lor_SOURCES = mln_accu_lor.cc
+mln_accu_rank_high_quant_SOURCES = mln_accu_rank_high_quant.cc
+mln_accu_p_SOURCES = mln_accu_p.cc
+mln_accu_rank_SOURCES = mln_accu_rank.cc
+mln_accu_maj_h_SOURCES = mln_accu_maj_h.cc
+mln_registration_get_rtransf_SOURCES = mln_registration_get_rtransf.cc
+mln_registration_icp_SOURCES = mln_registration_icp.cc
+mln_registration_essential_SOURCES = mln_registration_essential.cc
+mln_registration_multiscale_SOURCES = mln_registration_multiscale.cc
+mln_registration_all_SOURCES = mln_registration_all.cc
+mln_registration_internal_rms_SOURCES = mln_registration_internal_rms.cc
+mln_registration_get_rot_SOURCES = mln_registration_get_rot.cc
+mln_registration_registration_SOURCES = mln_registration_registration.cc
+mln_all_SOURCES = mln_all.cc
+mln_pw_value_SOURCES = mln_pw_value.cc
+mln_pw_cst_SOURCES = mln_pw_cst.cc
+mln_pw_essential_SOURCES = mln_pw_essential.cc
+mln_pw_image_SOURCES = mln_pw_image.cc
+mln_pw_var_SOURCES = mln_pw_var.cc
+mln_pw_all_SOURCES = mln_pw_all.cc
+mln_binarization_essential_SOURCES = mln_binarization_essential.cc
+mln_binarization_includes_SOURCES = mln_binarization_includes.cc
+mln_binarization_all_SOURCES = mln_binarization_all.cc
+mln_binarization_binarization_SOURCES = mln_binarization_binarization.cc
+mln_binarization_threshold_SOURCES = mln_binarization_threshold.cc
+mln_linear_log_SOURCES = mln_linear_log.cc
+mln_linear_ch_convolve_SOURCES = mln_linear_ch_convolve.cc
+mln_linear_sobel_2d_SOURCES = mln_linear_sobel_2d.cc
+mln_linear_local_convolve_SOURCES = mln_linear_local_convolve.cc
+mln_linear_convolve_SOURCES = mln_linear_convolve.cc
+mln_linear_essential_SOURCES = mln_linear_essential.cc
+mln_linear_lap_SOURCES = mln_linear_lap.cc
+mln_linear_convolve_directional_SOURCES = mln_linear_convolve_directional.cc
+mln_linear_convolve_2x1d_SOURCES = mln_linear_convolve_2x1d.cc
+mln_linear_all_SOURCES = mln_linear_all.cc
+mln_linear_gaussian_SOURCES = mln_linear_gaussian.cc
+mln_essential_1d_SOURCES = mln_essential_1d.cc
+mln_essential_2d_SOURCES = mln_essential_2d.cc
+mln_essential_routine_SOURCES = mln_essential_routine.cc
+mln_essential_3d_SOURCES = mln_essential_3d.cc
+mln_metal_vec_SOURCES = mln_metal_vec.cc
+mln_metal_is_not_ref_SOURCES = mln_metal_is_not_ref.cc
+mln_metal_unconst_SOURCES = mln_metal_unconst.cc
+mln_metal_array3d_SOURCES = mln_metal_array3d.cc
+mln_metal_abort_SOURCES = mln_metal_abort.cc
+mln_metal_has_neighborhood_SOURCES = mln_metal_has_neighborhood.cc
+mln_metal_ref_SOURCES = mln_metal_ref.cc
+mln_metal_is_const_SOURCES = mln_metal_is_const.cc
+mln_metal_same_point_SOURCES = mln_metal_same_point.cc
+mln_metal_int_SOURCES = mln_metal_int.cc
+mln_metal_is_SOURCES = mln_metal_is.cc
+mln_metal_essential_SOURCES = mln_metal_essential.cc
+mln_metal_unref_SOURCES = mln_metal_unref.cc
+mln_metal_is_a_SOURCES = mln_metal_is_a.cc
+mln_metal_not_equal_SOURCES = mln_metal_not_equal.cc
+mln_metal_none_SOURCES = mln_metal_none.cc
+mln_metal_is_unqualif_SOURCES = mln_metal_is_unqualif.cc
+mln_metal_is_not_SOURCES = mln_metal_is_not.cc
+mln_metal_unptr_SOURCES = mln_metal_unptr.cc
+mln_metal_array1d_SOURCES = mln_metal_array1d.cc
+mln_metal_if_SOURCES = mln_metal_if.cc
+mln_metal_is_ref_SOURCES = mln_metal_is_ref.cc
+mln_metal_is_not_a_SOURCES = mln_metal_is_not_a.cc
+mln_metal_all_SOURCES = mln_metal_all.cc
+mln_metal_same_coord_SOURCES = mln_metal_same_coord.cc
+mln_metal_ands_SOURCES = mln_metal_ands.cc
+mln_metal_array2d_SOURCES = mln_metal_array2d.cc
+mln_metal_templated_by_SOURCES = mln_metal_templated_by.cc
+mln_metal_ret_SOURCES = mln_metal_ret.cc
+mln_metal_is_not_const_SOURCES = mln_metal_is_not_const.cc
+mln_metal_math_root_SOURCES = mln_metal_math_root.cc
+mln_metal_math_max_SOURCES = mln_metal_math_max.cc
+mln_metal_math_all_SOURCES = mln_metal_math_all.cc
+mln_metal_math_pow_SOURCES = mln_metal_math_pow.cc
+mln_metal_math_sqrt_SOURCES = mln_metal_math_sqrt.cc
+mln_metal_bexpr_SOURCES = mln_metal_bexpr.cc
+mln_metal_bool_SOURCES = mln_metal_bool.cc
+mln_metal_fix_return_SOURCES = mln_metal_fix_return.cc
+mln_metal_converts_to_SOURCES = mln_metal_converts_to.cc
+mln_metal_goes_to_SOURCES = mln_metal_goes_to.cc
+mln_metal_equal_SOURCES = mln_metal_equal.cc
+mln_metal_unqualif_SOURCES = mln_metal_unqualif.cc
+mln_metal_mat_SOURCES = mln_metal_mat.cc
+mln_metal_array_SOURCES = mln_metal_array.cc
+mln_metal_const_SOURCES = mln_metal_const.cc
+mln_set_sym_diff_SOURCES = mln_set_sym_diff.cc
+mln_set_essential_SOURCES = mln_set_essential.cc
+mln_set_compute_SOURCES = mln_set_compute.cc
+mln_set_has_SOURCES = mln_set_has.cc
+mln_set_inter_SOURCES = mln_set_inter.cc
+mln_set_all_SOURCES = mln_set_all.cc
+mln_set_diff_SOURCES = mln_set_diff.cc
+mln_set_uni_SOURCES = mln_set_uni.cc
+mln_set_get_SOURCES = mln_set_get.cc
+mln_convert_to_p_array_SOURCES = mln_convert_to_p_array.cc
+mln_convert_to_fun_SOURCES = mln_convert_to_fun.cc
+mln_convert_to_SOURCES = mln_convert_to.cc
+mln_convert_to_image_SOURCES = mln_convert_to_image.cc
+mln_convert_to_p_set_SOURCES = mln_convert_to_p_set.cc
+mln_convert_impl_from_image_to_site_set_SOURCES = mln_convert_impl_from_image_to_site_set.cc
+mln_convert_impl_all_SOURCES = mln_convert_impl_all.cc
+mln_convert_impl_from_value_to_value_SOURCES = mln_convert_impl_from_value_to_value.cc
+mln_convert_essential_SOURCES = mln_convert_essential.cc
+mln_convert_all_SOURCES = mln_convert_all.cc
+mln_convert_to_upper_window_SOURCES = mln_convert_to_upper_window.cc
+mln_convert_to_dpoint_SOURCES = mln_convert_to_dpoint.cc
+mln_convert_to_rgb_SOURCES = mln_convert_to_rgb.cc
+mln_convert_from_to_SOURCES = mln_convert_from_to.cc
+mln_convert_to_window_SOURCES = mln_convert_to_window.cc
+mln_geom_nslis_SOURCES = mln_geom_nslis.cc
+mln_geom_size2d_SOURCES = mln_geom_size2d.cc
+mln_geom_max_row_SOURCES = mln_geom_max_row.cc
+mln_geom_size3d_SOURCES = mln_geom_size3d.cc
+mln_geom_seeds2tiling_roundness_SOURCES = mln_geom_seeds2tiling_roundness.cc
+mln_geom_delta_SOURCES = mln_geom_delta.cc
+mln_geom_essential_SOURCES = mln_geom_essential.cc
+mln_geom_max_ind_SOURCES = mln_geom_max_ind.cc
+mln_geom_min_col_SOURCES = mln_geom_min_col.cc
+mln_geom_complex_geometry_SOURCES = mln_geom_complex_geometry.cc
+mln_geom_nrows_SOURCES = mln_geom_nrows.cc
+mln_geom_seeds2tiling_SOURCES = mln_geom_seeds2tiling.cc
+mln_geom_min_sli_SOURCES = mln_geom_min_sli.cc
+mln_geom_nsites_SOURCES = mln_geom_nsites.cc
+mln_geom_min_ind_SOURCES = mln_geom_min_ind.cc
+mln_geom_ninds_SOURCES = mln_geom_ninds.cc
+mln_geom_resize_SOURCES = mln_geom_resize.cc
+mln_geom_min_row_SOURCES = mln_geom_min_row.cc
+mln_geom_all_SOURCES = mln_geom_all.cc
+mln_geom_chamfer_SOURCES = mln_geom_chamfer.cc
+mln_geom_ncols_SOURCES = mln_geom_ncols.cc
+mln_geom_pmin_pmax_SOURCES = mln_geom_pmin_pmax.cc
+mln_geom_size1d_SOURCES = mln_geom_size1d.cc
+mln_geom_max_sli_SOURCES = mln_geom_max_sli.cc
+mln_geom_bbox_SOURCES = mln_geom_bbox.cc
+mln_geom_max_col_SOURCES = mln_geom_max_col.cc
+mln_literal_black_SOURCES = mln_literal_black.cc
+mln_literal_zero_SOURCES = mln_literal_zero.cc
+mln_literal_essential_SOURCES = mln_literal_essential.cc
+mln_literal_grays_SOURCES = mln_literal_grays.cc
+mln_literal_ops_SOURCES = mln_literal_ops.cc
+mln_literal_all_SOURCES = mln_literal_all.cc
+mln_literal_white_SOURCES = mln_literal_white.cc
+mln_literal_one_SOURCES = mln_literal_one.cc
+mln_literal_colors_SOURCES = mln_literal_colors.cc
+mln_literal_origin_SOURCES = mln_literal_origin.cc
+mln_level_compare_SOURCES = mln_level_compare.cc
+mln_level_saturate_SOURCES = mln_level_saturate.cc
+mln_level_fill_with_image_SOURCES = mln_level_fill_with_image.cc
+mln_level_was_median_SOURCES = mln_level_was_median.cc
+mln_level_convert_SOURCES = mln_level_convert.cc
+mln_level_sort_psites_SOURCES = mln_level_sort_psites.cc
+mln_level_essential_SOURCES = mln_level_essential.cc
+mln_level_fill_SOURCES = mln_level_fill.cc
+mln_level_compute_SOURCES = mln_level_compute.cc
+mln_level_replace_SOURCES = mln_level_replace.cc
+mln_level_approx_essential_SOURCES = mln_level_approx_essential.cc
+mln_level_approx_all_SOURCES = mln_level_approx_all.cc
+mln_level_approx_median_SOURCES = mln_level_approx_median.cc
+mln_level_stretch_SOURCES = mln_level_stretch.cc
+mln_level_paste_SOURCES = mln_level_paste.cc
+mln_level_transform_inplace_SOURCES = mln_level_transform_inplace.cc
+mln_level_to_enc_SOURCES = mln_level_to_enc.cc
+mln_level_apply_SOURCES = mln_level_apply.cc
+mln_level_all_SOURCES = mln_level_all.cc
+mln_level_update_SOURCES = mln_level_update.cc
+mln_level_median_SOURCES = mln_level_median.cc
+mln_level_memset__SOURCES = mln_level_memset_.cc
+mln_level_assign_SOURCES = mln_level_assign.cc
+mln_level_memcpy__SOURCES = mln_level_memcpy_.cc
+mln_level_fast_median_SOURCES = mln_level_fast_median.cc
+mln_level_transform_SOURCES = mln_level_transform.cc
+mln_level_abs_SOURCES = mln_level_abs.cc
+mln_level_naive_essential_SOURCES = mln_level_naive_essential.cc
+mln_level_naive_all_SOURCES = mln_level_naive_all.cc
+mln_level_naive_median_SOURCES = mln_level_naive_median.cc
+mln_level_fill_with_value_SOURCES = mln_level_fill_with_value.cc
+mln_math_jacobi_SOURCES = mln_math_jacobi.cc
+mln_math_max_SOURCES = mln_math_max.cc
+mln_math_round_sat_SOURCES = mln_math_round_sat.cc
+mln_math_round_SOURCES = mln_math_round.cc
+mln_math_essential_SOURCES = mln_math_essential.cc
+mln_math_sqr_SOURCES = mln_math_sqr.cc
+mln_math_all_SOURCES = mln_math_all.cc
+mln_math_sign_SOURCES = mln_math_sign.cc
+mln_math_min_SOURCES = mln_math_min.cc
+mln_math_abs_SOURCES = mln_math_abs.cc
+mln_math_diff_abs_SOURCES = mln_math_diff_abs.cc
+mln_math_sqrt_SOURCES = mln_math_sqrt.cc
+mln_norm_l2_SOURCES = mln_norm_l2.cc
+mln_norm_linfty_SOURCES = mln_norm_linfty.cc
+mln_norm_essential_SOURCES = mln_norm_essential.cc
+mln_norm_all_SOURCES = mln_norm_all.cc
+mln_norm_l1_SOURCES = mln_norm_l1.cc
+mln_logical_not_SOURCES = mln_logical_not.cc
+mln_logical_or_SOURCES = mln_logical_or.cc
+mln_logical_and_SOURCES = mln_logical_and.cc
+mln_logical_xor_SOURCES = mln_logical_xor.cc
+mln_logical_essential_SOURCES = mln_logical_essential.cc
+mln_logical_includes_SOURCES = mln_logical_includes.cc
+mln_logical_all_SOURCES = mln_logical_all.cc
+mln_logical_and_not_SOURCES = mln_logical_and_not.cc
+mln_draw_essential_SOURCES = mln_draw_essential.cc
+mln_draw_box_SOURCES = mln_draw_box.cc
+mln_draw_all_SOURCES = mln_draw_all.cc
+mln_draw_plot_SOURCES = mln_draw_plot.cc
+mln_draw_line_SOURCES = mln_draw_line.cc
+mln_value_int_s16_SOURCES = mln_value_int_s16.cc
+mln_value_cast_SOURCES = mln_value_cast.cc
+mln_value_builtin_floatings_SOURCES = mln_value_builtin_floatings.cc
+mln_value_builtin_promotions_SOURCES = mln_value_builtin_promotions.cc
+mln_value_builtin_integers_SOURCES = mln_value_builtin_integers.cc
+mln_value_builtin_essential_SOURCES = mln_value_builtin_essential.cc
+mln_value_builtin_ops_SOURCES = mln_value_builtin_ops.cc
+mln_value_builtin_all_SOURCES = mln_value_builtin_all.cc
+mln_value_builtin_symbolics_SOURCES = mln_value_builtin_symbolics.cc
+mln_value_label_8_SOURCES = mln_value_label_8.cc
+mln_value_int_s_SOURCES = mln_value_int_s.cc
+mln_value_rgb_SOURCES = mln_value_rgb.cc
+mln_value_viter_SOURCES = mln_value_viter.cc
+mln_value_lut_vec_SOURCES = mln_value_lut_vec.cc
+mln_value_set_SOURCES = mln_value_set.cc
+mln_value_hsi_SOURCES = mln_value_hsi.cc
+mln_value_int_u16_SOURCES = mln_value_int_u16.cc
+mln_value_glf_SOURCES = mln_value_glf.cc
+mln_value_stack_SOURCES = mln_value_stack.cc
+mln_value_gl8_SOURCES = mln_value_gl8.cc
+mln_value_essential_SOURCES = mln_value_essential.cc
+mln_value_graylevel_f_SOURCES = mln_value_graylevel_f.cc
+mln_value_super_value_SOURCES = mln_value_super_value.cc
+mln_value_equiv_SOURCES = mln_value_equiv.cc
+mln_value_rgb16_SOURCES = mln_value_rgb16.cc
+mln_value_float01_16_SOURCES = mln_value_float01_16.cc
+mln_value_rgb8_SOURCES = mln_value_rgb8.cc
+mln_value_int_s32_SOURCES = mln_value_int_s32.cc
+mln_value_int_s8_SOURCES = mln_value_int_s8.cc
+mln_value_int_u8_SOURCES = mln_value_int_u8.cc
+mln_value_int_u32_SOURCES = mln_value_int_u32.cc
+mln_value_float01_SOURCES = mln_value_float01.cc
+mln_value_int_u_SOURCES = mln_value_int_u.cc
+mln_value_ops_SOURCES = mln_value_ops.cc
+mln_value_interval_SOURCES = mln_value_interval.cc
+mln_value_int_u_sat_SOURCES = mln_value_int_u_sat.cc
+mln_value_all_SOURCES = mln_value_all.cc
+mln_value_internal_encoding_SOURCES = mln_value_internal_encoding.cc
+mln_value_internal_convert_SOURCES = mln_value_internal_convert.cc
+mln_value_internal_gray_f_SOURCES = mln_value_internal_gray_f.cc
+mln_value_internal_essential_SOURCES = mln_value_internal_essential.cc
+mln_value_internal_gray__SOURCES = mln_value_internal_gray_.cc
+mln_value_internal_integer_SOURCES = mln_value_internal_integer.cc
+mln_value_internal_value_like_SOURCES = mln_value_internal_value_like.cc
+mln_value_internal_all_SOURCES = mln_value_internal_all.cc
+mln_value_internal_iterable_set_SOURCES = mln_value_internal_iterable_set.cc
+mln_value_proxy_SOURCES = mln_value_proxy.cc
+mln_value_sign_SOURCES = mln_value_sign.cc
+mln_value_gl16_SOURCES = mln_value_gl16.cc
+mln_value_aliases_SOURCES = mln_value_aliases.cc
+mln_value_float01_f_SOURCES = mln_value_float01_f.cc
+mln_value_float01_8_SOURCES = mln_value_float01_8.cc
+mln_value_concept_structured_SOURCES = mln_value_concept_structured.cc
+mln_value_concept_vectorial_SOURCES = mln_value_concept_vectorial.cc
+mln_value_concept_data_SOURCES = mln_value_concept_data.cc
+mln_value_concept_built_in_SOURCES = mln_value_concept_built_in.cc
+mln_value_concept_essential_SOURCES = mln_value_concept_essential.cc
+mln_value_concept_integer_SOURCES = mln_value_concept_integer.cc
+mln_value_concept_floating_SOURCES = mln_value_concept_floating.cc
+mln_value_concept_all_SOURCES = mln_value_concept_all.cc
+mln_value_concept_scalar_SOURCES = mln_value_concept_scalar.cc
+mln_value_concept_symbolic_SOURCES = mln_value_concept_symbolic.cc
+mln_value_label_16_SOURCES = mln_value_label_16.cc
+mln_value_label_SOURCES = mln_value_label.cc
+mln_value_float01__SOURCES = mln_value_float01_.cc
+mln_value_other_SOURCES = mln_value_other.cc
+mln_value_scalar_SOURCES = mln_value_scalar.cc
+mln_value_graylevel_SOURCES = mln_value_graylevel.cc
+mln_tag_skeleton_SOURCES = mln_tag_skeleton.cc
+mln_tag_init_SOURCES = mln_tag_init.cc
+mln_tag_essential_SOURCES = mln_tag_essential.cc
+mln_tag_all_SOURCES = mln_tag_all.cc
+mln_labeling_regional_maxima_SOURCES = mln_labeling_regional_maxima.cc
mln_labeling_background_SOURCES = mln_labeling_background.cc
-mln_labeling_relabel_SOURCES = mln_labeling_relabel.cc
-mln_labeling_all_SOURCES = mln_labeling_all.cc
mln_labeling_level_SOURCES = mln_labeling_level.cc
mln_labeling_flat_zones_SOURCES = mln_labeling_flat_zones.cc
-mln_labeling_foreground_SOURCES = mln_labeling_foreground.cc
-mln_labeling_regional_maxima_SOURCES = mln_labeling_regional_maxima.cc
-mln_labeling_compute_SOURCES = mln_labeling_compute.cc
mln_labeling_regional_minima_SOURCES = mln_labeling_regional_minima.cc
mln_labeling_essential_SOURCES = mln_labeling_essential.cc
-mln_test_predicate_SOURCES = mln_test_predicate.cc
-mln_test_all_SOURCES = mln_test_all.cc
-mln_test_positive_SOURCES = mln_test_positive.cc
-mln_test_essential_SOURCES = mln_test_essential.cc
-mln_transform_distance_geodesic_SOURCES = mln_transform_distance_geodesic.cc
-mln_transform_internal_all_SOURCES = mln_transform_internal_all.cc
-mln_transform_internal_distance_functor_SOURCES = mln_transform_internal_distance_functor.cc
-mln_transform_internal_influence_zone_functor_SOURCES = mln_transform_internal_influence_zone_functor.cc
-mln_transform_all_SOURCES = mln_transform_all.cc
-mln_transform_influence_zone_front_SOURCES = mln_transform_influence_zone_front.cc
-mln_transform_distance_front_SOURCES = mln_transform_distance_front.cc
-mln_transform_influence_zone_geodesic_SOURCES = mln_transform_influence_zone_geodesic.cc
-mln_transform_essential_SOURCES = mln_transform_essential.cc
-mln_arith_includes_SOURCES = mln_arith_includes.cc
-mln_arith_plus_SOURCES = mln_arith_plus.cc
-mln_arith_all_SOURCES = mln_arith_all.cc
-mln_arith_times_SOURCES = mln_arith_times.cc
-mln_arith_diff_abs_SOURCES = mln_arith_diff_abs.cc
-mln_arith_minus_SOURCES = mln_arith_minus.cc
-mln_arith_min_SOURCES = mln_arith_min.cc
-mln_arith_revert_SOURCES = mln_arith_revert.cc
-mln_arith_essential_SOURCES = mln_arith_essential.cc
-mln_io_pgm_load_SOURCES = mln_io_pgm_load.cc
-mln_io_pgm_all_SOURCES = mln_io_pgm_all.cc
-mln_io_pgm_save_SOURCES = mln_io_pgm_save.cc
-mln_io_ppm_load_SOURCES = mln_io_ppm_load.cc
-mln_io_ppm_all_SOURCES = mln_io_ppm_all.cc
-mln_io_ppm_save_SOURCES = mln_io_ppm_save.cc
-mln_io_pfm_load_SOURCES = mln_io_pfm_load.cc
-mln_io_pfm_all_SOURCES = mln_io_pfm_all.cc
-mln_io_pfm_save_SOURCES = mln_io_pfm_save.cc
-mln_io_all_SOURCES = mln_io_all.cc
-mln_io_pbm_load_SOURCES = mln_io_pbm_load.cc
-mln_io_pbm_all_SOURCES = mln_io_pbm_all.cc
-mln_io_pbm_save_SOURCES = mln_io_pbm_save.cc
-mln_io_pnm_max_component_SOURCES = mln_io_pnm_max_component.cc
-mln_io_pnm_load_SOURCES = mln_io_pnm_load.cc
-mln_io_pnm_load_header_SOURCES = mln_io_pnm_load_header.cc
-mln_io_pnm_all_SOURCES = mln_io_pnm_all.cc
-mln_io_pnm_macros_SOURCES = mln_io_pnm_macros.cc
-mln_io_pnm_save_SOURCES = mln_io_pnm_save.cc
-mln_io_pnm_save_header_SOURCES = mln_io_pnm_save_header.cc
-mln_io_txt_all_SOURCES = mln_io_txt_all.cc
-mln_io_txt_save_SOURCES = mln_io_txt_save.cc
-mln_io_abort_SOURCES = mln_io_abort.cc
-mln_io_fits_load_SOURCES = mln_io_fits_load.cc
-mln_io_fits_all_SOURCES = mln_io_fits_all.cc
-mln_io_off_load_SOURCES = mln_io_off_load.cc
-mln_io_off_all_SOURCES = mln_io_off_all.cc
-mln_io_off_save_SOURCES = mln_io_off_save.cc
-mln_io_essential_SOURCES = mln_io_essential.cc
-mln_logical_includes_SOURCES = mln_logical_includes.cc
-mln_logical_and_not_SOURCES = mln_logical_and_not.cc
-mln_logical_xor_SOURCES = mln_logical_xor.cc
-mln_logical_all_SOURCES = mln_logical_all.cc
-mln_logical_not_SOURCES = mln_logical_not.cc
-mln_logical_and_SOURCES = mln_logical_and.cc
-mln_logical_or_SOURCES = mln_logical_or.cc
-mln_logical_essential_SOURCES = mln_logical_essential.cc
-mln_norm_all_SOURCES = mln_norm_all.cc
-mln_norm_l1_SOURCES = mln_norm_l1.cc
-mln_norm_l2_SOURCES = mln_norm_l2.cc
-mln_norm_linfty_SOURCES = mln_norm_linfty.cc
-mln_norm_essential_SOURCES = mln_norm_essential.cc
-mln_debug_iota_SOURCES = mln_debug_iota.cc
-mln_debug_all_SOURCES = mln_debug_all.cc
-mln_debug_println_with_border_SOURCES = mln_debug_println_with_border.cc
-mln_debug_colorize_SOURCES = mln_debug_colorize.cc
-mln_debug_draw_graph_SOURCES = mln_debug_draw_graph.cc
-mln_debug_put_word_SOURCES = mln_debug_put_word.cc
-mln_debug_format_SOURCES = mln_debug_format.cc
-mln_debug_println_SOURCES = mln_debug_println.cc
-mln_debug_essential_SOURCES = mln_debug_essential.cc
-mln_estim_min_max_SOURCES = mln_estim_min_max.cc
-mln_estim_all_SOURCES = mln_estim_all.cc
-mln_estim_sum_SOURCES = mln_estim_sum.cc
-mln_estim_mean_SOURCES = mln_estim_mean.cc
-mln_estim_essential_SOURCES = mln_estim_essential.cc
-mln_set_uni_SOURCES = mln_set_uni.cc
-mln_set_inter_SOURCES = mln_set_inter.cc
-mln_set_all_SOURCES = mln_set_all.cc
-mln_set_get_SOURCES = mln_set_get.cc
-mln_set_sym_diff_SOURCES = mln_set_sym_diff.cc
-mln_set_has_SOURCES = mln_set_has.cc
-mln_set_diff_SOURCES = mln_set_diff.cc
-mln_set_compute_SOURCES = mln_set_compute.cc
-mln_set_essential_SOURCES = mln_set_essential.cc
-mln_border_adjust_SOURCES = mln_border_adjust.cc
-mln_border_duplicate_SOURCES = mln_border_duplicate.cc
-mln_border_find_SOURCES = mln_border_find.cc
-mln_border_thickness_SOURCES = mln_border_thickness.cc
-mln_border_all_SOURCES = mln_border_all.cc
-mln_border_mirror_SOURCES = mln_border_mirror.cc
-mln_border_get_SOURCES = mln_border_get.cc
-mln_border_equalize_SOURCES = mln_border_equalize.cc
-mln_border_resize_SOURCES = mln_border_resize.cc
-mln_border_fill_SOURCES = mln_border_fill.cc
-mln_border_essential_SOURCES = mln_border_essential.cc
-mln_subsampling_gaussian_subsampling_SOURCES = mln_subsampling_gaussian_subsampling.cc
-mln_subsampling_all_SOURCES = mln_subsampling_all.cc
-mln_subsampling_subsampling_SOURCES = mln_subsampling_subsampling.cc
-mln_subsampling_essential_SOURCES = mln_subsampling_essential.cc
+mln_labeling_compute_SOURCES = mln_labeling_compute.cc
+mln_labeling_blobs_SOURCES = mln_labeling_blobs.cc
+mln_labeling_all_SOURCES = mln_labeling_all.cc
+mln_labeling_foreground_SOURCES = mln_labeling_foreground.cc
+mln_labeling_relabel_SOURCES = mln_labeling_relabel.cc
TESTS = $(check_PROGRAMS)
Index: tests/unit_test/mln_binarization_includes.cc
--- tests/unit_test/mln_binarization_includes.cc (revision 3032)
+++ tests/unit_test/mln_binarization_includes.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/binarization/includes.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/binarization/includes.hh>
#include <mln/binarization/includes.hh>
int main()
Index: tests/unit_test/mln_accu_max.cc
--- tests/unit_test/mln_accu_max.cc (revision 3032)
+++ tests/unit_test/mln_accu_max.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/max.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/max.hh>
#include <mln/accu/max.hh>
int main()
Index: tests/unit_test/mln_morpho_thick_miss.cc
--- tests/unit_test/mln_morpho_thick_miss.cc (revision 3032)
+++ tests/unit_test/mln_morpho_thick_miss.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/thick_miss.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/thick_miss.hh>
#include <mln/morpho/thick_miss.hh>
int main()
Index: tests/unit_test/mln_transform_essential.cc
--- tests/unit_test/mln_transform_essential.cc (revision 3032)
+++ tests/unit_test/mln_transform_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/transform/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/transform/essential.hh>
#include <mln/transform/essential.hh>
int main()
Index: tests/unit_test/mln_trait_op_ord.cc
--- tests/unit_test/mln_trait_op_ord.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_ord.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/ord.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/ord.hh>
#include <mln/trait/op/ord.hh>
int main()
Index: tests/unit_test/mln_fun_x2p_closest_point.cc
--- tests/unit_test/mln_fun_x2p_closest_point.cc (revision 3032)
+++ tests/unit_test/mln_fun_x2p_closest_point.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/x2p/closest_point.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/x2p/closest_point.hh>
#include <mln/fun/x2p/closest_point.hh>
int main()
Index: tests/unit_test/mln_topo_algebraic_face.cc
--- tests/unit_test/mln_topo_algebraic_face.cc (revision 3032)
+++ tests/unit_test/mln_topo_algebraic_face.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/algebraic_face.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/algebraic_face.hh>
#include <mln/topo/algebraic_face.hh>
int main()
Index: tests/unit_test/mln_accu_lor_basic.cc
--- tests/unit_test/mln_accu_lor_basic.cc (revision 3032)
+++ tests/unit_test/mln_accu_lor_basic.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/lor_basic.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/lor_basic.hh>
#include <mln/accu/lor_basic.hh>
int main()
Index: tests/unit_test/mln_core_concept_regular_grid.cc
--- tests/unit_test/mln_core_concept_regular_grid.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_regular_grid.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/regular_grid.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/regular_grid.hh>
#include <mln/core/concept/regular_grid.hh>
int main()
Index: tests/unit_test/mln_fun_l2l_all.cc
--- tests/unit_test/mln_fun_l2l_all.cc (revision 3032)
+++ tests/unit_test/mln_fun_l2l_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/l2l/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/l2l/all.hh>
#include <mln/fun/l2l/all.hh>
int main()
Index: tests/unit_test/mln_fun_c.cc
--- tests/unit_test/mln_fun_c.cc (revision 3032)
+++ tests/unit_test/mln_fun_c.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/c.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/c.hh>
#include <mln/fun/c.hh>
int main()
Index: tests/unit_test/mln_debug_colorize.cc
--- tests/unit_test/mln_debug_colorize.cc (revision 3032)
+++ tests/unit_test/mln_debug_colorize.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/debug/colorize.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/debug/colorize.hh>
#include <mln/debug/colorize.hh>
int main()
Index: tests/unit_test/mln_metal_same_coord.cc
--- tests/unit_test/mln_metal_same_coord.cc (revision 3032)
+++ tests/unit_test/mln_metal_same_coord.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/same_coord.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/same_coord.hh>
#include <mln/metal/same_coord.hh>
int main()
Index: tests/unit_test/mln_core_alias_box1d.cc
--- tests/unit_test/mln_core_alias_box1d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_box1d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/box1d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/box1d.hh>
#include <mln/core/alias/box1d.hh>
int main()
Index: tests/unit_test/mln_io_pnm_save.cc
--- tests/unit_test/mln_io_pnm_save.cc (revision 3032)
+++ tests/unit_test/mln_io_pnm_save.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/pnm/save.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/pnm/save.hh>
#include <mln/io/pnm/save.hh>
int main()
Index: tests/unit_test/mln_logical_includes.cc
--- tests/unit_test/mln_logical_includes.cc (revision 3032)
+++ tests/unit_test/mln_logical_includes.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/logical/includes.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/logical/includes.hh>
#include <mln/logical/includes.hh>
int main()
Index: tests/unit_test/mln_trait_image_print.cc
--- tests/unit_test/mln_trait_image_print.cc (revision 3032)
+++ tests/unit_test/mln_trait_image_print.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/image/print.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/image/print.hh>
#include <mln/trait/image/print.hh>
int main()
Index: tests/unit_test/mln_linear_all.cc
--- tests/unit_test/mln_linear_all.cc (revision 3032)
+++ tests/unit_test/mln_linear_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/linear/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/linear/all.hh>
#include <mln/linear/all.hh>
int main()
Index: tests/unit_test/mln_trait_op_postdec.cc
--- tests/unit_test/mln_trait_op_postdec.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_postdec.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/postdec.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/postdec.hh>
#include <mln/trait/op/postdec.hh>
int main()
Index: tests/unit_test/mln_metal_is_const.cc
--- tests/unit_test/mln_metal_is_const.cc (revision 3032)
+++ tests/unit_test/mln_metal_is_const.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/is_const.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/is_const.hh>
#include <mln/metal/is_const.hh>
int main()
Index: tests/unit_test/mln_morpho_tree_utils.cc
--- tests/unit_test/mln_morpho_tree_utils.cc (revision 3032)
+++ tests/unit_test/mln_morpho_tree_utils.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/tree/utils.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/tree/utils.hh>
#include <mln/morpho/tree/utils.hh>
int main()
Index: tests/unit_test/mln_core_neighb.cc
--- tests/unit_test/mln_core_neighb.cc (revision 3032)
+++ tests/unit_test/mln_core_neighb.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/neighb.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/neighb.hh>
#include <mln/core/neighb.hh>
int main()
Index: tests/unit_test/mln_algebra_essential.cc
--- tests/unit_test/mln_algebra_essential.cc (revision 3032)
+++ tests/unit_test/mln_algebra_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/algebra/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/algebra/essential.hh>
#include <mln/algebra/essential.hh>
int main()
Index: tests/unit_test/mln_core_concept_image.cc
--- tests/unit_test/mln_core_concept_image.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/image.hh>
#include <mln/core/concept/image.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_faces.cc
--- tests/unit_test/mln_core_site_set_p_faces.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_faces.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_faces.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_faces.hh>
#include <mln/core/site_set/p_faces.hh>
int main()
Index: tests/unit_test/mln_core_alias_point2d_h.cc
--- tests/unit_test/mln_core_alias_point2d_h.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_point2d_h.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/point2d_h.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/point2d_h.hh>
#include <mln/core/alias/point2d_h.hh>
int main()
Index: tests/unit_test/mln_util_branch_iter_ind.cc
--- tests/unit_test/mln_util_branch_iter_ind.cc (revision 3032)
+++ tests/unit_test/mln_util_branch_iter_ind.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/branch_iter_ind.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/branch_iter_ind.hh>
#include <mln/util/branch_iter_ind.hh>
int main()
Index: tests/unit_test/mln_fun_vv2v_vec.cc
--- tests/unit_test/mln_fun_vv2v_vec.cc (revision 3032)
+++ tests/unit_test/mln_fun_vv2v_vec.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/vv2v/vec.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/vv2v/vec.hh>
#include <mln/fun/vv2v/vec.hh>
int main()
Index: tests/unit_test/mln_topo_is_simple_2d.cc
--- tests/unit_test/mln_topo_is_simple_2d.cc (revision 3032)
+++ tests/unit_test/mln_topo_is_simple_2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/is_simple_2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/is_simple_2d.hh>
#include <mln/topo/is_simple_2d.hh>
int main()
Index: tests/unit_test/mln_io_ppm_all.cc
--- tests/unit_test/mln_io_ppm_all.cc (revision 3032)
+++ tests/unit_test/mln_io_ppm_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/ppm/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/ppm/all.hh>
#include <mln/io/ppm/all.hh>
int main()
Index: tests/unit_test/mln_util_multi_site.cc
--- tests/unit_test/mln_util_multi_site.cc (revision 3032)
+++ tests/unit_test/mln_util_multi_site.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/multi_site.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/multi_site.hh>
#include <mln/util/multi_site.hh>
int main()
Index: tests/unit_test/mln_display_essential.cc
--- tests/unit_test/mln_display_essential.cc (revision 3032)
+++ tests/unit_test/mln_display_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/display/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/display/essential.hh>
#include <mln/display/essential.hh>
int main()
Index: tests/unit_test/mln_morpho_elementary_dilation.cc
--- tests/unit_test/mln_morpho_elementary_dilation.cc (revision 3032)
+++ tests/unit_test/mln_morpho_elementary_dilation.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/elementary/dilation.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/elementary/dilation.hh>
#include <mln/morpho/elementary/dilation.hh>
int main()
Index: tests/unit_test/mln_fun_v2v_all.cc
--- tests/unit_test/mln_fun_v2v_all.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2v_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2v/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2v/all.hh>
#include <mln/fun/v2v/all.hh>
int main()
Index: tests/unit_test/mln_core_alias_p_runs2d.cc
--- tests/unit_test/mln_core_alias_p_runs2d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_p_runs2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/p_runs2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/p_runs2d.hh>
#include <mln/core/alias/p_runs2d.hh>
int main()
Index: tests/unit_test/mln_accu_nil.cc
--- tests/unit_test/mln_accu_nil.cc (revision 3032)
+++ tests/unit_test/mln_accu_nil.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/nil.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/nil.hh>
#include <mln/accu/nil.hh>
int main()
Index: tests/unit_test/mln_level_memcpy_.cc
--- tests/unit_test/mln_level_memcpy_.cc (revision 3032)
+++ tests/unit_test/mln_level_memcpy_.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/memcpy_.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/memcpy_.hh>
#include <mln/level/memcpy_.hh>
int main()
Index: tests/unit_test/mln_make_w_window2d.cc
--- tests/unit_test/mln_make_w_window2d.cc (revision 3032)
+++ tests/unit_test/mln_make_w_window2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/w_window2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/w_window2d.hh>
#include <mln/make/w_window2d.hh>
int main()
Index: tests/unit_test/mln_fun_x2x_all.cc
--- tests/unit_test/mln_fun_x2x_all.cc (revision 3032)
+++ tests/unit_test/mln_fun_x2x_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/x2x/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/x2x/all.hh>
#include <mln/fun/x2x/all.hh>
int main()
Index: tests/unit_test/mln_level_naive_all.cc
--- tests/unit_test/mln_level_naive_all.cc (revision 3032)
+++ tests/unit_test/mln_level_naive_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/naive/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/naive/all.hh>
#include <mln/level/naive/all.hh>
int main()
Index: tests/unit_test/mln_trace_warning.cc
--- tests/unit_test/mln_trace_warning.cc (revision 3032)
+++ tests/unit_test/mln_trace_warning.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trace/warning.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trace/warning.hh>
#include <mln/trace/warning.hh>
int main()
Index: tests/unit_test/mln_debug_draw_graph.cc
--- tests/unit_test/mln_debug_draw_graph.cc (revision 3032)
+++ tests/unit_test/mln_debug_draw_graph.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/debug/draw_graph.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/debug/draw_graph.hh>
#include <mln/debug/draw_graph.hh>
int main()
Index: tests/unit_test/mln_accu_rank.cc
--- tests/unit_test/mln_accu_rank.cc (revision 3032)
+++ tests/unit_test/mln_accu_rank.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/rank.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/rank.hh>
#include <mln/accu/rank.hh>
int main()
Index: tests/unit_test/mln_set_compute.cc
--- tests/unit_test/mln_set_compute.cc (revision 3032)
+++ tests/unit_test/mln_set_compute.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/set/compute.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/set/compute.hh>
#include <mln/set/compute.hh>
int main()
Index: tests/unit_test/mln_accu_lor.cc
--- tests/unit_test/mln_accu_lor.cc (revision 3032)
+++ tests/unit_test/mln_accu_lor.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/lor.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/lor.hh>
#include <mln/accu/lor.hh>
int main()
Index: tests/unit_test/mln_io_pgm_save.cc
--- tests/unit_test/mln_io_pgm_save.cc (revision 3032)
+++ tests/unit_test/mln_io_pgm_save.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/pgm/save.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/pgm/save.hh>
#include <mln/io/pgm/save.hh>
int main()
Index: tests/unit_test/mln_core_concept_window.cc
--- tests/unit_test/mln_core_concept_window.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_window.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/window.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/window.hh>
#include <mln/core/concept/window.hh>
int main()
Index: tests/unit_test/mln_draw_plot.cc
--- tests/unit_test/mln_draw_plot.cc (revision 3032)
+++ tests/unit_test/mln_draw_plot.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/draw/plot.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/draw/plot.hh>
#include <mln/draw/plot.hh>
int main()
Index: tests/unit_test/mln_core_image_lazy_image.cc
--- tests/unit_test/mln_core_image_lazy_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_lazy_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/lazy_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/lazy_image.hh>
#include <mln/core/image/lazy_image.hh>
int main()
Index: tests/unit_test/mln_extension_adjust_fill.cc
--- tests/unit_test/mln_extension_adjust_fill.cc (revision 3032)
+++ tests/unit_test/mln_extension_adjust_fill.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/extension/adjust_fill.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/extension/adjust_fill.hh>
#include <mln/extension/adjust_fill.hh>
int main()
Index: tests/unit_test/mln_util_tree.cc
--- tests/unit_test/mln_util_tree.cc (revision 3032)
+++ tests/unit_test/mln_util_tree.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/tree.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/tree.hh>
#include <mln/util/tree.hh>
int main()
Index: tests/unit_test/mln_win_inter.cc
--- tests/unit_test/mln_win_inter.cc (revision 3032)
+++ tests/unit_test/mln_win_inter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/inter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/inter.hh>
#include <mln/win/inter.hh>
int main()
Index: tests/unit_test/mln_core_internal_image_identity.cc
--- tests/unit_test/mln_core_internal_image_identity.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_image_identity.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/image_identity.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/image_identity.hh>
#include <mln/core/internal/image_identity.hh>
int main()
Index: tests/unit_test/mln_linear_gaussian.cc
--- tests/unit_test/mln_linear_gaussian.cc (revision 3032)
+++ tests/unit_test/mln_linear_gaussian.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/linear/gaussian.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/linear/gaussian.hh>
#include <mln/linear/gaussian.hh>
int main()
Index: tests/unit_test/mln_core_internal_window_base.cc
--- tests/unit_test/mln_core_internal_window_base.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_window_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/window_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/window_base.hh>
#include <mln/core/internal/window_base.hh>
int main()
Index: tests/unit_test/mln_binarization_threshold.cc
--- tests/unit_test/mln_binarization_threshold.cc (revision 3032)
+++ tests/unit_test/mln_binarization_threshold.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/binarization/threshold.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/binarization/threshold.hh>
#include <mln/binarization/threshold.hh>
int main()
Index: tests/unit_test/mln_make_all.cc
--- tests/unit_test/mln_make_all.cc (revision 3032)
+++ tests/unit_test/mln_make_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/all.hh>
#include <mln/make/all.hh>
int main()
Index: tests/unit_test/mln_trace_quiet.cc
--- tests/unit_test/mln_trace_quiet.cc (revision 3032)
+++ tests/unit_test/mln_trace_quiet.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trace/quiet.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trace/quiet.hh>
#include <mln/trace/quiet.hh>
int main()
Index: tests/unit_test/mln_core_image_cast_image.cc
--- tests/unit_test/mln_core_image_cast_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_cast_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/cast_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/cast_image.hh>
#include <mln/core/image/cast_image.hh>
int main()
Index: tests/unit_test/mln_morpho_elementary_top_hat.cc
--- tests/unit_test/mln_morpho_elementary_top_hat.cc (revision 3032)
+++ tests/unit_test/mln_morpho_elementary_top_hat.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/elementary/top_hat.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/elementary/top_hat.hh>
#include <mln/morpho/elementary/top_hat.hh>
int main()
Index: tests/unit_test/mln_norm_l2.cc
--- tests/unit_test/mln_norm_l2.cc (revision 3032)
+++ tests/unit_test/mln_norm_l2.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/norm/l2.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/norm/l2.hh>
#include <mln/norm/l2.hh>
int main()
Index: tests/unit_test/mln_debug_put_word.cc
--- tests/unit_test/mln_debug_put_word.cc (revision 3032)
+++ tests/unit_test/mln_debug_put_word.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/debug/put_word.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/debug/put_word.hh>
#include <mln/debug/put_word.hh>
int main()
Index: tests/unit_test/mln_accu_maj_h.cc
--- tests/unit_test/mln_accu_maj_h.cc (revision 3032)
+++ tests/unit_test/mln_accu_maj_h.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/maj_h.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/maj_h.hh>
#include <mln/accu/maj_h.hh>
int main()
Index: tests/unit_test/mln_fun_v2v_enc.cc
--- tests/unit_test/mln_fun_v2v_enc.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2v_enc.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2v/enc.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2v/enc.hh>
#include <mln/fun/v2v/enc.hh>
int main()
Index: tests/unit_test/mln_trait_neighborhood.cc
--- tests/unit_test/mln_trait_neighborhood.cc (revision 3032)
+++ tests/unit_test/mln_trait_neighborhood.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/neighborhood.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/neighborhood.hh>
#include <mln/trait/neighborhood.hh>
int main()
Index: tests/unit_test/mln_geom_chamfer.cc
--- tests/unit_test/mln_geom_chamfer.cc (revision 3032)
+++ tests/unit_test/mln_geom_chamfer.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/chamfer.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/chamfer.hh>
#include <mln/geom/chamfer.hh>
int main()
Index: tests/unit_test/mln_morpho_tree_data.cc
--- tests/unit_test/mln_morpho_tree_data.cc (revision 3032)
+++ tests/unit_test/mln_morpho_tree_data.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/tree/data.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/tree/data.hh>
#include <mln/morpho/tree/data.hh>
int main()
Index: tests/unit_test/mln_metal_is_not_a.cc
--- tests/unit_test/mln_metal_is_not_a.cc (revision 3032)
+++ tests/unit_test/mln_metal_is_not_a.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/is_not_a.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/is_not_a.hh>
#include <mln/metal/is_not_a.hh>
int main()
Index: tests/unit_test/mln_accu_min.cc
--- tests/unit_test/mln_accu_min.cc (revision 3032)
+++ tests/unit_test/mln_accu_min.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/min.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/min.hh>
#include <mln/accu/min.hh>
int main()
Index: tests/unit_test/mln_core_image_mono_obased_rle_encode.cc
--- tests/unit_test/mln_core_image_mono_obased_rle_encode.cc (revision 3032)
+++ tests/unit_test/mln_core_image_mono_obased_rle_encode.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/mono_obased_rle_encode.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/mono_obased_rle_encode.hh>
#include <mln/core/image/mono_obased_rle_encode.hh>
int main()
Index: tests/unit_test/mln_geom_all.cc
--- tests/unit_test/mln_geom_all.cc (revision 3032)
+++ tests/unit_test/mln_geom_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/all.hh>
#include <mln/geom/all.hh>
int main()
Index: tests/unit_test/mln_tag_skeleton.cc
--- tests/unit_test/mln_tag_skeleton.cc (revision 3032)
+++ tests/unit_test/mln_tag_skeleton.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/tag/skeleton.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/tag/skeleton.hh>
#include <mln/tag/skeleton.hh>
int main()
Index: tests/unit_test/mln_morpho_internal_elementary.cc
--- tests/unit_test/mln_morpho_internal_elementary.cc (revision 3032)
+++ tests/unit_test/mln_morpho_internal_elementary.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/internal/elementary.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/internal/elementary.hh>
#include <mln/morpho/internal/elementary.hh>
int main()
Index: tests/unit_test/mln_morpho_dilation.cc
--- tests/unit_test/mln_morpho_dilation.cc (revision 3032)
+++ tests/unit_test/mln_morpho_dilation.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/dilation.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/dilation.hh>
#include <mln/morpho/dilation.hh>
int main()
Index: tests/unit_test/mln_core_alias_w_window1d_float.cc
--- tests/unit_test/mln_core_alias_w_window1d_float.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_w_window1d_float.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/w_window1d_float.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/w_window1d_float.hh>
#include <mln/core/alias/w_window1d_float.hh>
int main()
Index: tests/unit_test/mln_metal_templated_by.cc
--- tests/unit_test/mln_metal_templated_by.cc (revision 3032)
+++ tests/unit_test/mln_metal_templated_by.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/templated_by.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/templated_by.hh>
#include <mln/metal/templated_by.hh>
int main()
Index: tests/unit_test/mln_util_pix.cc
--- tests/unit_test/mln_util_pix.cc (revision 3032)
+++ tests/unit_test/mln_util_pix.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/pix.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/pix.hh>
#include <mln/util/pix.hh>
int main()
Index: tests/unit_test/mln_geom_essential.cc
--- tests/unit_test/mln_geom_essential.cc (revision 3032)
+++ tests/unit_test/mln_geom_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/essential.hh>
#include <mln/geom/essential.hh>
int main()
Index: tests/unit_test/mln_level_to_enc.cc
--- tests/unit_test/mln_level_to_enc.cc (revision 3032)
+++ tests/unit_test/mln_level_to_enc.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/to_enc.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/to_enc.hh>
#include <mln/level/to_enc.hh>
int main()
Index: tests/unit_test/mln_util_internal_graph_nbh_iter_base.cc
--- tests/unit_test/mln_util_internal_graph_nbh_iter_base.cc (revision 3032)
+++ tests/unit_test/mln_util_internal_graph_nbh_iter_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/internal/graph_nbh_iter_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/internal/graph_nbh_iter_base.hh>
#include <mln/util/internal/graph_nbh_iter_base.hh>
int main()
Index: tests/unit_test/mln_value_rgb8.cc
--- tests/unit_test/mln_value_rgb8.cc (revision 3032)
+++ tests/unit_test/mln_value_rgb8.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/rgb8.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/rgb8.hh>
#include <mln/value/rgb8.hh>
int main()
Index: tests/unit_test/mln_canvas_morpho_algebraic_union_find.cc
--- tests/unit_test/mln_canvas_morpho_algebraic_union_find.cc (revision 3032)
+++ tests/unit_test/mln_canvas_morpho_algebraic_union_find.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/morpho/algebraic_union_find.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/morpho/algebraic_union_find.hh>
#include <mln/canvas/morpho/algebraic_union_find.hh>
int main()
Index: tests/unit_test/mln_util_tree_to_image.cc
--- tests/unit_test/mln_util_tree_to_image.cc (revision 3032)
+++ tests/unit_test/mln_util_tree_to_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/tree_to_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/tree_to_image.hh>
#include <mln/util/tree_to_image.hh>
int main()
Index: tests/unit_test/mln_accu_rank_bool.cc
--- tests/unit_test/mln_accu_rank_bool.cc (revision 3032)
+++ tests/unit_test/mln_accu_rank_bool.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/rank_bool.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/rank_bool.hh>
#include <mln/accu/rank_bool.hh>
int main()
Index: tests/unit_test/mln_morpho_general.cc
--- tests/unit_test/mln_morpho_general.cc (revision 3032)
+++ tests/unit_test/mln_morpho_general.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/general.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/general.hh>
#include <mln/morpho/general.hh>
int main()
Index: tests/unit_test/mln_core_alias_complex_geometry.cc
--- tests/unit_test/mln_core_alias_complex_geometry.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_complex_geometry.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/complex_geometry.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/complex_geometry.hh>
#include <mln/core/alias/complex_geometry.hh>
int main()
Index: tests/unit_test/mln_core_alias_neighb3d.cc
--- tests/unit_test/mln_core_alias_neighb3d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_neighb3d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/neighb3d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/neighb3d.hh>
#include <mln/core/alias/neighb3d.hh>
int main()
Index: tests/unit_test/mln_algebra_h_mat.cc
--- tests/unit_test/mln_algebra_h_mat.cc (revision 3032)
+++ tests/unit_test/mln_algebra_h_mat.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/algebra/h_mat.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/algebra/h_mat.hh>
#include <mln/algebra/h_mat.hh>
int main()
Index: tests/unit_test/mln_core_image_sub_image.cc
--- tests/unit_test/mln_core_image_sub_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_sub_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/sub_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/sub_image.hh>
#include <mln/core/image/sub_image.hh>
int main()
Index: tests/unit_test/mln_canvas_browsing_snake_fwd.cc
--- tests/unit_test/mln_canvas_browsing_snake_fwd.cc (revision 3032)
+++ tests/unit_test/mln_canvas_browsing_snake_fwd.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/browsing/snake_fwd.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/browsing/snake_fwd.hh>
#include <mln/canvas/browsing/snake_fwd.hh>
int main()
Index: tests/unit_test/mln_canvas_browsing_dir_struct_elt_incr_update.cc
--- tests/unit_test/mln_canvas_browsing_dir_struct_elt_incr_update.cc (revision 3032)
+++ tests/unit_test/mln_canvas_browsing_dir_struct_elt_incr_update.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/browsing/dir_struct_elt_incr_update.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/browsing/dir_struct_elt_incr_update.hh>
#include <mln/canvas/browsing/dir_struct_elt_incr_update.hh>
int main()
Index: tests/unit_test/mln_core_concept_function.cc
--- tests/unit_test/mln_core_concept_function.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_function.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/function.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/function.hh>
#include <mln/core/concept/function.hh>
int main()
Index: tests/unit_test/mln_labeling_background.cc
--- tests/unit_test/mln_labeling_background.cc (revision 3032)
+++ tests/unit_test/mln_labeling_background.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/labeling/background.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/labeling/background.hh>
#include <mln/labeling/background.hh>
int main()
Index: tests/unit_test/mln_core_image_extension_ima.cc
--- tests/unit_test/mln_core_image_extension_ima.cc (revision 3032)
+++ tests/unit_test/mln_core_image_extension_ima.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/extension_ima.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/extension_ima.hh>
#include <mln/core/image/extension_ima.hh>
int main()
Index: tests/unit_test/mln_core_def_essential.cc
--- tests/unit_test/mln_core_def_essential.cc (revision 3032)
+++ tests/unit_test/mln_core_def_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/def/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/def/essential.hh>
#include <mln/core/def/essential.hh>
int main()
Index: tests/unit_test/mln_util_internal_graph_iter.cc
--- tests/unit_test/mln_util_internal_graph_iter.cc (revision 3032)
+++ tests/unit_test/mln_util_internal_graph_iter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/internal/graph_iter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/internal/graph_iter.hh>
#include <mln/util/internal/graph_iter.hh>
int main()
Index: tests/unit_test/mln_fun_vv2v_max.cc
--- tests/unit_test/mln_fun_vv2v_max.cc (revision 3032)
+++ tests/unit_test/mln_fun_vv2v_max.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/vv2v/max.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/vv2v/max.hh>
#include <mln/fun/vv2v/max.hh>
int main()
Index: tests/unit_test/mln_core_image_image1d.cc
--- tests/unit_test/mln_core_image_image1d.cc (revision 3032)
+++ tests/unit_test/mln_core_image_image1d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/image1d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/image1d.hh>
#include <mln/core/image/image1d.hh>
int main()
Index: tests/unit_test/mln_core_trait_all.cc
--- tests/unit_test/mln_core_trait_all.cc (revision 3032)
+++ tests/unit_test/mln_core_trait_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/trait/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/trait/all.hh>
#include <mln/core/trait/all.hh>
int main()
Index: tests/unit_test/mln_level_median.cc
--- tests/unit_test/mln_level_median.cc (revision 3032)
+++ tests/unit_test/mln_level_median.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/median.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/median.hh>
#include <mln/level/median.hh>
int main()
Index: tests/unit_test/mln_util_essential.cc
--- tests/unit_test/mln_util_essential.cc (revision 3032)
+++ tests/unit_test/mln_util_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/essential.hh>
#include <mln/util/essential.hh>
int main()
Index: tests/unit_test/mln_value_equiv.cc
--- tests/unit_test/mln_value_equiv.cc (revision 3032)
+++ tests/unit_test/mln_value_equiv.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/equiv.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/equiv.hh>
#include <mln/value/equiv.hh>
int main()
Index: tests/unit_test/mln_canvas_morpho_all.cc
--- tests/unit_test/mln_canvas_morpho_all.cc (revision 3032)
+++ tests/unit_test/mln_canvas_morpho_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/morpho/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/morpho/all.hh>
#include <mln/canvas/morpho/all.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_accumulator.cc
--- tests/unit_test/mln_core_concept_doc_accumulator.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_accumulator.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/accumulator.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/accumulator.hh>
#include <mln/core/concept/doc/accumulator.hh>
int main()
Index: tests/unit_test/mln_core_concept_object.cc
--- tests/unit_test/mln_core_concept_object.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_object.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/object.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/object.hh>
#include <mln/core/concept/object.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_graph_piter.cc
--- tests/unit_test/mln_core_site_set_p_graph_piter.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_graph_piter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_graph_piter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_graph_piter.hh>
#include <mln/core/site_set/p_graph_piter.hh>
int main()
Index: tests/unit_test/mln_core_alias_p_run2d.cc
--- tests/unit_test/mln_core_alias_p_run2d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_p_run2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/p_run2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/p_run2d.hh>
#include <mln/core/alias/p_run2d.hh>
int main()
Index: tests/unit_test/mln_core_concept_neighborhood.cc
--- tests/unit_test/mln_core_concept_neighborhood.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_neighborhood.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/neighborhood.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/neighborhood.hh>
#include <mln/core/concept/neighborhood.hh>
int main()
Index: tests/unit_test/mln_set_inter.cc
--- tests/unit_test/mln_set_inter.cc (revision 3032)
+++ tests/unit_test/mln_set_inter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/set/inter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/set/inter.hh>
#include <mln/set/inter.hh>
int main()
Index: tests/unit_test/mln_core_faces_psite.cc
--- tests/unit_test/mln_core_faces_psite.cc (revision 3032)
+++ tests/unit_test/mln_core_faces_psite.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/faces_psite.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/faces_psite.hh>
#include <mln/core/faces_psite.hh>
int main()
Index: tests/unit_test/mln_core_concept_value.cc
--- tests/unit_test/mln_core_concept_value.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_value.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/value.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/value.hh>
#include <mln/core/concept/value.hh>
int main()
Index: tests/unit_test/mln_topo_n_face_iter.cc
--- tests/unit_test/mln_topo_n_face_iter.cc (revision 3032)
+++ tests/unit_test/mln_topo_n_face_iter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/n_face_iter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/n_face_iter.hh>
#include <mln/topo/n_face_iter.hh>
int main()
Index: tests/unit_test/mln_core_var.cc
--- tests/unit_test/mln_core_var.cc (revision 3032)
+++ tests/unit_test/mln_core_var.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/var.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/var.hh>
#include <mln/core/var.hh>
int main()
Index: tests/unit_test/mln_morpho_closing_attribute.cc
--- tests/unit_test/mln_morpho_closing_attribute.cc (revision 3032)
+++ tests/unit_test/mln_morpho_closing_attribute.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/closing_attribute.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/closing_attribute.hh>
#include <mln/morpho/closing_attribute.hh>
int main()
Index: tests/unit_test/mln_trace_essential.cc
--- tests/unit_test/mln_trace_essential.cc (revision 3032)
+++ tests/unit_test/mln_trace_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trace/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trace/essential.hh>
#include <mln/trace/essential.hh>
int main()
Index: tests/unit_test/mln_border_mirror.cc
--- tests/unit_test/mln_border_mirror.cc (revision 3032)
+++ tests/unit_test/mln_border_mirror.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/border/mirror.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/border/mirror.hh>
#include <mln/border/mirror.hh>
int main()
Index: tests/unit_test/mln_geom_resize.cc
--- tests/unit_test/mln_geom_resize.cc (revision 3032)
+++ tests/unit_test/mln_geom_resize.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/resize.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/resize.hh>
#include <mln/geom/resize.hh>
int main()
Index: tests/unit_test/mln_morpho_elementary_gradient_external.cc
--- tests/unit_test/mln_morpho_elementary_gradient_external.cc (revision 3032)
+++ tests/unit_test/mln_morpho_elementary_gradient_external.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/elementary/gradient_external.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/elementary/gradient_external.hh>
#include <mln/morpho/elementary/gradient_external.hh>
int main()
Index: tests/unit_test/mln_trait_image_props.cc
--- tests/unit_test/mln_trait_image_props.cc (revision 3032)
+++ tests/unit_test/mln_trait_image_props.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/image/props.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/image/props.hh>
#include <mln/trait/image/props.hh>
int main()
Index: tests/unit_test/mln_arith_min.cc
--- tests/unit_test/mln_arith_min.cc (revision 3032)
+++ tests/unit_test/mln_arith_min.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/arith/min.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/arith/min.hh>
#include <mln/arith/min.hh>
int main()
Index: tests/unit_test/mln_make_box1d.cc
--- tests/unit_test/mln_make_box1d.cc (revision 3032)
+++ tests/unit_test/mln_make_box1d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/box1d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/box1d.hh>
#include <mln/make/box1d.hh>
int main()
Index: tests/unit_test/mln_morpho_opening_area.cc
--- tests/unit_test/mln_morpho_opening_area.cc (revision 3032)
+++ tests/unit_test/mln_morpho_opening_area.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/opening_area.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/opening_area.hh>
#include <mln/morpho/opening_area.hh>
int main()
Index: tests/unit_test/mln_border_get.cc
--- tests/unit_test/mln_border_get.cc (revision 3032)
+++ tests/unit_test/mln_border_get.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/border/get.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/border/get.hh>
#include <mln/border/get.hh>
int main()
Index: tests/unit_test/mln_core_image_line_graph_elt_window.cc
--- tests/unit_test/mln_core_image_line_graph_elt_window.cc (revision 3032)
+++ tests/unit_test/mln_core_image_line_graph_elt_window.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/line_graph_elt_window.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/line_graph_elt_window.hh>
#include <mln/core/image/line_graph_elt_window.hh>
int main()
Index: tests/unit_test/mln_core_alias_window2d.cc
--- tests/unit_test/mln_core_alias_window2d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_window2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/window2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/window2d.hh>
#include <mln/core/alias/window2d.hh>
int main()
Index: tests/unit_test/mln_morpho_minus.cc
--- tests/unit_test/mln_morpho_minus.cc (revision 3032)
+++ tests/unit_test/mln_morpho_minus.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/minus.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/minus.hh>
#include <mln/morpho/minus.hh>
int main()
Index: tests/unit_test/mln_value_int_u32.cc
--- tests/unit_test/mln_value_int_u32.cc (revision 3032)
+++ tests/unit_test/mln_value_int_u32.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/int_u32.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/int_u32.hh>
#include <mln/value/int_u32.hh>
int main()
Index: tests/unit_test/mln_core_routine_init.cc
--- tests/unit_test/mln_core_routine_init.cc (revision 3032)
+++ tests/unit_test/mln_core_routine_init.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/routine/init.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/routine/init.hh>
#include <mln/core/routine/init.hh>
int main()
Index: tests/unit_test/mln_accu_essential.cc
--- tests/unit_test/mln_accu_essential.cc (revision 3032)
+++ tests/unit_test/mln_accu_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/essential.hh>
#include <mln/accu/essential.hh>
int main()
Index: tests/unit_test/mln_trait_op_leq.cc
--- tests/unit_test/mln_trait_op_leq.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_leq.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/leq.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/leq.hh>
#include <mln/trait/op/leq.hh>
int main()
Index: tests/unit_test/mln_core_concept_gpoint.cc
--- tests/unit_test/mln_core_concept_gpoint.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_gpoint.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/gpoint.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/gpoint.hh>
#include <mln/core/concept/gpoint.hh>
int main()
Index: tests/unit_test/mln_core_category.cc
--- tests/unit_test/mln_core_category.cc (revision 3032)
+++ tests/unit_test/mln_core_category.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/category.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/category.hh>
#include <mln/core/category.hh>
int main()
Index: tests/unit_test/mln_value_cast.cc
--- tests/unit_test/mln_value_cast.cc (revision 3032)
+++ tests/unit_test/mln_value_cast.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/cast.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/cast.hh>
#include <mln/value/cast.hh>
int main()
Index: tests/unit_test/mln_fun_vv2v_lor.cc
--- tests/unit_test/mln_fun_vv2v_lor.cc (revision 3032)
+++ tests/unit_test/mln_fun_vv2v_lor.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/vv2v/lor.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/vv2v/lor.hh>
#include <mln/fun/vv2v/lor.hh>
int main()
Index: tests/unit_test/mln_core_trait_qlf_value.cc
--- tests/unit_test/mln_core_trait_qlf_value.cc (revision 3032)
+++ tests/unit_test/mln_core_trait_qlf_value.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/trait/qlf_value.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/trait/qlf_value.hh>
#include <mln/core/trait/qlf_value.hh>
int main()
Index: tests/unit_test/mln_core_concept_all.cc
--- tests/unit_test/mln_core_concept_all.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/all.hh>
#include <mln/core/concept/all.hh>
int main()
Index: tests/unit_test/mln_essential_routine.cc
--- tests/unit_test/mln_essential_routine.cc (revision 3032)
+++ tests/unit_test/mln_essential_routine.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/essential/routine.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/essential/routine.hh>
#include <mln/essential/routine.hh>
int main()
Index: tests/unit_test/mln_debug_println.cc
--- tests/unit_test/mln_debug_println.cc (revision 3032)
+++ tests/unit_test/mln_debug_println.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/debug/println.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/debug/println.hh>
#include <mln/debug/println.hh>
int main()
Index: tests/unit_test/mln_value_ops.cc
--- tests/unit_test/mln_value_ops.cc (revision 3032)
+++ tests/unit_test/mln_value_ops.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/ops.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/ops.hh>
#include <mln/value/ops.hh>
int main()
Index: tests/unit_test/mln_level_transform_inplace.cc
--- tests/unit_test/mln_level_transform_inplace.cc (revision 3032)
+++ tests/unit_test/mln_level_transform_inplace.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/transform_inplace.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/transform_inplace.hh>
#include <mln/level/transform_inplace.hh>
int main()
Index: tests/unit_test/mln_labeling_blobs.cc
--- tests/unit_test/mln_labeling_blobs.cc (revision 3032)
+++ tests/unit_test/mln_labeling_blobs.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/labeling/blobs.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/labeling/blobs.hh>
#include <mln/labeling/blobs.hh>
int main()
Index: tests/unit_test/mln_io_abort.cc
--- tests/unit_test/mln_io_abort.cc (revision 3032)
+++ tests/unit_test/mln_io_abort.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/abort.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/abort.hh>
#include <mln/io/abort.hh>
int main()
Index: tests/unit_test/mln_algebra_mat.cc
--- tests/unit_test/mln_algebra_mat.cc (revision 3032)
+++ tests/unit_test/mln_algebra_mat.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/algebra/mat.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/algebra/mat.hh>
#include <mln/algebra/mat.hh>
int main()
Index: tests/unit_test/mln_geom_pmin_pmax.cc
--- tests/unit_test/mln_geom_pmin_pmax.cc (revision 3032)
+++ tests/unit_test/mln_geom_pmin_pmax.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/pmin_pmax.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/pmin_pmax.hh>
#include <mln/geom/pmin_pmax.hh>
int main()
Index: tests/unit_test/mln_core_alias_box2d.cc
--- tests/unit_test/mln_core_alias_box2d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_box2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/box2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/box2d.hh>
#include <mln/core/alias/box2d.hh>
int main()
Index: tests/unit_test/mln_core_image_hexa.cc
--- tests/unit_test/mln_core_image_hexa.cc (revision 3032)
+++ tests/unit_test/mln_core_image_hexa.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/hexa.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/hexa.hh>
#include <mln/core/image/hexa.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_double.cc
--- tests/unit_test/mln_core_site_set_p_double.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_double.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_double.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_double.hh>
#include <mln/core/site_set/p_double.hh>
int main()
Index: tests/unit_test/mln_core_image_tr_image.cc
--- tests/unit_test/mln_core_image_tr_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_tr_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/tr_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/tr_image.hh>
#include <mln/core/image/tr_image.hh>
int main()
Index: tests/unit_test/mln_morpho_skeleton_constrained.cc
--- tests/unit_test/mln_morpho_skeleton_constrained.cc (revision 3032)
+++ tests/unit_test/mln_morpho_skeleton_constrained.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/skeleton_constrained.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/skeleton_constrained.hh>
#include <mln/morpho/skeleton_constrained.hh>
int main()
Index: tests/unit_test/mln_core_def_coordf.cc
--- tests/unit_test/mln_core_def_coordf.cc (revision 3032)
+++ tests/unit_test/mln_core_def_coordf.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/def/coordf.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/def/coordf.hh>
#include <mln/core/def/coordf.hh>
int main()
Index: tests/unit_test/mln_math_sqrt.cc
--- tests/unit_test/mln_math_sqrt.cc (revision 3032)
+++ tests/unit_test/mln_math_sqrt.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/math/sqrt.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/math/sqrt.hh>
#include <mln/math/sqrt.hh>
int main()
Index: tests/unit_test/mln_value_glf.cc
--- tests/unit_test/mln_value_glf.cc (revision 3032)
+++ tests/unit_test/mln_value_glf.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/glf.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/glf.hh>
#include <mln/value/glf.hh>
int main()
Index: tests/unit_test/mln_draw_box.cc
--- tests/unit_test/mln_draw_box.cc (revision 3032)
+++ tests/unit_test/mln_draw_box.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/draw/box.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/draw/box.hh>
#include <mln/draw/box.hh>
int main()
Index: tests/unit_test/mln_level_sort_psites.cc
--- tests/unit_test/mln_level_sort_psites.cc (revision 3032)
+++ tests/unit_test/mln_level_sort_psites.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/sort_psites.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/sort_psites.hh>
#include <mln/level/sort_psites.hh>
int main()
Index: tests/unit_test/mln_morpho_elementary_gradient.cc
--- tests/unit_test/mln_morpho_elementary_gradient.cc (revision 3032)
+++ tests/unit_test/mln_morpho_elementary_gradient.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/elementary/gradient.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/elementary/gradient.hh>
#include <mln/morpho/elementary/gradient.hh>
int main()
Index: tests/unit_test/mln_morpho_closing_volume.cc
--- tests/unit_test/mln_morpho_closing_volume.cc (revision 3032)
+++ tests/unit_test/mln_morpho_closing_volume.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/closing_volume.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/closing_volume.hh>
#include <mln/morpho/closing_volume.hh>
int main()
Index: tests/unit_test/mln_canvas_browsing_all.cc
--- tests/unit_test/mln_canvas_browsing_all.cc (revision 3032)
+++ tests/unit_test/mln_canvas_browsing_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/browsing/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/browsing/all.hh>
#include <mln/canvas/browsing/all.hh>
int main()
Index: tests/unit_test/mln_fun_vv2v_min.cc
--- tests/unit_test/mln_fun_vv2v_min.cc (revision 3032)
+++ tests/unit_test/mln_fun_vv2v_min.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/vv2v/min.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/vv2v/min.hh>
#include <mln/fun/vv2v/min.hh>
int main()
Index: tests/unit_test/mln_core_site_set_all.cc
--- tests/unit_test/mln_core_site_set_all.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/all.hh>
#include <mln/core/site_set/all.hh>
int main()
Index: tests/unit_test/mln_io_pnm_load.cc
--- tests/unit_test/mln_io_pnm_load.cc (revision 3032)
+++ tests/unit_test/mln_io_pnm_load.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/pnm/load.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/pnm/load.hh>
#include <mln/io/pnm/load.hh>
int main()
Index: tests/unit_test/mln_fun_v2v_norm.cc
--- tests/unit_test/mln_fun_v2v_norm.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2v_norm.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2v/norm.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2v/norm.hh>
#include <mln/fun/v2v/norm.hh>
int main()
Index: tests/unit_test/mln_make_w_window3d.cc
--- tests/unit_test/mln_make_w_window3d.cc (revision 3032)
+++ tests/unit_test/mln_make_w_window3d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/w_window3d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/w_window3d.hh>
#include <mln/make/w_window3d.hh>
int main()
Index: tests/unit_test/mln_util_ord.cc
--- tests/unit_test/mln_util_ord.cc (revision 3032)
+++ tests/unit_test/mln_util_ord.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/ord.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/ord.hh>
#include <mln/util/ord.hh>
int main()
Index: tests/unit_test/mln_topo_face_iter.cc
--- tests/unit_test/mln_topo_face_iter.cc (revision 3032)
+++ tests/unit_test/mln_topo_face_iter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/face_iter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/face_iter.hh>
#include <mln/topo/face_iter.hh>
int main()
Index: tests/unit_test/mln_geom_max_row.cc
--- tests/unit_test/mln_geom_max_row.cc (revision 3032)
+++ tests/unit_test/mln_geom_max_row.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/geom/max_row.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/geom/max_row.hh>
#include <mln/geom/max_row.hh>
int main()
Index: tests/unit_test/mln_linear_sobel_2d.cc
--- tests/unit_test/mln_linear_sobel_2d.cc (revision 3032)
+++ tests/unit_test/mln_linear_sobel_2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/linear/sobel_2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/linear/sobel_2d.hh>
#include <mln/linear/sobel_2d.hh>
int main()
Index: tests/unit_test/mln_linear_convolve.cc
--- tests/unit_test/mln_linear_convolve.cc (revision 3032)
+++ tests/unit_test/mln_linear_convolve.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/linear/convolve.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/linear/convolve.hh>
#include <mln/linear/convolve.hh>
int main()
Index: tests/unit_test/mln_core_trait_pixter.cc
--- tests/unit_test/mln_core_trait_pixter.cc (revision 3032)
+++ tests/unit_test/mln_core_trait_pixter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/trait/pixter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/trait/pixter.hh>
#include <mln/core/trait/pixter.hh>
int main()
Index: tests/unit_test/mln_core_image_mono_rle_image.cc
--- tests/unit_test/mln_core_image_mono_rle_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_mono_rle_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/mono_rle_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/mono_rle_image.hh>
#include <mln/core/image/mono_rle_image.hh>
int main()
Index: tests/unit_test/mln_fun_x2p_essential.cc
--- tests/unit_test/mln_fun_x2p_essential.cc (revision 3032)
+++ tests/unit_test/mln_fun_x2p_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/x2p/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/x2p/essential.hh>
#include <mln/fun/x2p/essential.hh>
int main()
Index: tests/unit_test/mln_literal_black.cc
--- tests/unit_test/mln_literal_black.cc (revision 3032)
+++ tests/unit_test/mln_literal_black.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/literal/black.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/literal/black.hh>
#include <mln/literal/black.hh>
int main()
Index: tests/unit_test/mln_make_w_window2d_int.cc
--- tests/unit_test/mln_make_w_window2d_int.cc (revision 3032)
+++ tests/unit_test/mln_make_w_window2d_int.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/w_window2d_int.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/w_window2d_int.hh>
#include <mln/make/w_window2d_int.hh>
int main()
Index: tests/unit_test/mln_literal_one.cc
--- tests/unit_test/mln_literal_one.cc (revision 3032)
+++ tests/unit_test/mln_literal_one.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/literal/one.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/literal/one.hh>
#include <mln/literal/one.hh>
int main()
Index: tests/unit_test/mln_make_pix.cc
--- tests/unit_test/mln_make_pix.cc (revision 3032)
+++ tests/unit_test/mln_make_pix.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/pix.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/pix.hh>
#include <mln/make/pix.hh>
int main()
Index: tests/unit_test/mln_pw_essential.cc
--- tests/unit_test/mln_pw_essential.cc (revision 3032)
+++ tests/unit_test/mln_pw_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/pw/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/pw/essential.hh>
#include <mln/pw/essential.hh>
int main()
Index: tests/unit_test/mln_core_site_set_essential.cc
--- tests/unit_test/mln_core_site_set_essential.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/essential.hh>
#include <mln/core/site_set/essential.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_weighted_window.cc
--- tests/unit_test/mln_core_concept_doc_weighted_window.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_weighted_window.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/weighted_window.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/weighted_window.hh>
#include <mln/core/concept/doc/weighted_window.hh>
int main()
Index: tests/unit_test/mln_logical_all.cc
--- tests/unit_test/mln_logical_all.cc (revision 3032)
+++ tests/unit_test/mln_logical_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/logical/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/logical/all.hh>
#include <mln/logical/all.hh>
int main()
Index: tests/unit_test/mln_morpho_erosion.cc
--- tests/unit_test/mln_morpho_erosion.cc (revision 3032)
+++ tests/unit_test/mln_morpho_erosion.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/erosion.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/erosion.hh>
#include <mln/morpho/erosion.hh>
int main()
Index: tests/unit_test/mln_morpho_hit_or_miss.cc
--- tests/unit_test/mln_morpho_hit_or_miss.cc (revision 3032)
+++ tests/unit_test/mln_morpho_hit_or_miss.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/hit_or_miss.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/hit_or_miss.hh>
#include <mln/morpho/hit_or_miss.hh>
int main()
Index: tests/unit_test/mln_core_internal_graph_psite_base.cc
--- tests/unit_test/mln_core_internal_graph_psite_base.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_graph_psite_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/graph_psite_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/graph_psite_base.hh>
#include <mln/core/internal/graph_psite_base.hh>
int main()
Index: tests/unit_test/mln_win_line.cc
--- tests/unit_test/mln_win_line.cc (revision 3032)
+++ tests/unit_test/mln_win_line.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/win/line.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/win/line.hh>
#include <mln/win/line.hh>
int main()
Index: tests/unit_test/mln_trait_concrete.cc
--- tests/unit_test/mln_trait_concrete.cc (revision 3032)
+++ tests/unit_test/mln_trait_concrete.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/concrete.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/concrete.hh>
#include <mln/trait/concrete.hh>
int main()
Index: tests/unit_test/mln_make_w_window_directional.cc
--- tests/unit_test/mln_make_w_window_directional.cc (revision 3032)
+++ tests/unit_test/mln_make_w_window_directional.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/w_window_directional.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/w_window_directional.hh>
#include <mln/make/w_window_directional.hh>
int main()
Index: tests/unit_test/mln_arith_times.cc
--- tests/unit_test/mln_arith_times.cc (revision 3032)
+++ tests/unit_test/mln_arith_times.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/arith/times.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/arith/times.hh>
#include <mln/arith/times.hh>
int main()
Index: tests/unit_test/mln_morpho_laplacian.cc
--- tests/unit_test/mln_morpho_laplacian.cc (revision 3032)
+++ tests/unit_test/mln_morpho_laplacian.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/laplacian.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/laplacian.hh>
#include <mln/morpho/laplacian.hh>
int main()
Index: tests/unit_test/mln_labeling_compute.cc
--- tests/unit_test/mln_labeling_compute.cc (revision 3032)
+++ tests/unit_test/mln_labeling_compute.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/labeling/compute.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/labeling/compute.hh>
#include <mln/labeling/compute.hh>
int main()
Index: tests/unit_test/mln_io_pgm_load.cc
--- tests/unit_test/mln_io_pgm_load.cc (revision 3032)
+++ tests/unit_test/mln_io_pgm_load.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/pgm/load.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/pgm/load.hh>
#include <mln/io/pgm/load.hh>
int main()
Index: tests/unit_test/mln_value_label.cc
--- tests/unit_test/mln_value_label.cc (revision 3032)
+++ tests/unit_test/mln_value_label.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/label.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/label.hh>
#include <mln/value/label.hh>
int main()
Index: tests/unit_test/mln_convert_impl_from_value_to_value.cc
--- tests/unit_test/mln_convert_impl_from_value_to_value.cc (revision 3032)
+++ tests/unit_test/mln_convert_impl_from_value_to_value.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/convert/impl/from_value_to_value.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/impl/from_value_to_value.hh>
#include <mln/convert/impl/from_value_to_value.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_set.cc
--- tests/unit_test/mln_core_site_set_p_set.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_set.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_set.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_set.hh>
#include <mln/core/site_set/p_set.hh>
int main()
Index: tests/unit_test/mln_accu_histo.cc
--- tests/unit_test/mln_accu_histo.cc (revision 3032)
+++ tests/unit_test/mln_accu_histo.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/histo.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/histo.hh>
#include <mln/accu/histo.hh>
int main()
Index: tests/unit_test/mln_morpho_gradient.cc
--- tests/unit_test/mln_morpho_gradient.cc (revision 3032)
+++ tests/unit_test/mln_morpho_gradient.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/gradient.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/gradient.hh>
#include <mln/morpho/gradient.hh>
int main()
Index: tests/unit_test/mln_make_box2d_h.cc
--- tests/unit_test/mln_make_box2d_h.cc (revision 3032)
+++ tests/unit_test/mln_make_box2d_h.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/box2d_h.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/box2d_h.hh>
#include <mln/make/box2d_h.hh>
int main()
Index: tests/unit_test/mln_trait_op_times.cc
--- tests/unit_test/mln_trait_op_times.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_times.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/times.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/times.hh>
#include <mln/trait/op/times.hh>
int main()
Index: tests/unit_test/mln_make_essential.cc
--- tests/unit_test/mln_make_essential.cc (revision 3032)
+++ tests/unit_test/mln_make_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/essential.hh>
#include <mln/make/essential.hh>
int main()
Index: tests/unit_test/mln_accu_min_h.cc
--- tests/unit_test/mln_accu_min_h.cc (revision 3032)
+++ tests/unit_test/mln_accu_min_h.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/min_h.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/min_h.hh>
#include <mln/accu/min_h.hh>
int main()
Index: tests/unit_test/mln_test_essential.cc
--- tests/unit_test/mln_test_essential.cc (revision 3032)
+++ tests/unit_test/mln_test_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/test/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/test/essential.hh>
#include <mln/test/essential.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_queue_fast.cc
--- tests/unit_test/mln_core_site_set_p_queue_fast.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_queue_fast.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_queue_fast.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_queue_fast.hh>
#include <mln/core/site_set/p_queue_fast.hh>
int main()
Index: tests/unit_test/mln_core_concept_site.cc
--- tests/unit_test/mln_core_concept_site.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_site.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/site.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/site.hh>
#include <mln/core/concept/site.hh>
int main()
Index: tests/unit_test/mln_morpho_tree_compute_parent.cc
--- tests/unit_test/mln_morpho_tree_compute_parent.cc (revision 3032)
+++ tests/unit_test/mln_morpho_tree_compute_parent.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/tree/compute_parent.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/tree/compute_parent.hh>
#include <mln/morpho/tree/compute_parent.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_image.cc
--- tests/unit_test/mln_core_concept_doc_image.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/image.hh>
#include <mln/core/concept/doc/image.hh>
int main()
Index: tests/unit_test/mln_make_w_window.cc
--- tests/unit_test/mln_make_w_window.cc (revision 3032)
+++ tests/unit_test/mln_make_w_window.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/w_window.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/w_window.hh>
#include <mln/make/w_window.hh>
int main()
Index: tests/unit_test/mln_histo_essential.cc
--- tests/unit_test/mln_histo_essential.cc (revision 3032)
+++ tests/unit_test/mln_histo_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/histo/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/histo/essential.hh>
#include <mln/histo/essential.hh>
int main()
Index: tests/unit_test/mln_canvas_distance_front.cc
--- tests/unit_test/mln_canvas_distance_front.cc (revision 3032)
+++ tests/unit_test/mln_canvas_distance_front.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/distance_front.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/distance_front.hh>
#include <mln/canvas/distance_front.hh>
int main()
Index: tests/unit_test/mln_convert_to_dpoint.cc
--- tests/unit_test/mln_convert_to_dpoint.cc (revision 3032)
+++ tests/unit_test/mln_convert_to_dpoint.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/convert/to_dpoint.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/to_dpoint.hh>
#include <mln/convert/to_dpoint.hh>
int main()
Index: tests/unit_test/mln_binarization_essential.cc
--- tests/unit_test/mln_binarization_essential.cc (revision 3032)
+++ tests/unit_test/mln_binarization_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/binarization/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/binarization/essential.hh>
#include <mln/binarization/essential.hh>
int main()
Index: tests/unit_test/mln_core_concept_point_site.cc
--- tests/unit_test/mln_core_concept_point_site.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_point_site.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/point_site.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/point_site.hh>
#include <mln/core/concept/point_site.hh>
int main()
Index: tests/unit_test/mln_value_float01_.cc
--- tests/unit_test/mln_value_float01_.cc (revision 3032)
+++ tests/unit_test/mln_value_float01_.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/float01_.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/float01_.hh>
#include <mln/value/float01_.hh>
int main()
Index: tests/unit_test/mln_util_internal_graph_nbh_iter.cc
--- tests/unit_test/mln_util_internal_graph_nbh_iter.cc (revision 3032)
+++ tests/unit_test/mln_util_internal_graph_nbh_iter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/internal/graph_nbh_iter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/internal/graph_nbh_iter.hh>
#include <mln/util/internal/graph_nbh_iter.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_dpoint.cc
--- tests/unit_test/mln_core_concept_doc_dpoint.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_dpoint.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/dpoint.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/dpoint.hh>
#include <mln/core/concept/doc/dpoint.hh>
int main()
Index: tests/unit_test/mln_canvas_browsing_depth_first_search.cc
--- tests/unit_test/mln_canvas_browsing_depth_first_search.cc (revision 3032)
+++ tests/unit_test/mln_canvas_browsing_depth_first_search.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/browsing/depth_first_search.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/browsing/depth_first_search.hh>
#include <mln/canvas/browsing/depth_first_search.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_queue.cc
--- tests/unit_test/mln_core_site_set_p_queue.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_queue.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_queue.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_queue.hh>
#include <mln/core/site_set/p_queue.hh>
int main()
Index: tests/unit_test/mln_essential_1d.cc
--- tests/unit_test/mln_essential_1d.cc (revision 3032)
+++ tests/unit_test/mln_essential_1d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/essential/1d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/essential/1d.hh>
#include <mln/essential/1d.hh>
int main()
Index: tests/unit_test/mln_logical_and_not.cc
--- tests/unit_test/mln_logical_and_not.cc (revision 3032)
+++ tests/unit_test/mln_logical_and_not.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/logical/and_not.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/logical/and_not.hh>
#include <mln/logical/and_not.hh>
int main()
Index: tests/unit_test/mln_topo_n_face.cc
--- tests/unit_test/mln_topo_n_face.cc (revision 3032)
+++ tests/unit_test/mln_topo_n_face.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/n_face.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/n_face.hh>
#include <mln/topo/n_face.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_vaccess.cc
--- tests/unit_test/mln_core_site_set_p_vaccess.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_vaccess.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_vaccess.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_vaccess.hh>
#include <mln/core/site_set/p_vaccess.hh>
int main()
Index: tests/unit_test/mln_core_internal_image_base.cc
--- tests/unit_test/mln_core_internal_image_base.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_image_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/image_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/image_base.hh>
#include <mln/core/internal/image_base.hh>
int main()
Index: tests/unit_test/mln_util_internal_boost_graph_access.cc
--- tests/unit_test/mln_util_internal_boost_graph_access.cc (revision 3032)
+++ tests/unit_test/mln_util_internal_boost_graph_access.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/internal/boost_graph_access.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/internal/boost_graph_access.hh>
#include <mln/util/internal/boost_graph_access.hh>
int main()
Index: tests/unit_test/mln_value_int_u_sat.cc
--- tests/unit_test/mln_value_int_u_sat.cc (revision 3032)
+++ tests/unit_test/mln_value_int_u_sat.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/int_u_sat.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/int_u_sat.hh>
#include <mln/value/int_u_sat.hh>
int main()
Index: tests/unit_test/mln_histo_compute.cc
--- tests/unit_test/mln_histo_compute.cc (revision 3032)
+++ tests/unit_test/mln_histo_compute.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/histo/compute.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/histo/compute.hh>
#include <mln/histo/compute.hh>
int main()
Index: tests/unit_test/mln_fun_vv2v_essential.cc
--- tests/unit_test/mln_fun_vv2v_essential.cc (revision 3032)
+++ tests/unit_test/mln_fun_vv2v_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/vv2v/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/vv2v/essential.hh>
#include <mln/fun/vv2v/essential.hh>
int main()
Index: tests/unit_test/mln_core_internal_image_morpher.cc
--- tests/unit_test/mln_core_internal_image_morpher.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_image_morpher.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/image_morpher.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/image_morpher.hh>
#include <mln/core/internal/image_morpher.hh>
int main()
Index: tests/unit_test/mln_core_image_image2d.cc
--- tests/unit_test/mln_core_image_image2d.cc (revision 3032)
+++ tests/unit_test/mln_core_image_image2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/image2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/image2d.hh>
#include <mln/core/image/image2d.hh>
int main()
Index: tests/unit_test/mln_io_pnm_macros.cc
--- tests/unit_test/mln_io_pnm_macros.cc (revision 3032)
+++ tests/unit_test/mln_io_pnm_macros.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/pnm/macros.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/pnm/macros.hh>
#include <mln/io/pnm/macros.hh>
int main()
Index: tests/unit_test/mln_core_a_point_of.cc
--- tests/unit_test/mln_core_a_point_of.cc (revision 3032)
+++ tests/unit_test/mln_core_a_point_of.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/a_point_of.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/a_point_of.hh>
#include <mln/core/a_point_of.hh>
int main()
Index: tests/unit_test/mln_core_concept_gdpoint.cc
--- tests/unit_test/mln_core_concept_gdpoint.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_gdpoint.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/gdpoint.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/gdpoint.hh>
#include <mln/core/concept/gdpoint.hh>
int main()
Index: tests/unit_test/mln_io_fits_load.cc
--- tests/unit_test/mln_io_fits_load.cc (revision 3032)
+++ tests/unit_test/mln_io_fits_load.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/fits/load.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/fits/load.hh>
#include <mln/io/fits/load.hh>
int main()
Index: tests/unit_test/mln_tag_init.cc
--- tests/unit_test/mln_tag_init.cc (revision 3032)
+++ tests/unit_test/mln_tag_init.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/tag/init.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/tag/init.hh>
#include <mln/tag/init.hh>
int main()
Index: tests/unit_test/mln_core_concept_site_iterator.cc
--- tests/unit_test/mln_core_concept_site_iterator.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_site_iterator.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/site_iterator.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/site_iterator.hh>
#include <mln/core/concept/site_iterator.hh>
int main()
Index: tests/unit_test/mln_labeling_flat_zones.cc
--- tests/unit_test/mln_labeling_flat_zones.cc (revision 3032)
+++ tests/unit_test/mln_labeling_flat_zones.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/labeling/flat_zones.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/labeling/flat_zones.hh>
#include <mln/labeling/flat_zones.hh>
int main()
Index: tests/unit_test/mln_canvas_browsing_snake_generic.cc
--- tests/unit_test/mln_canvas_browsing_snake_generic.cc (revision 3032)
+++ tests/unit_test/mln_canvas_browsing_snake_generic.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/browsing/snake_generic.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/browsing/snake_generic.hh>
#include <mln/canvas/browsing/snake_generic.hh>
int main()
Index: tests/unit_test/mln_level_replace.cc
--- tests/unit_test/mln_level_replace.cc (revision 3032)
+++ tests/unit_test/mln_level_replace.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/replace.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/replace.hh>
#include <mln/level/replace.hh>
int main()
Index: tests/unit_test/mln_value_int_u8.cc
--- tests/unit_test/mln_value_int_u8.cc (revision 3032)
+++ tests/unit_test/mln_value_int_u8.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/int_u8.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/int_u8.hh>
#include <mln/value/int_u8.hh>
int main()
Index: tests/unit_test/mln_transform_all.cc
--- tests/unit_test/mln_transform_all.cc (revision 3032)
+++ tests/unit_test/mln_transform_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/transform/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/transform/all.hh>
#include <mln/transform/all.hh>
int main()
Index: tests/unit_test/mln_morpho_tree_compute_attribute_image.cc
--- tests/unit_test/mln_morpho_tree_compute_attribute_image.cc (revision 3032)
+++ tests/unit_test/mln_morpho_tree_compute_attribute_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/tree/compute_attribute_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/tree/compute_attribute_image.hh>
#include <mln/morpho/tree/compute_attribute_image.hh>
int main()
Index: tests/unit_test/mln_accu_land.cc
--- tests/unit_test/mln_accu_land.cc (revision 3032)
+++ tests/unit_test/mln_accu_land.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/land.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/land.hh>
#include <mln/accu/land.hh>
int main()
Index: tests/unit_test/mln_make_box2d.cc
--- tests/unit_test/mln_make_box2d.cc (revision 3032)
+++ tests/unit_test/mln_make_box2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/box2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/box2d.hh>
#include <mln/make/box2d.hh>
int main()
Index: tests/unit_test/mln_metal_ret.cc
--- tests/unit_test/mln_metal_ret.cc (revision 3032)
+++ tests/unit_test/mln_metal_ret.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/ret.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/ret.hh>
#include <mln/metal/ret.hh>
int main()
Index: tests/unit_test/mln_core_alias_window3d.cc
--- tests/unit_test/mln_core_alias_window3d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_window3d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/window3d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/window3d.hh>
#include <mln/core/alias/window3d.hh>
int main()
Index: tests/unit_test/mln_core_clock_neighb.cc
--- tests/unit_test/mln_core_clock_neighb.cc (revision 3032)
+++ tests/unit_test/mln_core_clock_neighb.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/clock_neighb.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/clock_neighb.hh>
#include <mln/core/clock_neighb.hh>
int main()
Index: tests/unit_test/mln_util_ignore.cc
--- tests/unit_test/mln_util_ignore.cc (revision 3032)
+++ tests/unit_test/mln_util_ignore.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/ignore.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/ignore.hh>
#include <mln/util/ignore.hh>
int main()
Index: tests/unit_test/mln_value_int_u16.cc
--- tests/unit_test/mln_value_int_u16.cc (revision 3032)
+++ tests/unit_test/mln_value_int_u16.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/int_u16.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/int_u16.hh>
#include <mln/value/int_u16.hh>
int main()
Index: tests/unit_test/mln_extension_essential.cc
--- tests/unit_test/mln_extension_essential.cc (revision 3032)
+++ tests/unit_test/mln_extension_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/extension/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/extension/essential.hh>
#include <mln/extension/essential.hh>
int main()
Index: tests/unit_test/mln_accu_count.cc
--- tests/unit_test/mln_accu_count.cc (revision 3032)
+++ tests/unit_test/mln_accu_count.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/count.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/count.hh>
#include <mln/accu/count.hh>
int main()
Index: tests/unit_test/mln_core_dpoints_pixter.cc
--- tests/unit_test/mln_core_dpoints_pixter.cc (revision 3032)
+++ tests/unit_test/mln_core_dpoints_pixter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/dpoints_pixter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/dpoints_pixter.hh>
#include <mln/core/dpoints_pixter.hh>
int main()
Index: tests/unit_test/mln_io_fits_all.cc
--- tests/unit_test/mln_io_fits_all.cc (revision 3032)
+++ tests/unit_test/mln_io_fits_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/fits/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/fits/all.hh>
#include <mln/io/fits/all.hh>
int main()
Index: tests/unit_test/mln_core_image_line_graph_image.cc
--- tests/unit_test/mln_core_image_line_graph_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_line_graph_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/line_graph_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/line_graph_image.hh>
#include <mln/core/image/line_graph_image.hh>
int main()
Index: tests/unit_test/mln_core_image_sparse_encode.cc
--- tests/unit_test/mln_core_image_sparse_encode.cc (revision 3032)
+++ tests/unit_test/mln_core_image_sparse_encode.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/sparse_encode.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/sparse_encode.hh>
#include <mln/core/image/sparse_encode.hh>
int main()
Index: tests/unit_test/mln_arith_diff_abs.cc
--- tests/unit_test/mln_arith_diff_abs.cc (revision 3032)
+++ tests/unit_test/mln_arith_diff_abs.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/arith/diff_abs.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/arith/diff_abs.hh>
#include <mln/arith/diff_abs.hh>
int main()
Index: tests/unit_test/mln_accu_max_h.cc
--- tests/unit_test/mln_accu_max_h.cc (revision 3032)
+++ tests/unit_test/mln_accu_max_h.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/max_h.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/max_h.hh>
#include <mln/accu/max_h.hh>
int main()
Index: tests/unit_test/mln_estim_min_max.cc
--- tests/unit_test/mln_estim_min_max.cc (revision 3032)
+++ tests/unit_test/mln_estim_min_max.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/estim/min_max.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/estim/min_max.hh>
#include <mln/estim/min_max.hh>
int main()
Index: tests/unit_test/mln_value_float01_8.cc
--- tests/unit_test/mln_value_float01_8.cc (revision 3032)
+++ tests/unit_test/mln_value_float01_8.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/float01_8.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/float01_8.hh>
#include <mln/value/float01_8.hh>
int main()
Index: tests/unit_test/mln_debug_essential.cc
--- tests/unit_test/mln_debug_essential.cc (revision 3032)
+++ tests/unit_test/mln_debug_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/debug/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/debug/essential.hh>
#include <mln/debug/essential.hh>
int main()
Index: tests/unit_test/mln_core_def_all.cc
--- tests/unit_test/mln_core_def_all.cc (revision 3032)
+++ tests/unit_test/mln_core_def_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/def/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/def/all.hh>
#include <mln/core/def/all.hh>
int main()
Index: tests/unit_test/mln_metal_vec.cc
--- tests/unit_test/mln_metal_vec.cc (revision 3032)
+++ tests/unit_test/mln_metal_vec.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/vec.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/vec.hh>
#include <mln/metal/vec.hh>
int main()
Index: tests/unit_test/mln_core_alias_box3d.cc
--- tests/unit_test/mln_core_alias_box3d.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_box3d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/box3d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/box3d.hh>
#include <mln/core/alias/box3d.hh>
int main()
Index: tests/unit_test/mln_accu_internal_base.cc
--- tests/unit_test/mln_accu_internal_base.cc (revision 3032)
+++ tests/unit_test/mln_accu_internal_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/internal/base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/internal/base.hh>
#include <mln/accu/internal/base.hh>
int main()
Index: tests/unit_test/mln_util_edge.cc
--- tests/unit_test/mln_util_edge.cc (revision 3032)
+++ tests/unit_test/mln_util_edge.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/edge.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/edge.hh>
#include <mln/util/edge.hh>
int main()
Index: tests/unit_test/mln_fun_p2b_big_chess.cc
--- tests/unit_test/mln_fun_p2b_big_chess.cc (revision 3032)
+++ tests/unit_test/mln_fun_p2b_big_chess.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/p2b/big_chess.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/p2b/big_chess.hh>
#include <mln/fun/p2b/big_chess.hh>
int main()
Index: tests/unit_test/mln_core_image_hexa_piter.cc
--- tests/unit_test/mln_core_image_hexa_piter.cc (revision 3032)
+++ tests/unit_test/mln_core_image_hexa_piter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/hexa_piter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/hexa_piter.hh>
#include <mln/core/image/hexa_piter.hh>
int main()
Index: tests/unit_test/mln_linear_convolve_directional.cc
--- tests/unit_test/mln_linear_convolve_directional.cc (revision 3032)
+++ tests/unit_test/mln_linear_convolve_directional.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/linear/convolve_directional.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/linear/convolve_directional.hh>
#include <mln/linear/convolve_directional.hh>
int main()
Index: tests/unit_test/mln_draw_line.cc
--- tests/unit_test/mln_draw_line.cc (revision 3032)
+++ tests/unit_test/mln_draw_line.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/draw/line.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/draw/line.hh>
#include <mln/draw/line.hh>
int main()
Index: tests/unit_test/mln_core_image_interpolated.cc
--- tests/unit_test/mln_core_image_interpolated.cc (revision 3032)
+++ tests/unit_test/mln_core_image_interpolated.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/interpolated.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/interpolated.hh>
#include <mln/core/image/interpolated.hh>
int main()
Index: tests/unit_test/mln_fun_x2p_all.cc
--- tests/unit_test/mln_fun_x2p_all.cc (revision 3032)
+++ tests/unit_test/mln_fun_x2p_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/x2p/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/x2p/all.hh>
#include <mln/fun/x2p/all.hh>
int main()
Index: tests/unit_test/mln_canvas_browsing_hyper_directional.cc
--- tests/unit_test/mln_canvas_browsing_hyper_directional.cc (revision 3032)
+++ tests/unit_test/mln_canvas_browsing_hyper_directional.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/canvas/browsing/hyper_directional.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/canvas/browsing/hyper_directional.hh>
#include <mln/canvas/browsing/hyper_directional.hh>
int main()
Index: tests/unit_test/mln_level_fill_with_image.cc
--- tests/unit_test/mln_level_fill_with_image.cc (revision 3032)
+++ tests/unit_test/mln_level_fill_with_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/fill_with_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/fill_with_image.hh>
#include <mln/level/fill_with_image.hh>
int main()
Index: tests/unit_test/mln_morpho_elementary_like_ero_fun.cc
--- tests/unit_test/mln_morpho_elementary_like_ero_fun.cc (revision 3032)
+++ tests/unit_test/mln_morpho_elementary_like_ero_fun.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/elementary/like_ero_fun.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/elementary/like_ero_fun.hh>
#include <mln/morpho/elementary/like_ero_fun.hh>
int main()
Index: tests/unit_test/mln_convert_to_p_set.cc
--- tests/unit_test/mln_convert_to_p_set.cc (revision 3032)
+++ tests/unit_test/mln_convert_to_p_set.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/convert/to_p_set.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/to_p_set.hh>
#include <mln/convert/to_p_set.hh>
int main()
Index: tests/unit_test/mln_level_approx_median.cc
--- tests/unit_test/mln_level_approx_median.cc (revision 3032)
+++ tests/unit_test/mln_level_approx_median.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/approx/median.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/approx/median.hh>
#include <mln/level/approx/median.hh>
int main()
Index: tests/unit_test/mln_literal_colors.cc
--- tests/unit_test/mln_literal_colors.cc (revision 3032)
+++ tests/unit_test/mln_literal_colors.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/literal/colors.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/literal/colors.hh>
#include <mln/literal/colors.hh>
int main()
Index: tests/unit_test/mln_util_internal_edge_impl.cc
--- tests/unit_test/mln_util_internal_edge_impl.cc (revision 3032)
+++ tests/unit_test/mln_util_internal_edge_impl.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/internal/edge_impl.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/internal/edge_impl.hh>
#include <mln/util/internal/edge_impl.hh>
int main()
Index: tests/unit_test/mln_core_image_bgraph_image.cc
--- tests/unit_test/mln_core_image_bgraph_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_bgraph_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/bgraph_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/bgraph_image.hh>
#include <mln/core/image/bgraph_image.hh>
int main()
Index: tests/unit_test/mln_value_concept_all.cc
--- tests/unit_test/mln_value_concept_all.cc (revision 3032)
+++ tests/unit_test/mln_value_concept_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/concept/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/concept/all.hh>
#include <mln/value/concept/all.hh>
int main()
Index: tests/unit_test/mln_trait_op_or.cc
--- tests/unit_test/mln_trait_op_or.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_or.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/or.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/or.hh>
#include <mln/trait/op/or.hh>
int main()
Index: tests/unit_test/mln_accu_transform_directional.cc
--- tests/unit_test/mln_accu_transform_directional.cc (revision 3032)
+++ tests/unit_test/mln_accu_transform_directional.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/transform_directional.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/transform_directional.hh>
#include <mln/accu/transform_directional.hh>
int main()
Index: tests/unit_test/mln_morpho_rank_filter.cc
--- tests/unit_test/mln_morpho_rank_filter.cc (revision 3032)
+++ tests/unit_test/mln_morpho_rank_filter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/rank_filter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/rank_filter.hh>
#include <mln/morpho/rank_filter.hh>
int main()
Index: tests/unit_test/mln_value_viter.cc
--- tests/unit_test/mln_value_viter.cc (revision 3032)
+++ tests/unit_test/mln_value_viter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/viter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/viter.hh>
#include <mln/value/viter.hh>
int main()
Index: tests/unit_test/mln_core_internal_site_set_iterator_base.cc
--- tests/unit_test/mln_core_internal_site_set_iterator_base.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_site_set_iterator_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/site_set_iterator_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/site_set_iterator_base.hh>
#include <mln/core/internal/site_set_iterator_base.hh>
int main()
Index: tests/unit_test/mln_topo_adj_higher_face_iter.cc
--- tests/unit_test/mln_topo_adj_higher_face_iter.cc (revision 3032)
+++ tests/unit_test/mln_topo_adj_higher_face_iter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/adj_higher_face_iter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/adj_higher_face_iter.hh>
#include <mln/topo/adj_higher_face_iter.hh>
int main()
Index: tests/unit_test/mln_convert_impl_from_image_to_site_set.cc
--- tests/unit_test/mln_convert_impl_from_image_to_site_set.cc (revision 3032)
+++ tests/unit_test/mln_convert_impl_from_image_to_site_set.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/convert/impl/from_image_to_site_set.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/impl/from_image_to_site_set.hh>
#include <mln/convert/impl/from_image_to_site_set.hh>
int main()
Index: tests/unit_test/mln_convert_essential.cc
--- tests/unit_test/mln_convert_essential.cc (revision 3032)
+++ tests/unit_test/mln_convert_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/convert/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/essential.hh>
#include <mln/convert/essential.hh>
int main()
Index: tests/unit_test/mln_algebra_quat.cc
--- tests/unit_test/mln_algebra_quat.cc (revision 3032)
+++ tests/unit_test/mln_algebra_quat.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/algebra/quat.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/algebra/quat.hh>
#include <mln/algebra/quat.hh>
int main()
Index: tests/unit_test/mln_morpho_thin_fit.cc
--- tests/unit_test/mln_morpho_thin_fit.cc (revision 3032)
+++ tests/unit_test/mln_morpho_thin_fit.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/thin_fit.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/thin_fit.hh>
#include <mln/morpho/thin_fit.hh>
int main()
Index: tests/unit_test/mln_debug_format.cc
--- tests/unit_test/mln_debug_format.cc (revision 3032)
+++ tests/unit_test/mln_debug_format.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/debug/format.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/debug/format.hh>
#include <mln/debug/format.hh>
int main()
Index: tests/unit_test/mln_value_concept_essential.cc
--- tests/unit_test/mln_value_concept_essential.cc (revision 3032)
+++ tests/unit_test/mln_value_concept_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/concept/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/concept/essential.hh>
#include <mln/value/concept/essential.hh>
int main()
Index: tests/unit_test/mln_pw_cst.cc
--- tests/unit_test/mln_pw_cst.cc (revision 3032)
+++ tests/unit_test/mln_pw_cst.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/pw/cst.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/pw/cst.hh>
#include <mln/pw/cst.hh>
int main()
Index: tests/unit_test/mln_topo_face.cc
--- tests/unit_test/mln_topo_face.cc (revision 3032)
+++ tests/unit_test/mln_topo_face.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/face.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/face.hh>
#include <mln/topo/face.hh>
int main()
Index: tests/unit_test/mln_fun_v2v_id.cc
--- tests/unit_test/mln_fun_v2v_id.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2v_id.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2v/id.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2v/id.hh>
#include <mln/fun/v2v/id.hh>
int main()
Index: tests/unit_test/mln_core_point.cc
--- tests/unit_test/mln_core_point.cc (revision 3032)
+++ tests/unit_test/mln_core_point.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/point.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/point.hh>
#include <mln/core/point.hh>
int main()
Index: tests/unit_test/mln_metal_is_unqualif.cc
--- tests/unit_test/mln_metal_is_unqualif.cc (revision 3032)
+++ tests/unit_test/mln_metal_is_unqualif.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/is_unqualif.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/is_unqualif.hh>
#include <mln/metal/is_unqualif.hh>
int main()
Index: tests/unit_test/mln_trait_op_and.cc
--- tests/unit_test/mln_trait_op_and.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_and.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/and.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/and.hh>
#include <mln/trait/op/and.hh>
int main()
Index: tests/unit_test/mln_extension_all.cc
--- tests/unit_test/mln_extension_all.cc (revision 3032)
+++ tests/unit_test/mln_extension_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/extension/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/extension/all.hh>
#include <mln/extension/all.hh>
int main()
Index: tests/unit_test/mln_registration_registration.cc
--- tests/unit_test/mln_registration_registration.cc (revision 3032)
+++ tests/unit_test/mln_registration_registration.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/registration/registration.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/registration/registration.hh>
#include <mln/registration/registration.hh>
int main()
Index: tests/unit_test/mln_value_concept_integer.cc
--- tests/unit_test/mln_value_concept_integer.cc (revision 3032)
+++ tests/unit_test/mln_value_concept_integer.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/concept/integer.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/concept/integer.hh>
#include <mln/value/concept/integer.hh>
int main()
Index: tests/unit_test/mln_core_internal_neighborhood_base.cc
--- tests/unit_test/mln_core_internal_neighborhood_base.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_neighborhood_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/neighborhood_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/neighborhood_base.hh>
#include <mln/core/internal/neighborhood_base.hh>
int main()
Index: tests/unit_test/mln_border_all.cc
--- tests/unit_test/mln_border_all.cc (revision 3032)
+++ tests/unit_test/mln_border_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/border/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/border/all.hh>
#include <mln/border/all.hh>
int main()
Index: tests/unit_test/mln_core_box_runstart_piter.cc
--- tests/unit_test/mln_core_box_runstart_piter.cc (revision 3032)
+++ tests/unit_test/mln_core_box_runstart_piter.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/box_runstart_piter.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/box_runstart_piter.hh>
#include <mln/core/box_runstart_piter.hh>
int main()
Index: tests/unit_test/mln_metal_unqualif.cc
--- tests/unit_test/mln_metal_unqualif.cc (revision 3032)
+++ tests/unit_test/mln_metal_unqualif.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/unqualif.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/unqualif.hh>
#include <mln/metal/unqualif.hh>
int main()
Index: tests/unit_test/mln_core_alias_point3df.cc
--- tests/unit_test/mln_core_alias_point3df.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_point3df.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/point3df.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/point3df.hh>
#include <mln/core/alias/point3df.hh>
int main()
Index: tests/unit_test/mln_trait_value_all.cc
--- tests/unit_test/mln_trait_value_all.cc (revision 3032)
+++ tests/unit_test/mln_trait_value_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/value/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/value/all.hh>
#include <mln/trait/value/all.hh>
int main()
Index: tests/unit_test/mln_make_double_neighb2d.cc
--- tests/unit_test/mln_make_double_neighb2d.cc (revision 3032)
+++ tests/unit_test/mln_make_double_neighb2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/double_neighb2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/double_neighb2d.hh>
#include <mln/make/double_neighb2d.hh>
int main()
Index: tests/unit_test/mln_core_image_obased_rle_image.cc
--- tests/unit_test/mln_core_image_obased_rle_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_obased_rle_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/obased_rle_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/obased_rle_image.hh>
#include <mln/core/image/obased_rle_image.hh>
int main()
Index: tests/unit_test/mln_core_concept_iterator.cc
--- tests/unit_test/mln_core_concept_iterator.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_iterator.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/iterator.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/iterator.hh>
#include <mln/core/concept/iterator.hh>
int main()
Index: tests/unit_test/mln_value_concept_scalar.cc
--- tests/unit_test/mln_value_concept_scalar.cc (revision 3032)
+++ tests/unit_test/mln_value_concept_scalar.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/concept/scalar.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/concept/scalar.hh>
#include <mln/value/concept/scalar.hh>
int main()
Index: tests/unit_test/mln_level_fill.cc
--- tests/unit_test/mln_level_fill.cc (revision 3032)
+++ tests/unit_test/mln_level_fill.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/fill.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/fill.hh>
#include <mln/level/fill.hh>
int main()
Index: tests/unit_test/mln_make_mat.cc
--- tests/unit_test/mln_make_mat.cc (revision 3032)
+++ tests/unit_test/mln_make_mat.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/mat.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/mat.hh>
#include <mln/make/mat.hh>
int main()
Index: tests/unit_test/mln_trait_op_mod.cc
--- tests/unit_test/mln_trait_op_mod.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_mod.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/mod.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/mod.hh>
#include <mln/trait/op/mod.hh>
int main()
Index: tests/unit_test/mln_trait_op_preinc.cc
--- tests/unit_test/mln_trait_op_preinc.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_preinc.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/preinc.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/preinc.hh>
#include <mln/trait/op/preinc.hh>
int main()
Index: tests/unit_test/mln_morpho_closing.cc
--- tests/unit_test/mln_morpho_closing.cc (revision 3032)
+++ tests/unit_test/mln_morpho_closing.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/closing.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/closing.hh>
#include <mln/morpho/closing.hh>
int main()
Index: tests/unit_test/mln_accu_min_max.cc
--- tests/unit_test/mln_accu_min_max.cc (revision 3032)
+++ tests/unit_test/mln_accu_min_max.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/min_max.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/min_max.hh>
#include <mln/accu/min_max.hh>
int main()
Index: tests/unit_test/mln_util_internal_graph_base.cc
--- tests/unit_test/mln_util_internal_graph_base.cc (revision 3032)
+++ tests/unit_test/mln_util_internal_graph_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/internal/graph_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/internal/graph_base.hh>
#include <mln/util/internal/graph_base.hh>
int main()
Index: tests/unit_test/mln_core_routine_all.cc
--- tests/unit_test/mln_core_routine_all.cc (revision 3032)
+++ tests/unit_test/mln_core_routine_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/routine/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/routine/all.hh>
#include <mln/core/routine/all.hh>
int main()
Index: tests/unit_test/mln_fun_p2b_has.cc
--- tests/unit_test/mln_fun_p2b_has.cc (revision 3032)
+++ tests/unit_test/mln_fun_p2b_has.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/p2b/has.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/p2b/has.hh>
#include <mln/fun/p2b/has.hh>
int main()
Index: tests/unit_test/mln_value_graylevel.cc
--- tests/unit_test/mln_value_graylevel.cc (revision 3032)
+++ tests/unit_test/mln_value_graylevel.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/graylevel.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/graylevel.hh>
#include <mln/value/graylevel.hh>
int main()
Index: tests/unit_test/mln_make_dpoint2d_h.cc
--- tests/unit_test/mln_make_dpoint2d_h.cc (revision 3032)
+++ tests/unit_test/mln_make_dpoint2d_h.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/dpoint2d_h.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/dpoint2d_h.hh>
#include <mln/make/dpoint2d_h.hh>
int main()
Index: tests/unit_test/mln_io_pnm_load_header.cc
--- tests/unit_test/mln_io_pnm_load_header.cc (revision 3032)
+++ tests/unit_test/mln_io_pnm_load_header.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/io/pnm/load_header.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/io/pnm/load_header.hh>
#include <mln/io/pnm/load_header.hh>
int main()
Index: tests/unit_test/mln_value_internal_iterable_set.cc
--- tests/unit_test/mln_value_internal_iterable_set.cc (revision 3032)
+++ tests/unit_test/mln_value_internal_iterable_set.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/internal/iterable_set.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/internal/iterable_set.hh>
#include <mln/value/internal/iterable_set.hh>
int main()
Index: tests/unit_test/mln_subsampling_essential.cc
--- tests/unit_test/mln_subsampling_essential.cc (revision 3032)
+++ tests/unit_test/mln_subsampling_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/subsampling/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/subsampling/essential.hh>
#include <mln/subsampling/essential.hh>
int main()
Index: tests/unit_test/mln_level_abs.cc
--- tests/unit_test/mln_level_abs.cc (revision 3032)
+++ tests/unit_test/mln_level_abs.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/abs.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/abs.hh>
#include <mln/level/abs.hh>
int main()
Index: tests/unit_test/mln_value_sign.cc
--- tests/unit_test/mln_value_sign.cc (revision 3032)
+++ tests/unit_test/mln_value_sign.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/sign.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/sign.hh>
#include <mln/value/sign.hh>
int main()
Index: tests/unit_test/mln_arith_revert.cc
--- tests/unit_test/mln_arith_revert.cc (revision 3032)
+++ tests/unit_test/mln_arith_revert.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/arith/revert.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/arith/revert.hh>
#include <mln/arith/revert.hh>
int main()
Index: tests/unit_test/mln_convert_to_p_array.cc
--- tests/unit_test/mln_convert_to_p_array.cc (revision 3032)
+++ tests/unit_test/mln_convert_to_p_array.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/convert/to_p_array.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/to_p_array.hh>
#include <mln/convert/to_p_array.hh>
int main()
Index: tests/unit_test/mln_linear_ch_convolve.cc
--- tests/unit_test/mln_linear_ch_convolve.cc (revision 3032)
+++ tests/unit_test/mln_linear_ch_convolve.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/linear/ch_convolve.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/linear/ch_convolve.hh>
#include <mln/linear/ch_convolve.hh>
int main()
Index: tests/unit_test/mln_util_greater_point.cc
--- tests/unit_test/mln_util_greater_point.cc (revision 3032)
+++ tests/unit_test/mln_util_greater_point.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/greater_point.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/greater_point.hh>
#include <mln/util/greater_point.hh>
int main()
Index: tests/unit_test/mln_fun_internal_x2x_linear_impl.cc
--- tests/unit_test/mln_fun_internal_x2x_linear_impl.cc (revision 3032)
+++ tests/unit_test/mln_fun_internal_x2x_linear_impl.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/internal/x2x_linear_impl.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/internal/x2x_linear_impl.hh>
#include <mln/fun/internal/x2x_linear_impl.hh>
int main()
Index: tests/unit_test/mln_fun_cast.cc
--- tests/unit_test/mln_fun_cast.cc (revision 3032)
+++ tests/unit_test/mln_fun_cast.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/cast.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/cast.hh>
#include <mln/fun/cast.hh>
int main()
Index: tests/unit_test/mln_core_image_flat_image.cc
--- tests/unit_test/mln_core_image_flat_image.cc (revision 3032)
+++ tests/unit_test/mln_core_image_flat_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/flat_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/flat_image.hh>
#include <mln/core/image/flat_image.hh>
int main()
Index: tests/unit_test/mln_set_essential.cc
--- tests/unit_test/mln_set_essential.cc (revision 3032)
+++ tests/unit_test/mln_set_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/set/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/set/essential.hh>
#include <mln/set/essential.hh>
int main()
Index: tests/unit_test/mln_literal_essential.cc
--- tests/unit_test/mln_literal_essential.cc (revision 3032)
+++ tests/unit_test/mln_literal_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/literal/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/literal/essential.hh>
#include <mln/literal/essential.hh>
int main()
Index: tests/unit_test/mln_topo_complex_iterators.cc
--- tests/unit_test/mln_topo_complex_iterators.cc (revision 3032)
+++ tests/unit_test/mln_topo_complex_iterators.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/complex_iterators.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/complex_iterators.hh>
#include <mln/topo/complex_iterators.hh>
int main()
Index: tests/unit_test/mln_accu_transform_diagonal.cc
--- tests/unit_test/mln_accu_transform_diagonal.cc (revision 3032)
+++ tests/unit_test/mln_accu_transform_diagonal.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/transform_diagonal.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/transform_diagonal.hh>
#include <mln/accu/transform_diagonal.hh>
int main()
Index: tests/unit_test/mln_core_internal_geom_bbox.cc
--- tests/unit_test/mln_core_internal_geom_bbox.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_geom_bbox.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/geom_bbox.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/geom_bbox.hh>
#include <mln/core/internal/geom_bbox.hh>
int main()
Index: tests/unit_test/mln_core_alias_box2d_h.cc
--- tests/unit_test/mln_core_alias_box2d_h.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_box2d_h.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/box2d_h.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/box2d_h.hh>
#include <mln/core/alias/box2d_h.hh>
int main()
Index: tests/unit_test/mln_fun_p2v_all.cc
--- tests/unit_test/mln_fun_p2v_all.cc (revision 3032)
+++ tests/unit_test/mln_fun_p2v_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/p2v/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/p2v/all.hh>
#include <mln/fun/p2v/all.hh>
int main()
Index: tests/unit_test/mln_fun_vv2v_land.cc
--- tests/unit_test/mln_fun_vv2v_land.cc (revision 3032)
+++ tests/unit_test/mln_fun_vv2v_land.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/vv2v/land.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/vv2v/land.hh>
#include <mln/fun/vv2v/land.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_vertices.cc
--- tests/unit_test/mln_core_site_set_p_vertices.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_vertices.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_vertices.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_vertices.hh>
#include <mln/core/site_set/p_vertices.hh>
int main()
Index: tests/unit_test/mln_core_alias_dpoint2d_h.cc
--- tests/unit_test/mln_core_alias_dpoint2d_h.cc (revision 3032)
+++ tests/unit_test/mln_core_alias_dpoint2d_h.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/alias/dpoint2d_h.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/alias/dpoint2d_h.hh>
#include <mln/core/alias/dpoint2d_h.hh>
int main()
Index: tests/unit_test/mln_essential_2d.cc
--- tests/unit_test/mln_essential_2d.cc (revision 3032)
+++ tests/unit_test/mln_essential_2d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/essential/2d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/essential/2d.hh>
#include <mln/essential/2d.hh>
int main()
Index: tests/unit_test/mln_util_site_pair.cc
--- tests/unit_test/mln_util_site_pair.cc (revision 3032)
+++ tests/unit_test/mln_util_site_pair.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/site_pair.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/site_pair.hh>
#include <mln/util/site_pair.hh>
int main()
Index: tests/unit_test/mln_trait_op_geq.cc
--- tests/unit_test/mln_trait_op_geq.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_geq.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/geq.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/geq.hh>
#include <mln/trait/op/geq.hh>
int main()
Index: tests/unit_test/mln_pw_all.cc
--- tests/unit_test/mln_pw_all.cc (revision 3032)
+++ tests/unit_test/mln_pw_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/pw/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/pw/all.hh>
#include <mln/pw/all.hh>
int main()
Index: tests/unit_test/mln_core_site_set_p_vertices_psite.cc
--- tests/unit_test/mln_core_site_set_p_vertices_psite.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_p_vertices_psite.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/p_vertices_psite.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/p_vertices_psite.hh>
#include <mln/core/site_set/p_vertices_psite.hh>
int main()
Index: tests/unit_test/mln_core_image_image3d.cc
--- tests/unit_test/mln_core_image_image3d.cc (revision 3032)
+++ tests/unit_test/mln_core_image_image3d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/image/image3d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/image/image3d.hh>
#include <mln/core/image/image3d.hh>
int main()
Index: tests/unit_test/mln_value_builtin_symbolics.cc
--- tests/unit_test/mln_value_builtin_symbolics.cc (revision 3032)
+++ tests/unit_test/mln_value_builtin_symbolics.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/builtin/symbolics.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/builtin/symbolics.hh>
#include <mln/value/builtin/symbolics.hh>
int main()
Index: tests/unit_test/mln_registration_internal_rms.cc
--- tests/unit_test/mln_registration_internal_rms.cc (revision 3032)
+++ tests/unit_test/mln_registration_internal_rms.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/registration/internal/rms.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/registration/internal/rms.hh>
#include <mln/registration/internal/rms.hh>
int main()
Index: tests/unit_test/mln_core_internal_morpher_lvalue.cc
--- tests/unit_test/mln_core_internal_morpher_lvalue.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_morpher_lvalue.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/morpher_lvalue.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/morpher_lvalue.hh>
#include <mln/core/internal/morpher_lvalue.hh>
int main()
Index: tests/unit_test/mln_border_thickness.cc
--- tests/unit_test/mln_border_thickness.cc (revision 3032)
+++ tests/unit_test/mln_border_thickness.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/border/thickness.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/border/thickness.hh>
#include <mln/border/thickness.hh>
int main()
Index: tests/unit_test/mln_logical_not.cc
--- tests/unit_test/mln_logical_not.cc (revision 3032)
+++ tests/unit_test/mln_logical_not.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/logical/not.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/logical/not.hh>
#include <mln/logical/not.hh>
int main()
Index: tests/unit_test/mln_core_concept_doc_value_set.cc
--- tests/unit_test/mln_core_concept_doc_value_set.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_doc_value_set.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/doc/value_set.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/doc/value_set.hh>
#include <mln/core/concept/doc/value_set.hh>
int main()
Index: tests/unit_test/mln_fun_i2v_all.cc
--- tests/unit_test/mln_fun_i2v_all.cc (revision 3032)
+++ tests/unit_test/mln_fun_i2v_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/i2v/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/i2v/all.hh>
#include <mln/fun/i2v/all.hh>
int main()
Index: tests/unit_test/mln_math_essential.cc
--- tests/unit_test/mln_math_essential.cc (revision 3032)
+++ tests/unit_test/mln_math_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/math/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/math/essential.hh>
#include <mln/math/essential.hh>
int main()
Index: tests/unit_test/mln_util_internal_boost_graph.cc
--- tests/unit_test/mln_util_internal_boost_graph.cc (revision 3032)
+++ tests/unit_test/mln_util_internal_boost_graph.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/internal/boost_graph.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/internal/boost_graph.hh>
#include <mln/util/internal/boost_graph.hh>
int main()
Index: tests/unit_test/mln_value_internal_all.cc
--- tests/unit_test/mln_value_internal_all.cc (revision 3032)
+++ tests/unit_test/mln_value_internal_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/value/internal/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/internal/all.hh>
#include <mln/value/internal/all.hh>
int main()
Index: tests/unit_test/mln_fun_p2v_elifs.cc
--- tests/unit_test/mln_fun_p2v_elifs.cc (revision 3032)
+++ tests/unit_test/mln_fun_p2v_elifs.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/p2v/elifs.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/p2v/elifs.hh>
#include <mln/fun/p2v/elifs.hh>
int main()
Index: tests/unit_test/mln_accu_all.cc
--- tests/unit_test/mln_accu_all.cc (revision 3032)
+++ tests/unit_test/mln_accu_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/all.hh>
#include <mln/accu/all.hh>
int main()
Index: tests/unit_test/mln_level_fill_with_value.cc
--- tests/unit_test/mln_level_fill_with_value.cc (revision 3032)
+++ tests/unit_test/mln_level_fill_with_value.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/level/fill_with_value.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/level/fill_with_value.hh>
#include <mln/level/fill_with_value.hh>
int main()
Index: tests/unit_test/mln_util_internal_boost_graph_property.cc
--- tests/unit_test/mln_util_internal_boost_graph_property.cc (revision 3032)
+++ tests/unit_test/mln_util_internal_boost_graph_property.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/internal/boost_graph_property.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/internal/boost_graph_property.hh>
#include <mln/util/internal/boost_graph_property.hh>
int main()
Index: tests/unit_test/mln_registration_icp.cc
--- tests/unit_test/mln_registration_icp.cc (revision 3032)
+++ tests/unit_test/mln_registration_icp.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/registration/icp.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/registration/icp.hh>
#include <mln/registration/icp.hh>
int main()
Index: tests/unit_test/mln_core_internal_pixel_impl.cc
--- tests/unit_test/mln_core_internal_pixel_impl.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_pixel_impl.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/pixel_impl.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/pixel_impl.hh>
#include <mln/core/internal/pixel_impl.hh>
int main()
Index: tests/unit_test/mln_fun_x2x_translation.cc
--- tests/unit_test/mln_fun_x2x_translation.cc (revision 3032)
+++ tests/unit_test/mln_fun_x2x_translation.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/x2x/translation.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/x2x/translation.hh>
#include <mln/fun/x2x/translation.hh>
int main()
Index: tests/unit_test/mln_morpho_plus.cc
--- tests/unit_test/mln_morpho_plus.cc (revision 3032)
+++ tests/unit_test/mln_morpho_plus.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/plus.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/plus.hh>
#include <mln/morpho/plus.hh>
int main()
Index: tests/unit_test/mln_util_internal_graph_iter_base.cc
--- tests/unit_test/mln_util_internal_graph_iter_base.cc (revision 3032)
+++ tests/unit_test/mln_util_internal_graph_iter_base.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/util/internal/graph_iter_base.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/util/internal/graph_iter_base.hh>
#include <mln/util/internal/graph_iter_base.hh>
int main()
Index: tests/unit_test/mln_topo_complex.cc
--- tests/unit_test/mln_topo_complex.cc (revision 3032)
+++ tests/unit_test/mln_topo_complex.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/topo/complex.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/topo/complex.hh>
#include <mln/topo/complex.hh>
int main()
Index: tests/unit_test/mln_trait_op_decl.cc
--- tests/unit_test/mln_trait_op_decl.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_decl.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/decl.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/decl.hh>
#include <mln/trait/op/decl.hh>
int main()
Index: tests/unit_test/mln_metal_is_not_ref.cc
--- tests/unit_test/mln_metal_is_not_ref.cc (revision 3032)
+++ tests/unit_test/mln_metal_is_not_ref.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/metal/is_not_ref.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/metal/is_not_ref.hh>
#include <mln/metal/is_not_ref.hh>
int main()
Index: tests/unit_test/mln_trait_op_xor.cc
--- tests/unit_test/mln_trait_op_xor.cc (revision 3032)
+++ tests/unit_test/mln_trait_op_xor.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/op/xor.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/op/xor.hh>
#include <mln/trait/op/xor.hh>
int main()
Index: tests/unit_test/mln_accu_mean.cc
--- tests/unit_test/mln_accu_mean.cc (revision 3032)
+++ tests/unit_test/mln_accu_mean.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/accu/mean.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/accu/mean.hh>
#include <mln/accu/mean.hh>
int main()
Index: tests/unit_test/mln_morpho_essential.cc
--- tests/unit_test/mln_morpho_essential.cc (revision 3032)
+++ tests/unit_test/mln_morpho_essential.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/morpho/essential.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/morpho/essential.hh>
#include <mln/morpho/essential.hh>
int main()
Index: tests/unit_test/mln_make_box3d.cc
--- tests/unit_test/mln_make_box3d.cc (revision 3032)
+++ tests/unit_test/mln_make_box3d.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/box3d.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/box3d.hh>
#include <mln/make/box3d.hh>
int main()
Index: tests/unit_test/mln_fun_v2b_threshold.cc
--- tests/unit_test/mln_fun_v2b_threshold.cc (revision 3032)
+++ tests/unit_test/mln_fun_v2b_threshold.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/fun/v2b/threshold.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/fun/v2b/threshold.hh>
#include <mln/fun/v2b/threshold.hh>
int main()
Index: tests/unit_test/mln_border_find.cc
--- tests/unit_test/mln_border_find.cc (revision 3032)
+++ tests/unit_test/mln_border_find.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/border/find.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/border/find.hh>
#include <mln/border/find.hh>
int main()
Index: tests/unit_test/mln_core_internal_box_impl.cc
--- tests/unit_test/mln_core_internal_box_impl.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_box_impl.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/box_impl.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/box_impl.hh>
#include <mln/core/internal/box_impl.hh>
int main()
Index: tests/unit_test/mln_histo_all.cc
--- tests/unit_test/mln_histo_all.cc (revision 3032)
+++ tests/unit_test/mln_histo_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/histo/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/histo/all.hh>
#include <mln/histo/all.hh>
int main()
Index: tests/unit_test/mln_make_pixel.cc
--- tests/unit_test/mln_make_pixel.cc (revision 3032)
+++ tests/unit_test/mln_make_pixel.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/make/pixel.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/make/pixel.hh>
#include <mln/make/pixel.hh>
int main()
Index: tests/unit_test/mln_math_abs.cc
--- tests/unit_test/mln_math_abs.cc (revision 3032)
+++ tests/unit_test/mln_math_abs.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/math/abs.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/math/abs.hh>
#include <mln/math/abs.hh>
int main()
Index: tests/unit_test/mln_extension_adjust_duplicate.cc
--- tests/unit_test/mln_extension_adjust_duplicate.cc (revision 3032)
+++ tests/unit_test/mln_extension_adjust_duplicate.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/extension/adjust_duplicate.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/extension/adjust_duplicate.hh>
#include <mln/extension/adjust_duplicate.hh>
int main()
Index: tests/unit_test/mln_core_concept_dpoint.cc
--- tests/unit_test/mln_core_concept_dpoint.cc (revision 3032)
+++ tests/unit_test/mln_core_concept_dpoint.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/concept/dpoint.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/concept/dpoint.hh>
#include <mln/core/concept/dpoint.hh>
int main()
Index: tests/unit_test/mln_core_site_set_complex_psite.cc
--- tests/unit_test/mln_core_site_set_complex_psite.cc (revision 3032)
+++ tests/unit_test/mln_core_site_set_complex_psite.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/site_set/complex_psite.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/site_set/complex_psite.hh>
#include <mln/core/site_set/complex_psite.hh>
int main()
Index: tests/unit_test/mln_core_internal_neighb_niter_impl.cc
--- tests/unit_test/mln_core_internal_neighb_niter_impl.cc (revision 3032)
+++ tests/unit_test/mln_core_internal_neighb_niter_impl.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/core/internal/neighb_niter_impl.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/internal/neighb_niter_impl.hh>
#include <mln/core/internal/neighb_niter_impl.hh>
int main()
Index: tests/unit_test/mln_convert_to_image.cc
--- tests/unit_test/mln_convert_to_image.cc (revision 3032)
+++ tests/unit_test/mln_convert_to_image.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/convert/to_image.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/to_image.hh>
#include <mln/convert/to_image.hh>
int main()
Index: tests/unit_test/mln_literal_all.cc
--- tests/unit_test/mln_literal_all.cc (revision 3032)
+++ tests/unit_test/mln_literal_all.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/literal/all.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/literal/all.hh>
#include <mln/literal/all.hh>
int main()
Index: tests/unit_test/mln_trait_value_kind.cc
--- tests/unit_test/mln_trait_value_kind.cc (revision 3032)
+++ tests/unit_test/mln_trait_value_kind.cc (working copy)
@@ -1,5 +1,8 @@
// Unit test for mln/trait/value/kind.hh.
-// Generated file, do not modify.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/trait/value/kind.hh>
#include <mln/trait/value/kind.hh>
int main()
1
0