26 #ifndef MLN_CORE_SITE_SET_ATTIC_P_FACES_PITER_HH
27 # define MLN_CORE_SITE_SET_ATTIC_P_FACES_PITER_HH
35 # include <mln/core/site_set/p_faces.hh>
36 # include <mln/core/internal/p_complex_piter_base.hh>
37 # include <mln/topo/attic/faces_iter.hh>
44 template <
unsigned N,
unsigned D,
typename P>
struct p_faces;
46 template <
unsigned N,
unsigned D>
class faces_fwd_iter_;
47 template <
unsigned N,
unsigned D>
class faces_bkd_iter_;
56 template <
unsigned N,
unsigned D,
typename P>
57 class p_faces_fwd_piter_
58 :
public internal::p_complex_piter_base_< topo::faces_fwd_iter_<N, D>,
61 p_faces_fwd_piter_<N, D, P> >
63 typedef p_faces_fwd_piter_<N, D, P> self_;
64 typedef internal::p_complex_piter_base_< topo::faces_fwd_iter_<N, D>,
73 p_faces_fwd_piter_(
const p_faces<N, D, P>& pc);
84 template <
unsigned N,
unsigned D,
typename P>
85 class p_faces_bkd_piter_
88 :
public internal::p_complex_piter_base_< topo::faces_bkd_iter_<N, D>,
91 p_faces_bkd_piter_<N, D, P> >
93 typedef p_faces_bkd_piter_<N, D, P> self_;
94 typedef internal::p_complex_piter_base_< topo::faces_bkd_iter_<N, D>,
102 p_faces_bkd_piter_();
103 p_faces_bkd_piter_(
const p_faces<N, D, P>& pc);
109 # ifndef MLN_INCLUDE_ONLY
115 template <
unsigned N,
unsigned D,
typename P>
117 p_faces_fwd_piter_<N, D, P>::p_faces_fwd_piter_()
121 template <
unsigned N,
unsigned D,
typename P>
123 p_faces_fwd_piter_<N, D, P>::p_faces_fwd_piter_(
const p_faces<N, D, P>& pc)
133 template <
unsigned N,
unsigned D,
typename P>
135 p_faces_bkd_piter_<N, D, P>::p_faces_bkd_piter_()
139 template <
unsigned N,
unsigned D,
typename P>
141 p_faces_bkd_piter_<N, D, P>::p_faces_bkd_piter_(
const p_faces<N, D, P>& pc)
146 # endif // ! MLN_INCLUDE_ONLY
150 #endif // ! MLN_CORE_SITE_SET_ATTIC_P_FACES_PITER_HH