https://svn.lrde.epita.fr/svn/oln/trunk/milena/sandbox
Index: ChangeLog
from Thierry Geraud <thierry.geraud(a)lrde.epita.fr>
Propagate suppression of intermediate function concepts.
* fred/old/p2p/compose_p2p.hh,
* fred/old/p2p/symmetry_p2p.hh,
* fred/old/p2p/p2p_morpher.hh,
* fred/old/p2p/translate_p2p.hh,
* pellegrin/set/core/pset_if.hh,
* icdar/2009/dibco/svg.1.binarization.cc,
* icdar/2009/dibco/svg.2.binarization.cc,
* icdar/2009/dibco/svg.3.binarization.cc,
* icdar/2009/dibco/binarization.cc,
* fabien/igr/watershed2d.cc,
* fabien/igr/watershed3d.cc,
* fabien/igr/watershed.hh,
* fabien/igr/graph.cc,
* jardonnet/test/big_chess.cc,
* jardonnet/perl/test/i2v/all_to.hh,
* jardonnet/perl/test/i2v/array.hh,
* jardonnet/perl/test/x2x/geom/composed.hh,
* jardonnet/perl/test/x2x/geom/translation.hh,
* jardonnet/perl/test/x2x/geom/rotation.hh,
* jardonnet/perl/test/p2b/chess.hh,
* jardonnet/perl/test/p2b/has.hh,
* jardonnet/perl/test/p2v/elifs.hh,
* jardonnet/perl/test/p2v/ternary.hh,
* jardonnet/perl/test/p2v/iota.hh,
* jardonnet/perl/test/cast.hh,
* jardonnet/perl/test/internal/x2x_linear_impl.hh,
* jardonnet/perl/test/internal/selector.hh,
* jardonnet/virtual/access.hh,
* jardonnet/virtual/access.cc,
* abraham/tests/fun/meta/red.cc,
* inim/2011/fredwin/inim.cc,
* theo/rush/exo3/exo3_fun_generator.cc,
* theo/rush/exo3/exo3_fun_area.cc,
* theo/rush/exo3/assignable.cc,
* theo/esiee/laurent/ismm09/extinct_attributes.hh,
* theo/esiee/laurent/ismm09/util.hh,
* theo/cs2d/tuto.cc,
* theo/cs2d/kruskal.cc,
* theo/cs2d/cs2d_utils.hh,
* theo/experimental/op_pw_value_pw_cst.cc,
* theo/experimental/histo_image.cc,
* theo/color/change_attributes.hh,
* bugs/io_xv_imview.pbm: New.
* lazzara/igr/irm_seg_with_mm_and_rag.mine.cc,
* lazzara/igr/igr-biggest-comp.cc,
* lazzara/igr/igr.cc,
* lazzara/igr/irm/wst_rag_hsl.cc,
* lazzara/igr/irm/wst_rag.cc,
* edwin/tree/run.hh,
* edwin/rush/exo2/wst_from_tree.cc,
* edwin/rush/exo2/test.cc,
* edwin/tests/sharp.cc,
* edwin/mln/morpho/tree/components.hh,
* edwin/mln/morpho/tree/filter.hh,
* laurent/playing_with_attributes.cc: Propagate suppression of
intermediate function concepts.
abraham/tests/fun/meta/red.cc | 2 -
edwin/mln/morpho/tree/components.hh | 4 +--
edwin/mln/morpho/tree/filter.hh | 4 +--
edwin/rush/exo2/test.cc | 6 ++--
edwin/rush/exo2/wst_from_tree.cc | 8 +++---
edwin/tests/sharp.cc | 14 +++++------
edwin/tree/run.hh | 6 ++--
fabien/igr/graph.cc | 2 -
fabien/igr/watershed.hh | 2 -
fabien/igr/watershed2d.cc | 2 -
fabien/igr/watershed3d.cc | 2 -
fred/old/p2p/compose_p2p.hh | 6 ++--
fred/old/p2p/p2p_morpher.hh | 4 +--
fred/old/p2p/symmetry_p2p.hh | 2 -
fred/old/p2p/translate_p2p.hh | 2 -
icdar/2009/dibco/binarization.cc | 2 -
icdar/2009/dibco/svg.1.binarization.cc | 2 -
icdar/2009/dibco/svg.2.binarization.cc | 2 -
icdar/2009/dibco/svg.3.binarization.cc | 2 -
inim/2011/fredwin/inim.cc | 4 +--
jardonnet/perl/test/cast.hh | 4 +--
jardonnet/perl/test/i2v/all_to.hh | 2 -
jardonnet/perl/test/i2v/array.hh | 2 -
jardonnet/perl/test/internal/selector.hh | 30 ++++++++++++------------
jardonnet/perl/test/internal/x2x_linear_impl.hh | 2 -
jardonnet/perl/test/p2b/chess.hh | 2 -
jardonnet/perl/test/p2b/has.hh | 4 +--
jardonnet/perl/test/p2v/elifs.hh | 12 ++++-----
jardonnet/perl/test/p2v/iota.hh | 2 -
jardonnet/perl/test/p2v/ternary.hh | 24 +++++++++----------
jardonnet/perl/test/x2x/geom/composed.hh | 12 ++++-----
jardonnet/perl/test/x2x/geom/rotation.hh | 2 -
jardonnet/perl/test/x2x/geom/translation.hh | 2 -
jardonnet/test/big_chess.cc | 2 -
jardonnet/virtual/access.cc | 4 +--
jardonnet/virtual/access.hh | 2 -
laurent/playing_with_attributes.cc | 2 -
lazzara/igr/igr-biggest-comp.cc | 2 -
lazzara/igr/igr.cc | 2 -
lazzara/igr/irm/wst_rag.cc | 2 -
lazzara/igr/irm/wst_rag_hsl.cc | 2 -
lazzara/igr/irm_seg_with_mm_and_rag.mine.cc | 2 -
pellegrin/set/core/pset_if.hh | 4 +--
theo/color/change_attributes.hh | 2 -
theo/cs2d/cs2d_utils.hh | 6 ++--
theo/cs2d/kruskal.cc | 8 +++---
theo/cs2d/tuto.cc | 6 ++--
theo/esiee/laurent/ismm09/extinct_attributes.hh | 2 -
theo/esiee/laurent/ismm09/util.hh | 2 -
theo/experimental/histo_image.cc | 6 ++--
theo/experimental/op_pw_value_pw_cst.cc | 10 ++++----
theo/rush/exo3/assignable.cc | 8 +++---
theo/rush/exo3/exo3_fun_area.cc | 12 ++++-----
theo/rush/exo3/exo3_fun_generator.cc | 10 ++++----
54 files changed, 137 insertions(+), 137 deletions(-)
Index: fred/old/p2p/compose_p2p.hh
--- fred/old/p2p/compose_p2p.hh (revision 3941)
+++ fred/old/p2p/compose_p2p.hh (working copy)
@@ -8,7 +8,7 @@
{
template <typename P, typename F, typename G>
- class compose_t : public Function_p2p< compose_t<P, F, G> >
+ class compose_t : public Function_v2v< compose_t<P, F, G> >
{
public:
typedef P result;
@@ -34,8 +34,8 @@
};
template <typename F, typename G>
- compose_t<typename F::result, F, G> operator* (const Function_p2p< F >&
f,
- const Function_p2p< G >& g)
+ compose_t<typename F::result, F, G> operator* (const Function_v2v< F >&
f,
+ const Function_v2v< G >& g)
{
compose_t<typename F::result, F, G> comp (exact (f), exact (g));
return comp;
Index: fred/old/p2p/symmetry_p2p.hh
--- fred/old/p2p/symmetry_p2p.hh (revision 3941)
+++ fred/old/p2p/symmetry_p2p.hh (working copy)
@@ -9,7 +9,7 @@
{
template <typename P>
- class symmetry_t : public Function_p2p< symmetry_t<P> >
+ class symmetry_t : public Function_v2v< symmetry_t<P> >
{
public:
typedef P result;
Index: fred/old/p2p/p2p_morpher.hh
--- fred/old/p2p/p2p_morpher.hh (revision 3941)
+++ fred/old/p2p/p2p_morpher.hh (working copy)
@@ -261,7 +261,7 @@
template <typename I, typename F>
inline
trans_image<I, F>
- transform_image(Image<I>& ima, const Function_p2p<F>& fun)
+ transform_image(Image<I>& ima, const Function_v2v<F>& fun)
{
trans_image<I, F> tmp(exact(ima), exact(fun));
return tmp;
@@ -270,7 +270,7 @@
template <typename I, typename F>
inline
trans_image<const I, F>
- transform_image(const Image<I>& ima, const Function_p2p<F>& fun)
+ transform_image(const Image<I>& ima, const Function_v2v<F>& fun)
{
trans_image<const I, F> tmp(exact(ima), exact(fun));
return tmp;
Index: fred/old/p2p/translate_p2p.hh
--- fred/old/p2p/translate_p2p.hh (revision 3941)
+++ fred/old/p2p/translate_p2p.hh (working copy)
@@ -8,7 +8,7 @@
{
template <typename P>
- class translate_t : public Function_p2p< translate_t<P> >
+ class translate_t : public Function_v2v< translate_t<P> >
{
public:
typedef P result;
Index: pellegrin/set/core/pset_if.hh
--- pellegrin/set/core/pset_if.hh (revision 3941)
+++ pellegrin/set/core/pset_if.hh (working copy)
@@ -66,7 +66,7 @@
*/
template <typename S, typename F>
p_if<S, F>
- operator | (const Point_Set<S>& pset, const Function_p2b<F>& f);
+ operator | (const Point_Set<S>& pset, const Function_v2b<F>& f);
@@ -130,7 +130,7 @@
template <typename S, typename F>
inline
p_if<S, F>
- operator | (const Point_Set<S>& pset, const Function_p2b<F>& f)
+ operator | (const Point_Set<S>& pset, const Function_v2b<F>& f)
{
p_if<S, F> tmp(exact(pset), exact(f));
return tmp;
Index: icdar/2009/dibco/svg.1.binarization.cc
--- icdar/2009/dibco/svg.1.binarization.cc (revision 3941)
+++ icdar/2009/dibco/svg.1.binarization.cc (working copy)
@@ -69,7 +69,7 @@
template <typename I, typename V>
- class edge_to_color : public Function_p2v< edge_to_color<I,V> >
+ class edge_to_color : public Function_v2v< edge_to_color<I,V> >
{
public:
typedef V result;
Index: icdar/2009/dibco/svg.2.binarization.cc
--- icdar/2009/dibco/svg.2.binarization.cc (revision 3941)
+++ icdar/2009/dibco/svg.2.binarization.cc (working copy)
@@ -78,7 +78,7 @@
template <typename I, typename V>
- class edge_to_color : public Function_p2v< edge_to_color<I,V> >
+ class edge_to_color : public Function_v2v< edge_to_color<I,V> >
{
public:
typedef V result;
Index: icdar/2009/dibco/svg.3.binarization.cc
--- icdar/2009/dibco/svg.3.binarization.cc (revision 3941)
+++ icdar/2009/dibco/svg.3.binarization.cc (working copy)
@@ -80,7 +80,7 @@
template <typename I, typename V>
- class edge_to_color : public Function_p2v< edge_to_color<I,V> >
+ class edge_to_color : public Function_v2v< edge_to_color<I,V> >
{
public:
typedef V result;
Index: icdar/2009/dibco/binarization.cc
--- icdar/2009/dibco/binarization.cc (revision 3941)
+++ icdar/2009/dibco/binarization.cc (working copy)
@@ -80,7 +80,7 @@
template <typename I, typename V>
- class edge_to_color : public Function_p2v< edge_to_color<I,V> >
+ class edge_to_color : public Function_v2v< edge_to_color<I,V> >
{
public:
typedef V result;
Index: fabien/igr/watershed2d.cc
--- fabien/igr/watershed2d.cc (revision 3941)
+++ fabien/igr/watershed2d.cc (working copy)
@@ -169,7 +169,7 @@
template <typename I, typename V>
- struct edge_to_color : Function_p2v< edge_to_color<I,V> >
+ struct edge_to_color : Function_v2v< edge_to_color<I,V> >
{
typedef V result;
Index: fabien/igr/watershed3d.cc
--- fabien/igr/watershed3d.cc (revision 3941)
+++ fabien/igr/watershed3d.cc (working copy)
@@ -173,7 +173,7 @@
template <typename I, typename V>
- struct edge_to_color : Function_p2v< edge_to_color<I,V> >
+ struct edge_to_color : Function_v2v< edge_to_color<I,V> >
{
typedef V result;
Index: fabien/igr/watershed.hh
--- fabien/igr/watershed.hh (revision 3941)
+++ fabien/igr/watershed.hh (working copy)
@@ -169,7 +169,7 @@
template <typename I, typename V>
- struct edge_to_color : Function_p2v< edge_to_color<I,V> >
+ struct edge_to_color : Function_v2v< edge_to_color<I,V> >
{
typedef V result;
Index: fabien/igr/graph.cc
--- fabien/igr/graph.cc (revision 3941)
+++ fabien/igr/graph.cc (working copy)
@@ -167,7 +167,7 @@
template <typename I, typename V>
- struct edge_to_color : Function_p2v< edge_to_color<I,V> >
+ struct edge_to_color : Function_v2v< edge_to_color<I,V> >
{
typedef V result;
Index: jardonnet/test/big_chess.cc
--- jardonnet/test/big_chess.cc (revision 3941)
+++ jardonnet/test/big_chess.cc (working copy)
@@ -32,7 +32,7 @@
template <typename B>
-struct is_ima2_t : Function_p2b< is_ima2_t<B> >
+struct is_ima2_t : Function_v2b< is_ima2_t<B> >
{
is_ima2_t(const B& box, const unsigned div)
: box(box), div(div)
Index: jardonnet/perl/test/i2v/all_to.hh
--- jardonnet/perl/test/i2v/all_to.hh (revision 3941)
+++ jardonnet/perl/test/i2v/all_to.hh (working copy)
@@ -46,7 +46,7 @@
{
template <typename T>
- struct all_to : public Function_i2v< all_to<T> >
+ struct all_to : public Function_v2v< all_to<T> >
{
typedef T result;
all_to(T t);
Index: jardonnet/perl/test/i2v/array.hh
--- jardonnet/perl/test/i2v/array.hh (revision 3941)
+++ jardonnet/perl/test/i2v/array.hh (working copy)
@@ -48,7 +48,7 @@
{
template <typename T>
- class array : public Function_i2v< array<T> >
+ class array : public Function_v2v< array<T> >
{
public:
Index: jardonnet/perl/test/x2x/geom/composed.hh
--- jardonnet/perl/test/x2x/geom/composed.hh (revision 3941)
+++ jardonnet/perl/test/x2x/geom/composed.hh (working copy)
@@ -67,7 +67,7 @@
template <typename F, typename G, typename E>
struct helper_composed_< F, G, E, true>
: public fun::internal::x2x_linear_impl_<mln_result(F), E >,
- public Bijection_x2x<E>
+ public Function_v2v<E>
{
typedef fun::internal::x2x_linear_impl_<typename F::result, E >
super_;
@@ -100,7 +100,7 @@
template <typename F, typename G, typename E>
struct helper_composed_< F, G, E, false>
: public fun::internal::x2x_linear_impl_<mln_result(F), E >,
- public Function_x2x<E>
+ public Function_v2v<E>
{
typedef fun::internal::x2x_linear_impl_<typename F::result, E >
super_;
@@ -133,8 +133,8 @@
template <typename F, typename G>
struct composed
: public internal::helper_composed_<F, G, composed<F,G>,
- mlc_is(F, Bijection_x2x<F>)::value
&&
- mlc_is(G,
Bijection_x2x<G>)::value>,
+ mlc_is(F, Function_v2v<F>)::value
&&
+ mlc_is(G,
Function_v2v<G>)::value>,
private metal::and_< metal::bool_<(F::dim == G::dim)>,
metal::is<mln_argument(F), mln_result(G)>
::check_t
@@ -145,8 +145,8 @@
/// Constructor with the two transformation to be composed.
composed(const F& f, const G& g)
: internal::helper_composed_<F, G, composed<F,G>,
- mlc_is(F, Bijection_x2x<F>)::value
&&
- mlc_is(G, Bijection_x2x<G>)::value>(f,
g)
+ mlc_is(F, Function_v2v<F>)::value
&&
+ mlc_is(G, Function_v2v<G>)::value>(f,
g)
{
}
};
Index: jardonnet/perl/test/x2x/geom/translation.hh
--- jardonnet/perl/test/x2x/geom/translation.hh (revision 3941)
+++ jardonnet/perl/test/x2x/geom/translation.hh (working copy)
@@ -57,7 +57,7 @@
template <unsigned n, typename C>
struct translation
: fun::internal::x2x_linear_impl_< algebra::vec<n,C>,
translation<n,C> >
- , public Bijection_x2x< translation<n,C> >
+ , public Function_v2v< translation<n,C> >
{
typedef fun::internal::x2x_linear_impl_< algebra::vec<n,C>,
translation<n,C> > super_;
Index: jardonnet/perl/test/x2x/geom/rotation.hh
--- jardonnet/perl/test/x2x/geom/rotation.hh (revision 3941)
+++ jardonnet/perl/test/x2x/geom/rotation.hh (working copy)
@@ -125,7 +125,7 @@
template <unsigned n, typename C>
struct rotation
: fun::internal::x2x_linear_impl_< algebra::vec<n,C>, rotation<n,C> >
- , public Bijection_x2x< rotation<n,C> >
+ , public Function_v2v< rotation<n,C> >
{
typedef fun::internal::x2x_linear_impl_< algebra::vec<n,C>, rotation<n,C>
> super_;
Index: jardonnet/perl/test/p2b/chess.hh
--- jardonnet/perl/test/p2b/chess.hh (revision 3941)
+++ jardonnet/perl/test/p2b/chess.hh (working copy)
@@ -48,7 +48,7 @@
// FIXME: Doc!
- struct chess_t : public Function_p2b< chess_t >
+ struct chess_t : public Function_v2b< chess_t >
{
typedef bool result;
bool operator()(const point2d& p) const;
Index: jardonnet/perl/test/p2b/has.hh
--- jardonnet/perl/test/p2b/has.hh (revision 3941)
+++ jardonnet/perl/test/p2b/has.hh (working copy)
@@ -52,7 +52,7 @@
template <typename I>
struct has
- : public Function_p2b< has<I> >,
+ : public Function_v2b< has<I> >,
private mlc_is_a(I, Image)::check_t
{
/// Result associated type.
@@ -77,7 +77,7 @@
private:
mlc_const(I) ima_;
- typedef Function_p2b< has<I> > super_;
+ typedef Function_v2b< has<I> > super_;
};
Index: jardonnet/perl/test/p2v/elifs.hh
--- jardonnet/perl/test/p2v/elifs.hh (revision 3941)
+++ jardonnet/perl/test/p2v/elifs.hh (working copy)
@@ -50,9 +50,9 @@
typename O>
ternary_<T1, N1,
ternary_<T2, N2, O> >
- elifs(const Function_p2b<T1>& f_if_1, const Function_p2v<N1>&
f_then_1,
- const Function_p2b<T2>& f_if_2, const Function_p2v<N2>&
f_then_2,
- const Function_p2v<O>& f_otherwise);
+ elifs(const Function_v2b<T1>& f_if_1, const Function_v2v<N1>&
f_then_1,
+ const Function_v2b<T2>& f_if_2, const Function_v2v<N2>&
f_then_2,
+ const Function_v2v<O>& f_otherwise);
# ifndef MLN_INCLUDE_ONLY
@@ -63,9 +63,9 @@
inline
ternary_<T1, N1,
ternary_<T2, N2, O> >
- elifs(const Function_p2b<T1>& f_if_1, const Function_p2v<N1>&
f_then_1,
- const Function_p2b<T2>& f_if_2, const Function_p2v<N2>&
f_then_2,
- const Function_p2v<O>& f_otherwise)
+ elifs(const Function_v2b<T1>& f_if_1, const Function_v2v<N1>&
f_then_1,
+ const Function_v2b<T2>& f_if_2, const Function_v2v<N2>&
f_then_2,
+ const Function_v2v<O>& f_otherwise)
{
typedef ternary_<T2, N2, O> T2_N2_O;
T2_N2_O f_otherwise_1(f_if_2, f_then_2, f_otherwise);
Index: jardonnet/perl/test/p2v/ternary.hh
--- jardonnet/perl/test/p2v/ternary.hh (revision 3941)
+++ jardonnet/perl/test/p2v/ternary.hh (working copy)
@@ -51,9 +51,9 @@
{
typedef mln_result(T) result;
- ternary_(const Function_p2b<P>& f_pred,
- const Function_p2v<T>& f_true,
- const Function_p2v<F>& f_false);
+ ternary_(const Function_v2b<P>& f_pred,
+ const Function_v2v<T>& f_true,
+ const Function_v2v<F>& f_false);
template <typename Pt>
result operator()(const Pt& p) const;
@@ -67,18 +67,18 @@
template <typename P, typename T, typename F>
ternary_<P, T, F>
- ternary(const Function_p2b<P>& f_pred,
- const Function_p2v<T>& f_true,
- const Function_p2v<F>& f_false);
+ ternary(const Function_v2b<P>& f_pred,
+ const Function_v2v<T>& f_true,
+ const Function_v2v<F>& f_false);
# ifndef MLN_INCLUDE_ONLY
template <typename P, typename T, typename F>
inline
- ternary_<P,T,F>::ternary_(const Function_p2b<P>& f_pred,
- const Function_p2v<T>& f_true,
- const Function_p2v<F>& f_false)
+ ternary_<P,T,F>::ternary_(const Function_v2b<P>& f_pred,
+ const Function_v2v<T>& f_true,
+ const Function_v2v<F>& f_false)
: f_pred_(exact(f_pred)),
f_true_(exact(f_true)),
f_false_(exact(f_false))
@@ -98,9 +98,9 @@
template <typename P, typename T, typename F>
inline
ternary_<P, T, F>
- ternary(const Function_p2b<P>& f_pred,
- const Function_p2v<T>& f_true,
- const Function_p2v<F>& f_false)
+ ternary(const Function_v2b<P>& f_pred,
+ const Function_v2v<T>& f_true,
+ const Function_v2v<F>& f_false)
{
ternary_<P, T, F> tmp(exact(f_pred),
exact(f_true),
Index: jardonnet/perl/test/p2v/iota.hh
--- jardonnet/perl/test/p2v/iota.hh (revision 3941)
+++ jardonnet/perl/test/p2v/iota.hh (working copy)
@@ -45,7 +45,7 @@
namespace p2v
{
- struct iota_t : public Function_p2v< iota_t >
+ struct iota_t : public Function_v2v< iota_t >
{
typedef unsigned result;
Index: jardonnet/perl/test/cast.hh
--- jardonnet/perl/test/cast.hh (revision 3941)
+++ jardonnet/perl/test/cast.hh (working copy)
@@ -44,7 +44,7 @@
// FIXME: Doc!
template <typename V, typename F>
- struct cast_p2v_expr_ : public Function_p2v< cast_p2v_expr_<V,F> >
+ struct cast_p2v_expr_ : public Function_v2v< cast_p2v_expr_<V,F> >
{
typedef V result;
@@ -69,7 +69,7 @@
template <typename V, typename F>
inline
cast_p2v_expr_<V, F>
- cast(const Function_p2v<F>& f)
+ cast(const Function_v2v<F>& f)
{
cast_p2v_expr_<V, F> tmp(exact(f));
return tmp;
Index: jardonnet/perl/test/internal/x2x_linear_impl.hh
--- jardonnet/perl/test/internal/x2x_linear_impl.hh (revision 3941)
+++ jardonnet/perl/test/internal/x2x_linear_impl.hh (working copy)
@@ -30,7 +30,7 @@
/*! \file mln/fun/internal/x2x_linear_impl.hh
*
- * \brief Implementation class for every linear Function_x2x.
+ * \brief Implementation class for every linear Function_v2v.
*/
# include <mln/core/concept/function.hh>
Index: jardonnet/perl/test/internal/selector.hh
--- jardonnet/perl/test/internal/selector.hh (revision 3941)
+++ jardonnet/perl/test/internal/selector.hh (working copy)
@@ -55,15 +55,15 @@
// |
// + ---------------------- Function_v2b
// | |
- // + -- Function_i2v |
+ // + -- Function_v2v |
// | |
- // + -- Function_x2x |
+ // + -- Function_v2v |
// | |
- // + -- Function_p2v |
+ // + -- Function_v2v |
// | |
- // + -- Function_p2b -- +
+ // + -- Function_v2b -- +
// |
- // + -- Function_p2p
+ // + -- Function_v2v
enum
{
@@ -90,27 +90,27 @@
// i2* => i2v type
template <typename E>
- struct helper_selector_< i_, b_, E > { typedef Function_i2v<E> ret; };
+ struct helper_selector_< i_, b_, E > { typedef Function_v2v<E> ret; };
template <typename E>
- struct helper_selector_< i_, i_, E > { typedef Function_i2v<E> ret; };
+ struct helper_selector_< i_, i_, E > { typedef Function_v2v<E> ret; };
template <typename E>
- struct helper_selector_< i_, p_, E > { typedef Function_i2v<E> ret; };
+ struct helper_selector_< i_, p_, E > { typedef Function_v2v<E> ret; };
template <typename E>
- struct helper_selector_< i_, v_, E > { typedef Function_i2v<E> ret; };
+ struct helper_selector_< i_, v_, E > { typedef Function_v2v<E> ret; };
template <typename E>
- struct helper_selector_< i_, x_, E > { typedef Function_i2v<E> ret; };
+ struct helper_selector_< i_, x_, E > { typedef Function_v2v<E> ret; };
// p2*
template <typename E>
- struct helper_selector_< p_, b_, E > { typedef Function_p2b<E> ret; };
+ struct helper_selector_< p_, b_, E > { typedef Function_v2b<E> ret; };
template <typename E>
- struct helper_selector_< p_, i_, E > { typedef Function_p2v<E> ret; };
// no p2i type => p2v
+ struct helper_selector_< p_, i_, E > { typedef Function_v2v<E> ret; };
// no p2i type => p2v
template <typename E>
- struct helper_selector_< p_, p_, E > { typedef Function_p2p<E> ret; };
+ struct helper_selector_< p_, p_, E > { typedef Function_v2v<E> ret; };
template <typename E>
- struct helper_selector_< p_, v_, E > { typedef Function_p2v<E> ret; };
+ struct helper_selector_< p_, v_, E > { typedef Function_v2v<E> ret; };
template <typename E>
- struct helper_selector_< p_, x_, E > { typedef Function_p2v<E> ret; };
+ struct helper_selector_< p_, x_, E > { typedef Function_v2v<E> ret; };
// v2* => v2v type, except for v2b
template <typename E>
Index: jardonnet/virtual/access.hh
--- jardonnet/virtual/access.hh (revision 3941)
+++ jardonnet/virtual/access.hh (working copy)
@@ -165,7 +165,7 @@
const T& trans, const F& interp)
{
mlc_is(typename T::invert,
- Bijection_x2x<typename T::invert>)::check();
+ Function_v2v<typename T::invert>)::check();
mlc_is(F, Function<F>)::check();
return interp(img, (trans.inv())(p));
Index: jardonnet/virtual/access.cc
--- jardonnet/virtual/access.cc (revision 3941)
+++ jardonnet/virtual/access.cc (working copy)
@@ -19,7 +19,7 @@
typename I, typename T>
void
test1(const I& input, I& output,
- const mln::Function_x2x<T>& t_)
+ const mln::Function_v2v<T>& t_)
{
N<I> interp(input);
T t = exact(t_);
@@ -37,7 +37,7 @@
template <typename I, typename O, typename T>
void
test2(const I& interp, O& output,
- const mln::Function_x2x<T>& t_)
+ const mln::Function_v2v<T>& t_)
{
T t = exact(t_);
Index: abraham/tests/fun/meta/red.cc
--- abraham/tests/fun/meta/red.cc (revision 3941)
+++ abraham/tests/fun/meta/red.cc (working copy)
@@ -14,7 +14,7 @@
};
template <class T>
- struct function< meta::red< rgb<T> > > : public
Function_v2w_w2v<function< meta::red < rgb<T> > > >
+ struct function< meta::red< rgb<T> > > : public
Function_v2v<function< meta::red < rgb<T> > > >
{
typedef rgb<T> value;
Index: inim/2011/fredwin/inim.cc
--- inim/2011/fredwin/inim.cc (revision 3941)
+++ inim/2011/fredwin/inim.cc (working copy)
@@ -74,7 +74,7 @@
}
template <typename P2V, typename G>
-struct ratio_ : public mln::Function_p2v< ratio_<P2V, G> >
+struct ratio_ : public mln::Function_v2v< ratio_<P2V, G> >
{
typedef double result;
@@ -97,7 +97,7 @@
};
template <typename P2V, typename G>
-ratio_<P2V, G> ratio(const mln::Function_p2v<P2V>& f, const
mln::Function_p2v<G>& g)
+ratio_<P2V, G> ratio(const mln::Function_v2v<P2V>& f, const
mln::Function_v2v<G>& g)
{
return ratio_<P2V, G>(exact(f), exact(g));
}
Index: theo/rush/exo3/exo3_fun_generator.cc
--- theo/rush/exo3/exo3_fun_generator.cc (revision 3941)
+++ theo/rush/exo3/exo3_fun_generator.cc (working copy)
@@ -152,7 +152,7 @@
{
template <typename F, typename G>
struct functors_compose_
- : mln::Function_p2v< functors_compose_<F, G> >
+ : mln::Function_v2v< functors_compose_<F, G> >
{
typedef typename F::result result;
@@ -183,9 +183,9 @@
{
template <typename TG, typename TA>
- struct set_unary_<fun::v2v::from_accu_t, mln::Function_p2v, exo3::couple<TG,
TA> >
+ struct set_unary_<fun::v2v::from_accu_t, mln::Function_v2v, exo3::couple<TG,
TA> >
{
- typedef set_unary_<fun::v2v::from_accu_t, mln::Function_p2v, exo3::couple<TG,
TA> > ret;
+ typedef set_unary_<fun::v2v::from_accu_t, mln::Function_v2v, exo3::couple<TG,
TA> > ret;
typedef exo3::functors_compose_<fun::v2v::from_accu_t<
exo3::couple<typename TG::result, TA> >, TG> result;
static
@@ -300,7 +300,7 @@
F, \
templatize(typename exo3_filter::ret_builtin< typename mln::category< C
>::ret, mln::pw::cst_<C> >::ret) \
) \
- operator op (const mln::Function_p2v<F>& f, const C& c) \
+ operator op (const mln::Function_v2v<F>& f, const C& c) \
{ \
return exact(f) op mln::pw::cst(c); \
} \
@@ -310,7 +310,7 @@
templatize(typename exo3_filter::ret_builtin< typename mln::category< C
>::ret, mln::pw::cst_<C> >::ret), \
F \
) \
- operator op (const C& c, const mln::Function_p2v<F>& f) \
+ operator op (const C& c, const mln::Function_v2v<F>& f) \
{ \
return mln::pw::cst(c) or exact(f); \
}
Index: theo/rush/exo3/exo3_fun_area.cc
--- theo/rush/exo3/exo3_fun_area.cc (revision 3941)
+++ theo/rush/exo3/exo3_fun_area.cc (working copy)
@@ -65,12 +65,12 @@
} // end of namespace mln::fun::v2v
- /// Function_p2v composition
+ /// Function_v2v composition
namespace p2v
{
template <typename F, typename G>
struct composition_t
- : mln::Function_p2v< composition_t<F, G> >
+ : mln::Function_v2v< composition_t<F, G> >
{
typedef typename F::result result;
@@ -128,9 +128,9 @@
};
template <typename G>
- struct set_unary_<fun::v2v::area, mln::Function_p2v, G>
+ struct set_unary_<fun::v2v::area, mln::Function_v2v, G>
{
- typedef set_unary_<fun::v2v::area, mln::Function_p2v, G> ret;
+ typedef set_unary_<fun::v2v::area, mln::Function_v2v, G> ret;
typedef fun::p2v::composition_t<fun::v2v::area<typename G::result>, G>
result;
static
@@ -250,7 +250,7 @@
F, \
templatize(typename exo3_filter::ret_builtin< typename mln::category< C
>::ret, mln::pw::cst_<C> >::ret) \
) \
- operator op (const mln::Function_p2v<F>& f, const C& c) \
+ operator op (const mln::Function_v2v<F>& f, const C& c) \
{ \
return exact(f) op mln::pw::cst(c); \
} \
@@ -260,7 +260,7 @@
templatize(typename exo3_filter::ret_builtin< typename mln::category< C
>::ret, mln::pw::cst_<C> >::ret), \
F \
) \
- operator op (const C& c, const mln::Function_p2v<F>& f) \
+ operator op (const C& c, const mln::Function_v2v<F>& f) \
{ \
return mln::pw::cst(c) or exact(f); \
}
Index: theo/rush/exo3/assignable.cc
--- theo/rush/exo3/assignable.cc (revision 3941)
+++ theo/rush/exo3/assignable.cc (working copy)
@@ -89,14 +89,14 @@
//
template <typename F, typename X, typename V>
void
- compute_inv(const mln::Function_v2w_w2v<F>& f, X& x, const V& v)
+ compute_inv(const mln::Function_v2v<F>& f, X& x, const V& v)
{
x = mln::exact(f).f_1(v, x);
};
template <typename F, typename X, typename V>
void
- compute_inv(const mln::Function_v2w2v<F>& f, X& x, const V& v)
+ compute_inv(const mln::Function_v2v<F>& f, X& x, const V& v)
{
x = mln::exact(f).f_1(v);
};
@@ -206,13 +206,13 @@
{
template <typename F>
- struct set_unary_< ::assignable, Function_v2w2v, F >
+ struct set_unary_< ::assignable, Function_v2v, F >
{
typedef ::internal::assignable::function_assign<F> ret;
};
template <typename F>
- struct set_unary_< ::assignable, Function_v2w_w2v, F >
+ struct set_unary_< ::assignable, Function_v2v, F >
{
typedef ::internal::assignable::function_assign<F> ret;
};
Index: theo/esiee/laurent/ismm09/extinct_attributes.hh
--- theo/esiee/laurent/ismm09/extinct_attributes.hh (revision 3941)
+++ theo/esiee/laurent/ismm09/extinct_attributes.hh (working copy)
@@ -65,7 +65,7 @@
{
template <typename T>
- struct node_pred : Function_p2b< node_pred<T> >
+ struct node_pred : Function_v2b< node_pred<T> >
{
typedef bool result;
Index: theo/esiee/laurent/ismm09/util.hh
--- theo/esiee/laurent/ismm09/util.hh (revision 3941)
+++ theo/esiee/laurent/ismm09/util.hh (working copy)
@@ -16,7 +16,7 @@
{
template <typename T>
- struct node_pred : Function_p2b< node_pred<T> >
+ struct node_pred : Function_v2b< node_pred<T> >
{
typedef bool result;
Index: theo/cs2d/tuto.cc
--- theo/cs2d/tuto.cc (revision 3941)
+++ theo/cs2d/tuto.cc (working copy)
@@ -13,7 +13,7 @@
- struct is_cell_t : mln::Function_p2b<is_cell_t>
+ struct is_cell_t : mln::Function_v2b<is_cell_t>
{
typedef bool result;
bool operator()(const mln::point2d& p) const
@@ -23,7 +23,7 @@
}
is_cell;
- struct is_edge_t : mln::Function_p2b<is_edge_t>
+ struct is_edge_t : mln::Function_v2b<is_edge_t>
{
typedef bool result;
bool operator()(const mln::point2d& p) const
@@ -33,7 +33,7 @@
}
is_edge;
- struct is_point_t : mln::Function_p2b<is_point_t>
+ struct is_point_t : mln::Function_v2b<is_point_t>
{
typedef bool result;
bool operator()(const mln::point2d& p) const
Index: theo/cs2d/kruskal.cc
--- theo/cs2d/kruskal.cc (revision 3941)
+++ theo/cs2d/kruskal.cc (working copy)
@@ -50,7 +50,7 @@
-struct is_cell_t : mln::Function_p2b<is_cell_t>
+struct is_cell_t : mln::Function_v2b<is_cell_t>
{
typedef bool result;
bool operator()(const mln::point2d& p) const
@@ -60,7 +60,7 @@
}
is_cell;
-struct is_edge_t : mln::Function_p2b<is_edge_t>
+struct is_edge_t : mln::Function_v2b<is_edge_t>
{
typedef bool result;
bool operator()(const mln::point2d& p) const
@@ -70,7 +70,7 @@
}
is_edge;
-struct is_point_t : mln::Function_p2b<is_point_t>
+struct is_point_t : mln::Function_v2b<is_point_t>
{
typedef bool result;
bool operator()(const mln::point2d& p) const
@@ -91,7 +91,7 @@
template<typename T_t>
-struct is_tree_t : mln::Function_p2b< is_tree_t<T_t> >
+struct is_tree_t : mln::Function_v2b< is_tree_t<T_t> >
{
typedef bool result;
bool operator()(const mln::point2d& p) const
Index: theo/cs2d/cs2d_utils.hh
--- theo/cs2d/cs2d_utils.hh (revision 3941)
+++ theo/cs2d/cs2d_utils.hh (working copy)
@@ -20,7 +20,7 @@
// 2 c e c e c
- struct is_cell_t : Function_p2b<is_cell_t>
+ struct is_cell_t : Function_v2b<is_cell_t>
{
typedef bool result;
bool operator()(const point2d& p) const
@@ -31,7 +31,7 @@
is_cell;
- struct is_edge_t : Function_p2b<is_edge_t>
+ struct is_edge_t : Function_v2b<is_edge_t>
{
typedef bool result;
bool operator()(const point2d& p) const
@@ -42,7 +42,7 @@
is_edge;
- struct is_vertex_t : Function_p2b<is_vertex_t>
+ struct is_vertex_t : Function_v2b<is_vertex_t>
{
typedef bool result;
bool operator()(const point2d& p) const
Index: theo/experimental/op_pw_value_pw_cst.cc
--- theo/experimental/op_pw_value_pw_cst.cc (revision 3941)
+++ theo/experimental/op_pw_value_pw_cst.cc (working copy)
@@ -15,7 +15,7 @@
// template <typename L, typename R>
// struct set_binary_< op::less,
-// mln::Function_p2v, L,
+// mln::Function_v2v, L,
// mln::value::Scalar, R >
// {
// typedef fun::less_p2b_expr_< L, pw::cst_<mln_result(L)> > ret;
@@ -24,7 +24,7 @@
template <typename L, typename R>
struct set_binary_< op::less,
- mln::Function_p2v, L,
+ mln::Function_v2v, L,
mln::Object, R >
{
typedef fun::less_p2b_expr_< L, pw::cst_<mln_result(L)> > ret;
@@ -35,7 +35,7 @@
// template <typename L, typename R>
// fun::less_p2b_expr_< L, pw::cst_<mln_result(L)> >
-// operator < (const Function_p2v<L>& lhs, const
value::Scalar<R>& rhs)
+// operator < (const Function_v2v<L>& lhs, const
value::Scalar<R>& rhs)
// {
// mlc_converts_to(mln_equiv(R), mln_result(L))::check();
// mln_equiv(R) rhs_ = exact(rhs).to_equiv();
@@ -47,7 +47,7 @@
template <typename L, typename R>
fun::less_p2b_expr_< L, pw::cst_<mln_result(L)> >
- operator < (const Function_p2v<L>& lhs, const Object<R>& rhs)
+ operator < (const Function_v2v<L>& lhs, const Object<R>& rhs)
{
// mln_trait_op_less(L, mln_result(L)) b = lhs;
@@ -59,7 +59,7 @@
// template <typename L>
// fun::less_p2b_expr_< L, pw::cst_<mln_result(L)> >
-// operator < (const Function_p2v<L>& lhs, const mln_result(L)& rhs)
+// operator < (const Function_v2v<L>& lhs, const mln_result(L)& rhs)
// {
// mln_trait_op_less(L, mln_result(L)) b = lhs;
Index: theo/experimental/histo_image.cc
--- theo/experimental/histo_image.cc (revision 3941)
+++ theo/experimental/histo_image.cc (working copy)
@@ -169,7 +169,7 @@
namespace p2p
{
- struct fold1d : Function_p2p< fold1d >
+ struct fold1d : Function_v2v< fold1d >
{
typedef point1d result;
result operator()(const point1d& p) const
@@ -181,7 +181,7 @@
};
template <bool along_0, bool along_1>
- struct fold2d : Function_p2p< fold2d<along_0,along_1> >
+ struct fold2d : Function_v2v< fold2d<along_0,along_1> >
{
typedef point2d result;
result operator()(const point2d& p) const
@@ -194,7 +194,7 @@
};
template <bool along_0, bool along_1, bool along_2>
- struct fold3d : Function_p2p< fold3d<along_0,along_1,along_2> >
+ struct fold3d : Function_v2v< fold3d<along_0,along_1,along_2> >
{
typedef point3d result;
result operator()(const point3d& p) const
Index: theo/color/change_attributes.hh
--- theo/color/change_attributes.hh (revision 3941)
+++ theo/color/change_attributes.hh (working copy)
@@ -114,7 +114,7 @@
{
template <typename T>
- struct node_pred : Function_p2b< node_pred<T> >
+ struct node_pred : Function_v2b< node_pred<T> >
{
typedef bool result;
Index: bugs/io_xv_imview.pbm
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: bugs/io_xv_imview.pbm
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Index: lazzara/igr/irm_seg_with_mm_and_rag.mine.cc
--- lazzara/igr/irm_seg_with_mm_and_rag.mine.cc (revision 3941)
+++ lazzara/igr/irm_seg_with_mm_and_rag.mine.cc (working copy)
@@ -149,7 +149,7 @@
}
- struct threshold : Function_p2b<threshold>
+ struct threshold : Function_v2b<threshold>
{
bool operator()(const value::rgb8& val) const
{
Index: lazzara/igr/igr-biggest-comp.cc
--- lazzara/igr/igr-biggest-comp.cc (revision 3941)
+++ lazzara/igr/igr-biggest-comp.cc (working copy)
@@ -25,7 +25,7 @@
namespace mln
{
- struct threshold : mln::Function_p2b<threshold>
+ struct threshold : mln::Function_v2b<threshold>
{
bool operator()(const mln::value::rgb8& val) const
{
Index: lazzara/igr/igr.cc
--- lazzara/igr/igr.cc (revision 3941)
+++ lazzara/igr/igr.cc (working copy)
@@ -21,7 +21,7 @@
#include <mln/fun/p2b/big_chess.hh>
-struct threshold : mln::Function_p2b<threshold>
+struct threshold : mln::Function_v2b<threshold>
{
bool operator()(const mln::value::rgb8& val) const
{
Index: lazzara/igr/irm/wst_rag_hsl.cc
--- lazzara/igr/irm/wst_rag_hsl.cc (revision 3941)
+++ lazzara/igr/irm/wst_rag_hsl.cc (working copy)
@@ -140,7 +140,7 @@
template <typename I, typename V>
- struct edge_to_color : Function_p2v< edge_to_color<I,V> >
+ struct edge_to_color : Function_v2v< edge_to_color<I,V> >
{
typedef V result;
Index: lazzara/igr/irm/wst_rag.cc
--- lazzara/igr/irm/wst_rag.cc (revision 3941)
+++ lazzara/igr/irm/wst_rag.cc (working copy)
@@ -132,7 +132,7 @@
template <typename I, typename V>
- struct edge_to_color : Function_p2v< edge_to_color<I,V> >
+ struct edge_to_color : Function_v2v< edge_to_color<I,V> >
{
typedef V result;
Index: edwin/tree/run.hh
--- edwin/tree/run.hh (revision 3941)
+++ edwin/tree/run.hh (working copy)
@@ -82,7 +82,7 @@
run_while(const T& tree,
Image<A>& a,
Accumulator<ACC>& accu_,
- Function_p2b<P2B>& pred);
+ Function_v2b<P2B>& pred);
/**
@@ -146,7 +146,7 @@
return arr_sites;
}
- struct ncard : Function_p2b< ncard >
+ struct ncard : Function_v2b< ncard >
{
typedef bool result;
@@ -174,7 +174,7 @@
run_while(const T& tree,
Image<A>& a_,
Accumulator<ACC>& acc,
- Function_p2b<P2B>& pred)
+ Function_v2b<P2B>& pred)
{
trace::entering("mln::morpho::tree::run_while");
A& a = exact(a_);
Index: edwin/rush/exo2/wst_from_tree.cc
--- edwin/rush/exo2/wst_from_tree.cc (revision 3941)
+++ edwin/rush/exo2/wst_from_tree.cc (working copy)
@@ -77,11 +77,11 @@
{
// Sharpness Attribute -> Height Attribute
template <typename P2V>
- struct height_wrapper_ : Function_p2v< height_wrapper_<P2V> >
+ struct height_wrapper_ : Function_v2v< height_wrapper_<P2V> >
{
typedef unsigned result;
- height_wrapper_(const Function_p2v<P2V>& f) :
+ height_wrapper_(const Function_v2v<P2V>& f) :
f_ (exact(f))
{
mlc_is_a(mln_result(P2V), Accumulator)::check();
@@ -101,7 +101,7 @@
template <typename P2V>
inline
height_wrapper_<P2V>
- height_wrapper(const Function_p2v<P2V>& f)
+ height_wrapper(const Function_v2v<P2V>& f)
{
return height_wrapper_<P2V>(f);
}
@@ -109,7 +109,7 @@
template <typename T, typename F, typename P2B>
inline
void
- mymin(const T& tree, Image<F>& f_, const Function_p2b<P2B>&
pred_)
+ mymin(const T& tree, Image<F>& f_, const Function_v2b<P2B>&
pred_)
{
F& f = exact(f_);
const P2B& pred = exact(pred_);
Index: edwin/rush/exo2/test.cc
--- edwin/rush/exo2/test.cc (revision 3941)
+++ edwin/rush/exo2/test.cc (working copy)
@@ -24,11 +24,11 @@
{
// Sharpness Attribute -> Height Attribute
template <typename P2V>
- struct height_wrapper_ : Function_p2v< height_wrapper_<P2V> >
+ struct height_wrapper_ : Function_v2v< height_wrapper_<P2V> >
{
typedef unsigned result;
- height_wrapper_(const Function_p2v<P2V>& f) :
+ height_wrapper_(const Function_v2v<P2V>& f) :
f_ (exact(f))
{
mlc_is_a(mln_result(P2V), Accumulator)::check();
@@ -48,7 +48,7 @@
template <typename P2V>
inline
height_wrapper_<P2V>
- height_wrapper(const Function_p2v<P2V>& f)
+ height_wrapper(const Function_v2v<P2V>& f)
{
return height_wrapper_<P2V>(f);
}
Index: edwin/tests/sharp.cc
--- edwin/tests/sharp.cc (revision 3941)
+++ edwin/tests/sharp.cc (working copy)
@@ -71,11 +71,11 @@
{
template <typename P2V>
- struct height_wrapper_ : Function_p2v< height_wrapper_<P2V> >
+ struct height_wrapper_ : Function_v2v< height_wrapper_<P2V> >
{
typedef unsigned result;
- height_wrapper_(const Function_p2v<P2V>& f) :
+ height_wrapper_(const Function_v2v<P2V>& f) :
f_ (exact(f))
{
mlc_is_a(mln_result(P2V), Accumulator)::check();
@@ -94,17 +94,17 @@
template <typename P2V>
inline
height_wrapper_<P2V>
- height_wrapper(const Function_p2v<P2V>& f)
+ height_wrapper(const Function_v2v<P2V>& f)
{
return height_wrapper_<P2V>(f);
}
template <typename P2V>
- struct card_wrapper_ : Function_p2v< card_wrapper_<P2V> >
+ struct card_wrapper_ : Function_v2v< card_wrapper_<P2V> >
{
typedef unsigned result;
- card_wrapper_(const Function_p2v<P2V>& f) :
+ card_wrapper_(const Function_v2v<P2V>& f) :
f_ (exact(f))
{
mlc_is_a(mln_result(P2V), Accumulator)::check();
@@ -123,7 +123,7 @@
template <typename P2V>
inline
card_wrapper_<P2V>
- card_wrapper(const Function_p2v<P2V>& f)
+ card_wrapper(const Function_v2v<P2V>& f)
{
return card_wrapper_<P2V>(f);
}
@@ -131,7 +131,7 @@
template <typename T, typename F, typename P2B>
inline
void
- mymin(const T& tree, Image<F>& f_, const Function_p2b<P2B>&
pred_)
+ mymin(const T& tree, Image<F>& f_, const Function_v2b<P2B>&
pred_)
{
F& f = exact(f_);
const P2B& pred = exact(pred_);
Index: edwin/mln/morpho/tree/components.hh
--- edwin/mln/morpho/tree/components.hh (revision 3941)
+++ edwin/mln/morpho/tree/components.hh (working copy)
@@ -92,7 +92,7 @@
*/
template <typename T, typename A, typename P2B>
p_array< mln_psite(A) >
- get_components(const T& tree, const Image<A>& attr_image, const
Function_p2b<P2B>& pred);
+ get_components(const T& tree, const Image<A>& attr_image, const
Function_v2b<P2B>& pred);
# ifndef MLN_INCLUDE_ONLY
@@ -294,7 +294,7 @@
template <typename T, typename A, typename P2B>
p_array< mln_psite(A) >
- get_components(const T& tree, const Image<A>& attr_image, const
Function_p2b<P2B>& pred)
+ get_components(const T& tree, const Image<A>& attr_image, const
Function_v2b<P2B>& pred)
{
trace::entering("mln::morpho::tree::get_components");
Index: edwin/mln/morpho/tree/filter.hh
--- edwin/mln/morpho/tree/filter.hh (revision 3941)
+++ edwin/mln/morpho/tree/filter.hh (working copy)
@@ -53,7 +53,7 @@
template <typename T, typename F, typename P2B>
inline
void
- filter(const T& tree, Image<F>& f_, const Function_p2b<P2B>&
pred_, const mln_value(F)& v);
+ filter(const T& tree, Image<F>& f_, const Function_v2b<P2B>&
pred_, const mln_value(F)& v);
# ifndef MLN_INCLUDE_ONLY
@@ -61,7 +61,7 @@
template <typename T, typename F, typename P2B>
inline
void
- filter(const T& tree, Image<F>& f_, const Function_p2b<P2B>&
pred_, const mln_value(F)& v)
+ filter(const T& tree, Image<F>& f_, const Function_v2b<P2B>&
pred_, const mln_value(F)& v)
{
F& f = exact(f_);
const P2B& pred = exact(pred_);
Index: laurent/playing_with_attributes.cc
--- laurent/playing_with_attributes.cc (revision 3941)
+++ laurent/playing_with_attributes.cc (working copy)
@@ -35,7 +35,7 @@
template <typename T>
- struct node_pred : Function_p2b< node_pred<T> >
+ struct node_pred : Function_v2b< node_pred<T> >
{
typedef bool result;