27 #ifndef MLN_CORE_SITE_SET_P_N_FACES_PITER_HH
28 # define MLN_CORE_SITE_SET_P_N_FACES_PITER_HH
34 # include <mln/core/site_set/p_complex.hh>
35 # include <mln/core/internal/p_complex_piter_base.hh>
36 # include <mln/topo/n_face_iter.hh>
46 template <
unsigned D,
typename G>
class p_complex;
55 template <
unsigned D,
typename G>
57 :
public internal::p_complex_piter_base_< topo::n_face_fwd_iter<D>,
60 p_n_faces_fwd_piter<D, G> >
63 typedef internal::p_complex_piter_base_< topo::n_face_fwd_iter<D>,
80 void set_n (
unsigned n);
91 template <
unsigned D,
typename G>
95 :
public internal::p_complex_piter_base_< topo::n_face_bkd_iter<D>,
98 p_n_faces_bkd_piter<D, G> >
101 typedef internal::p_complex_piter_base_< topo::n_face_bkd_iter<D>,
118 void set_n (
unsigned n);
124 # ifndef MLN_INCLUDE_ONLY
130 template <
unsigned D,
typename G>
136 template <
unsigned D,
typename G>
142 mln_precondition(n <= D);
146 template <
unsigned D,
typename G>
151 return this->iter_.n();
154 template <
unsigned D,
typename G>
159 this->iter_.set_n(n);
167 template <
unsigned D,
typename G>
173 template <
unsigned D,
typename G>
179 mln_precondition(n <= D);
183 template <
unsigned D,
typename G>
188 return this->iter_.n();
191 template <
unsigned D,
typename G>
196 this->iter_.set_n(n);
199 # endif // ! MLN_INCLUDE_ONLY
203 #endif // ! MLN_CORE_SITE_SET_P_N_FACES_PITER_HH