mln::topo::internal Namespace Reference

Complex data. More...


Classes

struct  add_size
 A binary meta-functor defined by:. More...
class  adj_higher_dim_connected_n_face_iterator
class  adj_lower_dim_connected_n_face_iterator
class  adj_m_face_iterator
class  backward_complex_relative_iterator_base
 Factoring class for backward relative iterators on mln::complex. More...
struct  complex_data
 Complex data. More...
class  complex_iterator_base
 Factoring class for iterators on mln::complex. More...
class  complex_relative_iterator_base
 Factoring class for relative iterators on mln::complex. More...
class  complex_relative_iterator_sequence
 A meta relative iterator on the faces of a complex using two complex relative iterators sequentially. More...
class  complex_set_iterator_base
 Factoring class for (set) iterators on mln::complex. More...
struct  const_face_type_
struct  faces_set_mixin
 Faces of intermediate dimension (greater than 0, lower than D). More...
struct  faces_set_mixin< 0u, 0u >
 Faces of a 0-complex. More...
struct  faces_set_mixin< 0u, D >
 Faces of lowest dimension (0). More...
struct  faces_set_mixin< D, D >
 Faces of highest dimension (D). More...
class  forward_complex_relative_iterator_base
 Factoring class for forward relative iterators on mln::complex. More...
struct  get_size
 An unary meta-functor defined by:. More...
struct  higher_dim_adj_faces_if_dim_matches_
struct  higher_dim_adj_faces_if_dim_matches_< 0, D >
class  higher_dim_faces_data_mixin
struct  higher_dim_faces_set_mixin
struct  lower_dim_adj_faces_if_dim_matches_
struct  lower_dim_adj_faces_if_dim_matches_< 1, D >
class  lower_dim_faces_data_mixin
 Factored implementation of faces. More...
struct  lower_dim_faces_set_mixin
 Mixins of mixin mln::faces_set_mixin. More...

Functions

template<typename I1, typename I2, typename E>
std::ostream & operator<< (std::ostream &ostr, const complex_relative_iterator_sequence< I1, I2, E > &p)
 Print an mln::topo::internal::complex_relative_iterator_sequence.
template<typename F, typename E>
std::ostream & operator<< (std::ostream &ostr, const complex_iterator_base< F, E > &p)
 Print an mln::topo::internal::complex_iterator_base.


Detailed Description

Complex data.

Data is aggregated as follows in an mln::topo::complex<D>:


                   ,-----------> higher_dim_faces_set_mixin<0, D>
                   |
        faces_set_mixin<0, D> 
                 ^
                 |
                 | ,-----------> higher_dim_faces_set_mixin<1, D>
                 | | ,--------->  lower_dim_faces_set_mixin<1, D>
                 | | |           
        faces_set_mixin<1, D>
                 ^
                 |
                 |

                ...

                 ^
                 |
                 | ,-----------> higher_dim_faces_set_mixin<D - 1, D>
                 | | ,--------->  lower_dim_faces_set_mixin<D - 1, D>
                 | | |           
        faces_set_mixin<D - 1, D>
                 ^
                 |              
                 |   ,--------->  lower_dim_faces_set_mixin<D, D>
                 |   |           
        faces_set_mixin<D, D> 
                 ^
                 |
                 |
           complex_data<D> ----.  (shared data)
                               |
                               |
                ,--------------'
                |
                |
                `----<> tracked_ptr< complex_data<D> > ----<> complex<D>

        

An instance of mln::topo::internal::faces_set_mixin<N, D> stores the N-faces of a D-complex.

Classes mln::topo::internal::lower_dim_faces_set_mixin<N, D> are implementation classes factoring services related to complex data. The sets of n-faces of a complex are recursively aggregated as mixins.


Function Documentation

template<typename I1, typename I2, typename E>
std::ostream & mln::topo::internal::operator<< ( std::ostream &  ostr,
const complex_relative_iterator_sequence< I1, I2, E > &  p 
) [inline]

template<typename F, typename E>
std::ostream & mln::topo::internal::operator<< ( std::ostream &  ostr,
const complex_iterator_base< F, E > &  p 
) [inline]


Generated on Sun Apr 25 02:04:30 2010 for Milena (Olena) by  doxygen 1.5.6