* mln/border/thickness.hh,
* mln/core/alias/dpoint1d.hh,
* mln/core/alias/dpoint2d.hh,
* mln/core/alias/dpoint3d.hh,
* mln/fun/v2v/hsl_to_rgb.hh,
* mln/literal/black.hh,
* mln/literal/colors.hh,
* mln/literal/identity.hh,
* mln/literal/one.hh,
* mln/literal/origin.hh,
* mln/literal/white.hh,
* mln/literal/zero.hh,
* mln/tag/init.hh,
* mln/trace/entering.hh,
* mln/trace/quiet.hh,
* mln/trait/ch_value.hh,
* mln/util/ctree/node.hh,
* mln/value/sign.hh : Add MLN_WO_GLOBAL_VARS define.
Conflicts:
milena/ChangeLog
---
milena/ChangeLog | 16 +++++-----------
milena/mln/trait/ch_value.hh | 8 ++++++++
milena/mln/util/ctree/node.hh | 14 ++++++++++++++
3 files changed, 27 insertions(+), 11 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 31cef75..c50015e 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -6111,17 +6111,6 @@
* mln/fun/x2x/translation.hh: Introduce data_t typedef passed to
x2x_linear_impl.
-2010-04-30 Guillaume Lazzara <z(a)lrde.epita.fr>
-
- Add some code in my sandbox.
-
- * sandbox/lazzara/scribo/binarization_naive/main.cc,
- * sandbox/lazzara/scribo/binarization_naive/toto.cc,
- * sandbox/lazzara/scribo/fill_holes/main.cc,
- * sandbox/lazzara/scribo/separateurs_materialises/lines_pattern.cc,
- * sandbox/lazzara/scribo/skeleton_crest/main.cc,
- * sandbox/lazzara/skeleton_crest/main.cc: New.
-
2010-05-21 edwin carlinet <carlinet(a)lrde.epita.fr>
Add MLN_WO_GLOBAL_VARS directive that prevents globals vars to be
@@ -6841,6 +6830,11 @@
(make::edge_image(const vertex_image<P,V,G>&, const
Function_v2b<F>&)):
Actually use the predicate passed as second argument.
Remove debug code.
+=======
+ * mln/trait/ch_value.hh,
+ * mln/util/ctree/node.hh,
+ * mln/value/sign.hh : Add MLN_WO_GLOBAL_VARS define.
+>>>>>>> Add MLN_WO_GLOBAL_VARS directive that prevents globals vars
to be
2010-05-04 edwin carlinet <carlinet(a)lrde.epita.fr>
diff --git a/milena/mln/trait/ch_value.hh b/milena/mln/trait/ch_value.hh
index 87afc0a..f543579 100644
--- a/milena/mln/trait/ch_value.hh
+++ b/milena/mln/trait/ch_value.hh
@@ -59,6 +59,7 @@ namespace mln
template <typename G, typename F> class p_vertices;
template <typename P, typename V, typename G> class vertex_image;
template <typename P, typename V, typename G> class edge_image;
+ template <typename T, typename V> class attribute_image;
template <typename I> class labeled_image;
namespace pw { template <typename F, typename S> class image; }
@@ -205,6 +206,13 @@ namespace mln
typedef mln_ch_value(I,V) ret;
};
+ // Attribute image.
+ template <typename T, typename V1, typename V2>
+ struct ch_value_< attribute_image< tag::tree_<T>, tag::value_<V1>
>, V2 >
+ {
+ typedef attribute_image<T, V2> ret;
+ };
+
template < template <class, class> class M, typename T, typename S,
typename V >
diff --git a/milena/mln/util/ctree/node.hh b/milena/mln/util/ctree/node.hh
index d22c48e..ebdc955 100644
--- a/milena/mln/util/ctree/node.hh
+++ b/milena/mln/util/ctree/node.hh
@@ -130,6 +130,12 @@ namespace mln
bool
operator!= (const node<T>& n1, const node<T>& n2);
+ /// Test if the node \p n1 is a descendant of \p n2
+ ///
+ template <typename T>
+ bool
+ operator< (const node<T>& n1, const node<T>& n2);
+
} // end of namespace mln::util::ctree
} // end of namespace mln::util
@@ -273,6 +279,14 @@ namespace mln
return n1.index() != n2.index();
}
+ template <typename T>
+ inline
+ bool
+ operator< (const node<T>& n1, const node<T>& n2)
+ {
+ return n1.index() > n2.index();
+ }
+
} // end of namespace mln::util::ctree
} // end of namespace mln::util
--
1.7.10.4