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>
48 template <
typename Subject,
typename T,
typename M>
49 void init_(Subject,
T& target,
const Object<M>& model);
53 template <
typename B,
typename I>
54 void init_(tag::bbox_t, B& b,
const Image<I>& ima);
57 void init_(tag::border_t,
unsigned& bdr,
const Image<I>& ima);
60 void init_(tag::domain_t, mln_domain(I)& pset,
const Image<I>& ima);
64 # ifndef MLN_INCLUDE_ONLY
67 template <
typename Subject,
typename T,
typename M>
69 void init_(Subject,
T&,
const Object<M>&)
76 template <
typename B,
typename I>
78 void init_(tag::bbox_t, B& b,
const Image<I>& ima)
85 void init_(tag::border_t,
unsigned& bdr,
const Image<I>& ima)
95 void init_(tag::domain_t, mln_domain(I)& pset,
const Image<I>& ima)
97 pset =
exact(ima).domain();
101 # endif // ! MLN_INCLUDE_ONLY
106 #endif // ! MLN_CORE_ROUTINE_INIT_HH