26 #ifndef MLN_CORE_INTERNAL_NEIGHB_BASE_HH
27 # define MLN_CORE_INTERNAL_NEIGHB_BASE_HH
33 # include <mln/core/internal/neighborhood_base.hh>
34 # include <mln/core/internal/site_relative_iterator_base.hh>
35 # include <mln/core/internal/neighb_niter_impl.hh>
50 template <
typename W,
typename E>
52 :
public internal::neighborhood_base< W, E >,
53 private mlc_is_a(W, Window)::check_t
61 neighb_base(
const W& win);
67 void change_window(
const W& new_win);
79 # ifndef MLN_INCLUDE_ONLY
83 template <
typename W,
typename E>
85 neighb_base<W,E>::neighb_base()
89 template <
typename W,
typename E>
91 neighb_base<W,E>::neighb_base(
const W& win)
96 template <
typename W,
typename E>
99 neighb_base<W,E>::win()
const
104 template <
typename W,
typename E>
107 neighb_base<W,E>::change_window(
const W& new_win)
109 mln_precondition(new_win.is_neighbable_());
113 template <
typename W,
typename E>
116 neighb_base<W,E>::hook_win_()
121 # endif // ! MLN_INCLUDE_ONLY
128 #endif // ! MLN_CORE_INTERNAL_NEIGHB_BASE_HH