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>
44 template <
typename G,
typename S>
class graph_elt_window;
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>
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