\hypertarget{a00372}{
\section{mln::topo::complex$<$ D $>$ Class Template Reference}
\label{db/d7e/a00372}\index{mln::topo::complex@{mln::topo::complex}}
}


General complex of dimension {\ttfamily D}.  




{\ttfamily \#include $<$complex.hh$>$}

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef \hyperlink{a00374}{face\_\-bkd\_\-iter}$<$ D $>$ \hyperlink{a00372_a049ae5070d120d4f266f4a2a93d68cf0}{bkd\_\-citer}
\begin{DoxyCompactList}\small\item\em Backward \hyperlink{a00046}{mln::Iterator} type iterating on all faces. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00375}{face\_\-fwd\_\-iter}$<$ D $>$ \hyperlink{a00372_a71d744608c16c52824a6d8f1f5742f59}{fwd\_\-citer}
\begin{DoxyCompactList}\small\item\em Forward \hyperlink{a00046}{mln::Iterator} type iterating on all faces. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
const void $\ast$ \hyperlink{a00372_a1ee6df928ee003683edd8bc39e5ef7a9}{addr} () const 
\begin{DoxyCompactList}\small\item\em Get the address of the data of this complex. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}{\bf }\par
{\em \label{_amgrpd41d8cd98f00b204e9800998ecf8427e}
 }\begin{DoxyCompactItemize}
\item 
\hyperlink{a00372_abbc47af4c30f5b9bda99a6e590c9438d}{complex} ()
\begin{DoxyCompactList}\small\item\em Complex construction. \item\end{DoxyCompactList}\item 
\hyperlink{a00379}{n\_\-face}$<$ 0u, D $>$ \hyperlink{a00372_a85051216c1562f9a8e2b7e97bbc9fb92}{add\_\-face} ()
\begin{DoxyCompactList}\small\item\em Add a 0-\/face to the complex. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$unsigned N$>$ }\\\hyperlink{a00379}{n\_\-face}$<$ N+1, D $>$ \hyperlink{a00372_a2e9a62f23979df9b456cdad46b2bafa0}{add\_\-face} (const \hyperlink{a00382}{n\_\-faces\_\-set}$<$ N, D $>$ \&adjacent\_\-faces)
\begin{DoxyCompactList}\small\item\em Add a {\ttfamily }(N+1)-\/face to the complex (with {\ttfamily N} $>$= 0). \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf }\par
{\em \label{_amgrpd41d8cd98f00b204e9800998ecf8427e}
 }\begin{DoxyCompactItemize}
\item 
unsigned \hyperlink{a00372_adda701078c95f4a22abf5180eddd7191}{nfaces} () const 
\begin{DoxyCompactList}\small\item\em Static manipulators. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$unsigned N$>$ }\\unsigned \hyperlink{a00372_af2167bedf4e23a139502f1af8556daeb}{nfaces\_\-of\_\-static\_\-dim} () const 
\begin{DoxyCompactList}\small\item\em Return the number of {\ttfamily N-\/faces}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf }\par
{\em \label{_amgrpd41d8cd98f00b204e9800998ecf8427e}
 }\begin{DoxyCompactItemize}
\item 
unsigned \hyperlink{a00372_ab6fc39699eb34e66c080e3a2430d7a57}{nfaces\_\-of\_\-dim} (unsigned n) const 
\begin{DoxyCompactList}\small\item\em Dynamic manipulators. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf }\par
{\em \label{_amgrpd41d8cd98f00b204e9800998ecf8427e}
 }\begin{DoxyCompactItemize}
\item 
void \hyperlink{a00372_ae282babcea262ccd95816cfb411ec85e}{print} (std::ostream \&ostr) const 
\begin{DoxyCompactList}\small\item\em Pretty-\/printing. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$unsigned N$>$ }\\void \hyperlink{a00372_a86cc0a936dc0505e9fb57f2cd335767d}{print\_\-faces} (std::ostream \&ostr) const 
\begin{DoxyCompactList}\small\item\em Print the faces of dimension {\ttfamily N}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}


\subsection{Detailed Description}
\subsubsection*{template$<$unsigned D$>$ class mln::topo::complex$<$ D $>$}

General complex of dimension {\ttfamily D}. 

Definition at line 87 of file complex.hh.



