27 #ifndef MLN_GEOM_DELTA_HH
28 # define MLN_GEOM_DELTA_HH
35 # include <mln/core/concept/window.hh>
36 # include <mln/core/concept/weighted_window.hh>
37 # include <mln/core/concept/neighborhood.hh>
51 unsigned delta(
const Window<W>& win);
58 unsigned delta(
const Weighted_Window<W>& wwin);
65 unsigned delta(
const Neighborhood<N>& nbh);
69 # ifndef MLN_INCLUDE_ONLY
75 unsigned delta_dispatch(trait::window::support::any,
76 trait::window::definition::any,
84 unsigned delta_dispatch(trait::window::support::regular,
85 trait::window::definition::varying,
93 unsigned delta_dispatch(trait::window::support::regular,
94 trait::window::definition::any,
105 template <
typename W>
106 unsigned delta(
const Window<W>& win)
108 mln_precondition(
exact(win).is_valid());
109 return internal::delta_dispatch(mln_trait_window_support(W)(),
110 mln_trait_window_definition(W)(),
114 template <
typename W>
115 unsigned delta(
const Weighted_Window<W>& wwin)
117 mln_precondition(
exact(wwin).is_valid());
121 template <
typename N>
122 unsigned delta(
const Neighborhood<N>& nbh)
124 mln_precondition(
exact(nbh).is_valid());
128 # endif // ! MLN_INCLUDE_ONLY
135 #endif // ! MLN_GEOM_DELTA_HH