https://svn.lrde.epita.fr/svn/oln/trunk/milena/sandbox Index: ChangeLog from Thierry Geraud <thierry.geraud@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;