\subsection{Member Typedef Documentation}
\hypertarget{a00372_a049ae5070d120d4f266f4a2a93d68cf0}{
\index{mln::topo::complex@{mln::topo::complex}!bkd\_\-citer@{bkd\_\-citer}}
\index{bkd\_\-citer@{bkd\_\-citer}!mln::topo::complex@{mln::topo::complex}}
\subsubsection[{bkd\_\-citer}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned D$>$ typedef {\bf face\_\-bkd\_\-iter}$<$D$>$ {\bf mln::topo::complex}$<$ D $>$::{\bf bkd\_\-citer}}}
\label{db/d7e/a00372_a049ae5070d120d4f266f4a2a93d68cf0}


Backward \hyperlink{a00046}{mln::Iterator} type iterating on all faces. 



Definition at line 93 of file complex.hh.

\hypertarget{a00372_a71d744608c16c52824a6d8f1f5742f59}{
\index{mln::topo::complex@{mln::topo::complex}!fwd\_\-citer@{fwd\_\-citer}}
\index{fwd\_\-citer@{fwd\_\-citer}!mln::topo::complex@{mln::topo::complex}}
\subsubsection[{fwd\_\-citer}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned D$>$ typedef {\bf face\_\-fwd\_\-iter}$<$D$>$ {\bf mln::topo::complex}$<$ D $>$::{\bf fwd\_\-citer}}}
\label{db/d7e/a00372_a71d744608c16c52824a6d8f1f5742f59}


Forward \hyperlink{a00046}{mln::Iterator} type iterating on all faces. 



