26 #ifndef MLN_CORE_CONCEPT_WEIGHTED_WINDOW_HH
27 # define MLN_CORE_CONCEPT_WEIGHTED_WINDOW_HH
35 # include <mln/core/concept/object.hh>
36 # include <mln/core/concept/iterator.hh>
37 # include <mln/trait/windows.hh>
41 # define mln_is_simple_weighted_window(W) \
42 mln_is_simple_window(typename W::window)
50 template <
typename E>
struct Weighted_Window;
55 struct Weighted_Window<void>
57 typedef Object<void> super;
99 # ifndef MLN_INCLUDE_ONLY
101 template <
typename E>
105 typedef mln_site(E) site;
106 typedef mln_psite(E) psite;
107 typedef mln_dpsite(E) dpsite;
109 typedef mln_weight(E) weight;
110 typedef mln_window(E)
window;
112 typedef mln_fwd_qiter(E) fwd_qiter;
113 typedef mln_bkd_qiter(E) bkd_qiter;
115 void (E::*m1)() = & E::sym;
118 const window& (E::*m2)() const = & E::win;
122 # endif // ! MLN_INCLUDE_ONLY
127 #endif // ! MLN_CORE_CONCEPT_WEIGHTED_WINDOW_HH