27 #ifndef MLN_CORE_IMAGE_GRAPH_ELT_WINDOW_HH
28 # define MLN_CORE_IMAGE_GRAPH_ELT_WINDOW_HH
34 # include <mln/core/concept/window.hh>
35 # include <mln/core/internal/neighborhood_base.hh>
36 # include <mln/core/internal/graph_window_base.hh>
37 # include <mln/core/image/graph_window_piter.hh>
45 template <
typename G,
typename F>
class p_edges;
46 template <
typename G,
typename F>
class p_vertices;
49 template <
typename G>
class edge;
50 template <
typename G>
class vertex;
57 template <
typename G,
typename S,
typename E>
59 :
public neighborhood_extra_impl<graph_elt_window<G,S>,E>
70 template <
typename G,
typename S>
73 template <
typename G,
typename F>
76 typedef mln_edge_nbh_edge_fwd_iter(G) nbh_fwd_iter_;
77 typedef mln_edge_nbh_edge_bkd_iter(G) nbh_bkd_iter_;
80 template <typename G, typename F>
83 typedef mln_vertex_nbh_vertex_fwd_iter(G) nbh_fwd_iter_;
84 typedef mln_vertex_nbh_vertex_bkd_iter(G) nbh_bkd_iter_;
93 template <
typename G,
typename S>
96 typedef trait::window::size::unknown size;
97 typedef trait::window::support::irregular support;
98 typedef trait::window::definition::varying definition;
110 template <
typename G,
typename S>
113 graph_elt_window<G,S> >,
114 public internal::graph_window_iter_dispatch<G,S>
117 typedef internal::graph_window_iter_dispatch<G,S> super_;
119 typedef typename super_::nbh_fwd_iter_ nbh_fwd_iter_;
120 typedef typename super_::nbh_bkd_iter_ nbh_bkd_iter_;
153 #endif // ! MLN_CORE_IMAGE_GRAPH_ELT_WINDOW_HH