26 #ifndef MLN_TOPO_N_FACES_SET_HH
27 # define MLN_TOPO_N_FACES_SET_HH
34 #include <mln/core/contract.hh>
35 #include <mln/topo/algebraic_n_face.hh>
47 template <
unsigned D>
class complex;
55 template <
unsigned N,
unsigned D>
70 typedef std::vector< algebraic_n_face<N, D> >
faces_type;
96 template <
unsigned N,
unsigned D>
101 template <
unsigned N,
unsigned D>
105 template <
unsigned N,
unsigned D>
109 template <
unsigned N,
unsigned D>
114 template <
unsigned N,
unsigned D>
118 template <
unsigned N,
unsigned D>
122 template <
unsigned N,
unsigned D>
129 template <
unsigned N,
unsigned D>
134 template <
unsigned N,
unsigned D>
138 template <
unsigned N,
unsigned D>
142 template <
unsigned N,
unsigned D>
147 template <
unsigned N,
unsigned D>
151 template <
unsigned N,
unsigned D>
155 template <
unsigned N,
unsigned D>
162 # ifndef MLN_INCLUDE_ONLY
168 template <
unsigned N,
unsigned D>
175 mln_precondition(faces_.front().cplx() == f.
cplx());
179 template <
unsigned N,
unsigned D>
187 template <
unsigned N,
unsigned D>
189 const std::vector< algebraic_n_face<N, D> >&
203 template <
unsigned N,
unsigned D>
206 operator+(
const algebraic_n_face<N, D>& f1,
207 const algebraic_n_face<N, D>& f2)
209 n_faces_set<N, D> fs;
215 template <
unsigned N,
unsigned D>
220 n_faces_set<N, D> fs;
226 template <
unsigned N,
unsigned D>
231 n_faces_set<N, D> fs;
237 template <
unsigned N,
unsigned D>
242 n_faces_set<N, D> fs;
249 template <
unsigned N,
unsigned D>
252 operator+(
const n_faces_set<N, D>& fs,
const algebraic_n_face<N, D>& f)
254 n_faces_set<N, D> fs2(fs);
259 template <
unsigned N,
unsigned D>
264 n_faces_set<N, D> fs2(fs);
269 template <
unsigned N,
unsigned D>
271 operator+=(n_faces_set<N, D>& fs,
const algebraic_n_face<N, D>& f)
281 template <
unsigned N,
unsigned D>
284 operator-(
const algebraic_n_face<N, D>& f1,
285 const algebraic_n_face<N, D>& f2)
287 n_faces_set<N, D> fs;
293 template <
unsigned N,
unsigned D>
298 n_faces_set<N, D> fs;
304 template <
unsigned N,
unsigned D>
309 n_faces_set<N, D> fs;
315 template <
unsigned N,
unsigned D>
320 n_faces_set<N, D> fs;
327 template <
unsigned N,
unsigned D>
330 operator-(
const n_faces_set<N, D>& fs,
const algebraic_n_face<N, D>& f)
332 n_faces_set<N, D> fs2(fs);
337 template <
unsigned N,
unsigned D>
342 n_faces_set<N, D> fs2(fs);
347 template <
unsigned N,
unsigned D>
349 operator-=(n_faces_set<N, D>& fs,
const algebraic_n_face<N, D>& f)
355 # endif // ! MLN_INCLUDE_ONLY
361 #endif // ! MLN_TOPO_N_FACES_SET_HH