00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef MLN_CORE_SITE_SET_ATTIC_P_COMPLEX_FACES_PITER_HH
00027 # define MLN_CORE_SITE_SET_ATTIC_P_COMPLEX_FACES_PITER_HH
00028
00035
00036 # include <mln/core/site_set/p_complex.hh>
00037 # include <mln/core/internal/p_complex_piter_base.hh>
00038 # include <mln/topo/attic/faces_iter.hh>
00039
00040
00041
00042
00043
00044 namespace mln
00045 {
00046
00047
00048 template <unsigned N, unsigned D, typename P> class p_faces;
00049
00050 template <unsigned N, unsigned D> class faces_fwd_iter_;
00051 template <unsigned N, unsigned D> class faces_bkd_iter_;
00052
00053
00054
00055
00056
00057
00060 template <unsigned N, unsigned D, typename P>
00061 class p_complex_faces_fwd_piter_
00062 : public internal::p_complex_piter_base_< topo::faces_fwd_iter_<N, D>,
00063 p_complex<D, P>,
00064 P,
00065 p_complex_faces_fwd_piter_<N, D, P> >
00066 {
00067 typedef p_complex_faces_fwd_piter_<N, D, P> self_;
00068 typedef internal::p_complex_piter_base_< topo::faces_fwd_iter_<N, D>,
00069 p_complex<D, P>,
00070 P,
00071 self_ > super_;
00072
00073 public:
00076 p_complex_faces_fwd_piter_();
00077 p_complex_faces_fwd_piter_(const p_complex<D, P>& pc);
00079 };
00080
00081
00082
00083
00084
00085
00088 template <unsigned N, unsigned D, typename P>
00089 class p_complex_faces_bkd_piter_
00090
00091
00092 : public internal::p_complex_piter_base_< topo::faces_bkd_iter_<N, D>,
00093 p_complex<D, P>,
00094 P,
00095 p_complex_faces_bkd_piter_<N, D, P> >
00096 {
00097 typedef p_complex_faces_bkd_piter_<N, D, P> self_;
00098 typedef internal::p_complex_piter_base_< topo::faces_bkd_iter_<N, D>,
00099 p_complex<D, P>,
00100 P,
00101 self_ > super_;
00102
00103 public:
00106 p_complex_faces_bkd_piter_();
00107 p_complex_faces_bkd_piter_(const p_complex<D, P>& pc);
00109 };
00110
00111
00112
00113 # ifndef MLN_INCLUDE_ONLY
00114
00115
00116
00117
00118
00119 template <unsigned N, unsigned D, typename P>
00120 inline
00121 p_complex_faces_fwd_piter_<N, D, P>::p_complex_faces_fwd_piter_()
00122 {
00123 }
00124
00125 template <unsigned N, unsigned D, typename P>
00126 inline
00127 p_complex_faces_fwd_piter_<N, D, P>::p_complex_faces_fwd_piter_(const p_complex<D, P>& pc)
00128 : super_(pc)
00129 {
00130 }
00131
00132
00133
00134
00135
00136
00137 template <unsigned N, unsigned D, typename P>
00138 inline
00139 p_complex_faces_bkd_piter_<N, D, P>::p_complex_faces_bkd_piter_()
00140 {
00141 }
00142
00143 template <unsigned N, unsigned D, typename P>
00144 inline
00145 p_complex_faces_bkd_piter_<N, D, P>::p_complex_faces_bkd_piter_(const p_complex<D, P>& pc)
00146 : super_(pc)
00147 {
00148 }
00149
00150 # endif // ! MLN_INCLUDE_ONLY
00151
00152 }
00153
00154 #endif // ! MLN_CORE_SITE_SET_ATTIC_P_COMPLEX_FACES_PITER_HH