27 #ifndef MLN_CORE_INTERNAL_COMPLEX_WINDOW_BASE_HH
28 # define MLN_CORE_INTERNAL_COMPLEX_WINDOW_BASE_HH
34 # include <mln/core/concept/window.hh>
35 # include <mln/core/site_set/complex_psite.hh>
36 # include <mln/core/image/complex_window_piter.hh>
38 # include <mln/topo/centered_iter_adapter.hh>
46 template <
typename I,
typename G,
typename W>
47 class complex_window_fwd_piter;
48 template <
typename I,
typename G,
typename W>
49 class complex_window_bkd_piter;
53 template <
unsigned D,
typename G,
typename F,
typename B,
typename E>
54 class complex_window_base;
61 template <
unsigned D,
typename G,
typename F,
typename B,
typename E>
62 struct window_< mln::internal::complex_window_base<D, G, F, B, E> >
64 typedef trait::window::size::unknown
size;
65 typedef trait::window::support::irregular
support;
66 typedef trait::window::definition::varying
definition;
86 template <
unsigned D,
typename G,
typename F,
typename B,
typename E>
149 # ifndef MLN_INCLUDE_ONLY
151 template <
unsigned D,
typename G,
typename F,
typename B,
typename E>
154 : is_centered_(is_centered)
159 template <
unsigned D,
typename G,
typename F,
typename B,
typename E>
167 template <
unsigned D,
typename G,
typename F,
typename B,
typename E>
170 complex_window_base<D, G, F, B, E>::is_centered()
const
175 template <
unsigned D,
typename G,
typename F,
typename B,
typename E>
178 complex_window_base<D, G, F, B, E>::is_valid()
const
183 # endif // ! MLN_INCLUDE_ONLY
189 #endif // ! MLN_CORE_INTERNAL_COMPLEX_WINDOW_BASE_HH