Definition at line 91 of file complex.hh.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a00372_abbc47af4c30f5b9bda99a6e590c9438d}{
\index{mln::topo::complex@{mln::topo::complex}!complex@{complex}}
\index{complex@{complex}!mln::topo::complex@{mln::topo::complex}}
\subsubsection[{complex}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned D$>$ {\bf mln::topo::complex}$<$ D $>$::{\bf complex} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d7e/a00372_abbc47af4c30f5b9bda99a6e590c9438d}


Complex construction. 

Create a new {\ttfamily D-\/complex}. 

Definition at line 471 of file complex.hh.



\subsection{Member Function Documentation}
\hypertarget{a00372_a85051216c1562f9a8e2b7e97bbc9fb92}{
\index{mln::topo::complex@{mln::topo::complex}!add\_\-face@{add\_\-face}}
\index{add\_\-face@{add\_\-face}!mln::topo::complex@{mln::topo::complex}}
\subsubsection[{add\_\-face}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned D$>$ {\bf n\_\-face}$<$ 0u, D $>$ mln::topo::complex$<$ D $>$::add\_\-face (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d7e/a00372_a85051216c1562f9a8e2b7e97bbc9fb92}


Add a 0-\/face to the complex. 



Definition at line 480 of file complex.hh.

\hypertarget{a00372_a2e9a62f23979df9b456cdad46b2bafa0}{
\index{mln::topo::complex@{mln::topo::complex}!add\_\-face@{add\_\-face}}
\index{add\_\-face@{add\_\-face}!mln::topo::complex@{mln::topo::complex}}
\subsubsection[{add\_\-face}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned D$>$ template$<$unsigned N$>$ {\bf n\_\-face}$<$ N+1, D $>$ {\bf mln::topo::complex}$<$ D $>$::add\_\-face (
\begin{DoxyParamCaption}
\item[{const {\bf n\_\-faces\_\-set}$<$ N, D $>$ \&}]{ adjacent\_\-faces}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d7e/a00372_a2e9a62f23979df9b456cdad46b2bafa0}


Add a {\ttfamily }(N+1)-\/face to the complex (with {\ttfamily N} $>$= 0). 


\begin{DoxyParams}{Parameters}
\item[{\em adjacent\_\-faces}]The ({\ttfamily N-\/1})-\/faces adjacent to the new {\ttfamily N-\/face}. \end{DoxyParams}


Definition at line 493 of file complex.hh.



References mln::topo::n\_\-faces\_\-set$<$ N, D $>$::faces().

\hypertarget{a00372_a1ee6df928ee003683edd8bc39e5ef7a9}{
\index{mln::topo::complex@{mln::topo::complex}!addr@{addr}}
\index{addr@{addr}!mln::topo::complex@{mln::topo::complex}}
\subsubsection[{addr}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned D$>$ const void $\ast$ {\bf mln::topo::complex}$<$ D $>$::addr (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d7e/a00372_a1ee6df928ee003683edd8bc39e5ef7a9}


Get the address of the data of this complex. 

This address is a concise and useful information to print and track the actual content of this complex. 

Definition at line 699 of file complex.hh.

\hypertarget{a00372_adda701078c95f4a22abf5180eddd7191}{
\index{mln::topo::complex@{mln::topo::complex}!nfaces@{nfaces}}
\index{nfaces@{nfaces}!mln::topo::complex@{mln::topo::complex}}
\subsubsection[{nfaces}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned D$>$ unsigned {\bf mln::topo::complex}$<$ D $>$::nfaces (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d7e/a00372_adda701078c95f4a22abf5180eddd7191}


Static manipulators. 

These methods use statically-\/known input.

Return the total number of faces, whatever their dimension. 

Definition at line 579 of file complex.hh.

\hypertarget{a00372_ab6fc39699eb34e66c080e3a2430d7a57}{
\index{mln::topo::complex@{mln::topo::complex}!nfaces\_\-of\_\-dim@{nfaces\_\-of\_\-dim}}
\index{nfaces\_\-of\_\-dim@{nfaces\_\-of\_\-dim}!mln::topo::complex@{mln::topo::complex}}
\subsubsection[{nfaces\_\-of\_\-dim}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned D$>$ unsigned {\bf mln::topo::complex}$<$ D $>$::nfaces\_\-of\_\-dim (
\begin{DoxyParamCaption}
\item[{unsigned}]{ n}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d7e/a00372_ab6fc39699eb34e66c080e3a2430d7a57}


Dynamic manipulators. 

These methods use input know as run time.

Return the number of {\itshape n-\/faces\/}.

Warning, this function has a complexity linear in term of N, since each \hyperlink{a00382}{n\_\-faces\_\-set} is checked (the present implementation does not provide a direct access to \hyperlink{a00382}{n\_\-faces\_\-set} through a dynamic value of the dimension). 

Definition at line 601 of file complex.hh.

\hypertarget{a00372_af2167bedf4e23a139502f1af8556daeb}{
\index{mln::topo::complex@{mln::topo::complex}!nfaces\_\-of\_\-static\_\-dim@{nfaces\_\-of\_\-static\_\-dim}}
\index{nfaces\_\-of\_\-static\_\-dim@{nfaces\_\-of\_\-static\_\-dim}!mln::topo::complex@{mln::topo::complex}}
\subsubsection[{nfaces\_\-of\_\-static\_\-dim}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned D$>$ template$<$unsigned N$>$ unsigned {\bf mln::topo::complex}$<$ D $>$::nfaces\_\-of\_\-static\_\-dim (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d7e/a00372_af2167bedf4e23a139502f1af8556daeb}


Return the number of {\ttfamily N-\/faces}. 



Definition at line 588 of file complex.hh.

\hypertarget{a00372_ae282babcea262ccd95816cfb411ec85e}{
\index{mln::topo::complex@{mln::topo::complex}!print@{print}}
\index{print@{print}!mln::topo::complex@{mln::topo::complex}}
\subsubsection[{print}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned D$>$ void {\bf mln::topo::complex}$<$ D $>$::print (
\begin{DoxyParamCaption}
\item[{std::ostream \&}]{ ostr}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d7e/a00372_ae282babcea262ccd95816cfb411ec85e}


Pretty-\/printing. 

Print the complex. 

Definition at line 679 of file complex.hh.



Referenced by mln::topo::operator$<$$<$().

\hypertarget{a00372_a86cc0a936dc0505e9fb57f2cd335767d}{
\index{mln::topo::complex@{mln::topo::complex}!print\_\-faces@{print\_\-faces}}
\index{print\_\-faces@{print\_\-faces}!mln::topo::complex@{mln::topo::complex}}
\subsubsection[{print\_\-faces}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned D$>$ template$<$unsigned N$>$ void {\bf mln::topo::complex}$<$ D $>$::print\_\-faces (
\begin{DoxyParamCaption}
\item[{std::ostream \&}]{ ostr}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d7e/a00372_a86cc0a936dc0505e9fb57f2cd335767d}


Print the faces of dimension {\ttfamily N}. 



Definition at line 688 of file complex.hh.

