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
00027 #ifndef MLN_CORE_SITE_SET_P_COMPLEX_PITER_HH
00028 # define MLN_CORE_SITE_SET_P_COMPLEX_PITER_HH
00029
00035
00036 # include <mln/core/site_set/p_complex.hh>
00037 # include <mln/core/internal/p_complex_piter_base.hh>
00038 # include <mln/topo/face_iter.hh>
00039
00040 namespace mln
00041 {
00042
00043
00044 template <unsigned D, typename G> class p_complex;
00045
00046
00047
00048
00049
00050
00052 template <unsigned D, typename G>
00053 class p_complex_fwd_piter_
00054 : public internal::p_complex_piter_base_< topo::face_fwd_iter<D>,
00055 p_complex<D, G>,
00056 mln_site(G),
00057 p_complex_fwd_piter_<D, G> >
00058 {
00059 typedef p_complex_fwd_piter_<D, G> self_;
00060 typedef internal::p_complex_piter_base_< topo::face_fwd_iter<D>,
00061 p_complex<D, G>,
00062 mln_site(G),
00063 self_ > super_;
00064
00065 public:
00068 p_complex_fwd_piter_();
00069 p_complex_fwd_piter_(const p_complex<D, G>& pc);
00071 };
00072
00073
00074
00075
00076
00077
00079 template <unsigned D, typename G>
00080 class p_complex_bkd_piter_
00081 : public internal::p_complex_piter_base_< topo::face_bkd_iter<D>,
00082 p_complex<D, G>,
00083 mln_site(G),
00084 p_complex_bkd_piter_<D, G> >
00085 {
00086 typedef p_complex_bkd_piter_<D, G> self_;
00087 typedef internal::p_complex_piter_base_< topo::face_bkd_iter<D>,
00088 p_complex<D, G>,
00089 mln_site(G),
00090 self_ > super_;
00091
00092 public:
00095 p_complex_bkd_piter_();
00096 p_complex_bkd_piter_(const p_complex<D, G>& pc);
00098 };
00099
00100
00101
00102 # ifndef MLN_INCLUDE_ONLY
00103
00104
00105
00106
00107
00108 template <unsigned D, typename G>
00109 inline
00110 p_complex_fwd_piter_<D, G>::p_complex_fwd_piter_()
00111 {
00112 }
00113
00114 template <unsigned D, typename G>
00115 inline
00116 p_complex_fwd_piter_<D, G>::p_complex_fwd_piter_(const p_complex<D, G>& pc)
00117 : super_(pc)
00118 {
00119 }
00120
00121
00122
00123
00124
00125
00126 template <unsigned D, typename G>
00127 inline
00128 p_complex_bkd_piter_<D, G>::p_complex_bkd_piter_()
00129 {
00130 }
00131
00132 template <unsigned D, typename G>
00133 inline
00134 p_complex_bkd_piter_<D, G>::p_complex_bkd_piter_(const p_complex<D, G>& pc)
00135 : super_(pc)
00136 {
00137 }
00138
00139 # endif // ! MLN_INCLUDE_ONLY
00140
00141 }
00142
00143 #endif // ! MLN_CORE_SITE_SET_P_COMPLEX_PITER_HH