26 #ifndef MLN_CORE_ROUTINE_INIT_HH
27 # define MLN_CORE_ROUTINE_INIT_HH
34 # include <mln/tag/init.hh>
35 # include <mln/geom/bbox.hh>
36 # include <mln/border/find.hh>
38 # include <mln/core/routine/init.hxx>
47 template <
typename Subject,
typename T,
typename M>
48 void init_(Subject, T& target,
const Object<M>& model);
52 template <
typename B,
typename I>
53 void init_(tag::bbox_t, B& b,
const Image<I>& ima);
56 void init_(tag::border_t,
unsigned& bdr,
const Image<I>& ima);
59 void init_(tag::domain_t, mln_domain(I)& pset,
const Image<I>& ima);
63 # ifndef MLN_INCLUDE_ONLY
66 template <
typename Subject,
typename T,
typename M>
68 void init_(Subject, T&,
const Object<M>&)
75 template <
typename B,
typename I>
77 void init_(tag::bbox_t, B& b,
const Image<I>& ima)
84 void init_(tag::border_t,
unsigned& bdr,
const Image<I>& ima)
94 void init_(tag::domain_t, mln_domain(I)& pset,
const Image<I>& ima)
96 pset = exact(ima).domain();
100 # endif // ! MLN_INCLUDE_ONLY
105 #endif // ! MLN_CORE_ROUTINE_INIT_HH