26 #ifndef MLN_MAKE_DOUBLE_NEIGHB2D_HH
27 # define MLN_MAKE_DOUBLE_NEIGHB2D_HH
35 # include <mln/convert/to.hh>
36 # include <mln/core/alias/window2d.hh>
37 # include <mln/win/multiple.hh>
38 # include <mln/core/neighb.hh>
47 template <
typename A,
unsigned St,
unsigned Sf>
48 neighb< win::multiple<window2d, bool(*)(A)> >
50 bool const (&when_true) [St],
51 bool const (&when_false)[Sf]);
53 template <
typename F,
unsigned St,
unsigned Sf>
56 bool const (&when_true) [St],
57 bool const (&when_false)[Sf]);
60 # ifndef MLN_INCLUDE_ONLY
62 template <
typename A,
unsigned St,
unsigned Sf>
66 bool const (&when_true) [St],
67 bool const (&when_false)[Sf])
71 wm.set_window(
false, convert::to<window2d>(when_false));
72 wm.set_window(
true, convert::to<window2d>(when_true) );
77 template <
typename F,
unsigned St,
unsigned Sf>
81 bool const (&when_true) [St],
82 bool const (&when_false)[Sf])
86 wm.set_window(
false, convert::to<window2d>(when_false));
87 wm.set_window(
true, convert::to<window2d>(when_true) );
92 # endif // ! MLN_INCLUDE_ONLY
99 #endif // ! MLN_MAKE_DOUBLE_NEIGHB2D_HH