\hypertarget{classparadiseo_1_1smp_1_1_bimap}{}\doxysection{paradiseo\+::smp\+::Bimap$<$ A, B $>$ Class Template Reference} \label{classparadiseo_1_1smp_1_1_bimap}\index{paradiseo::smp::Bimap$<$ A, B $>$@{paradiseo::smp::Bimap$<$ A, B $>$}} {\ttfamily \#include $<$bimap.\+h$>$} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item void \mbox{\hyperlink{classparadiseo_1_1smp_1_1_bimap_ab118672fc2497e09a18f0dd5fdde8ed9}{add}} (A \&a, B \&b) \item std\+::map$<$ A, B $>$ \mbox{\hyperlink{classparadiseo_1_1smp_1_1_bimap_acdcccd859cedb1f7bf6e292b8542d9d1}{get\+Right}} () const \item std\+::map$<$ B, A $>$ \mbox{\hyperlink{classparadiseo_1_1smp_1_1_bimap_a058770b1594c01e6b2a3c976c2103543}{get\+Left}} () const \item void \mbox{\hyperlink{classparadiseo_1_1smp_1_1_bimap_aa742ae84781d968c4c665df5597e7352}{remove\+From\+Right}} (const A \&a) \item void \mbox{\hyperlink{classparadiseo_1_1smp_1_1_bimap_aac53e7274c24868d96f28ed83f86b9ec}{remove\+From\+Left}} (const B \&b) \item unsigned \mbox{\hyperlink{classparadiseo_1_1smp_1_1_bimap_a2609aae4bd4e6c6645a57d5debd54efe}{size}} () const \item bool \mbox{\hyperlink{classparadiseo_1_1smp_1_1_bimap_a85db01ac45656f4d52f90751d77d0ab6}{empty}} () const \end{DoxyCompactItemize} \doxysubsection*{Protected Attributes} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classparadiseo_1_1smp_1_1_bimap_a01d1b6ad10ddedf0c1d1e187df714e80}\label{classparadiseo_1_1smp_1_1_bimap_a01d1b6ad10ddedf0c1d1e187df714e80}} std\+::map$<$ A, B $>$ {\bfseries right\+Association} \item \mbox{\Hypertarget{classparadiseo_1_1smp_1_1_bimap_a7c9e2d13bca817d307bb3a22b0c952a4}\label{classparadiseo_1_1smp_1_1_bimap_a7c9e2d13bca817d307bb3a22b0c952a4}} std\+::map$<$ B, A $>$ {\bfseries left\+Association} \end{DoxyCompactItemize} \doxysubsection{Detailed Description} \subsubsection*{template$<$class A, class B$>$\newline class paradiseo\+::smp\+::\+Bimap$<$ A, B $>$} \mbox{\hyperlink{classparadiseo_1_1smp_1_1_bimap}{Bimap}} Bidirectional map in order to create a bijection between islands and vertices. A and B objects are stocked in two std\+::map, then if you would like to avoid instances duplications, template A and B with pointers. \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classparadiseo_1_1smp_1_1_bimap_ab118672fc2497e09a18f0dd5fdde8ed9}\label{classparadiseo_1_1smp_1_1_bimap_ab118672fc2497e09a18f0dd5fdde8ed9}} \index{paradiseo::smp::Bimap$<$ A, B $>$@{paradiseo::smp::Bimap$<$ A, B $>$}!add@{add}} \index{add@{add}!paradiseo::smp::Bimap$<$ A, B $>$@{paradiseo::smp::Bimap$<$ A, B $>$}} \doxysubsubsection{\texorpdfstring{add()}{add()}} {\footnotesize\ttfamily template$<$class A , class B $>$ \\ void \mbox{\hyperlink{classparadiseo_1_1smp_1_1_bimap}{paradiseo\+::smp\+::\+Bimap}}$<$ A, B $>$\+::add (\begin{DoxyParamCaption}\item[{A \&}]{a, }\item[{B \&}]{b }\end{DoxyParamCaption})} Add a relation \begin{DoxyParams}{Parameters} {\em A} & right key \\ \hline {\em B} & left key \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classparadiseo_1_1smp_1_1_bimap_a85db01ac45656f4d52f90751d77d0ab6}\label{classparadiseo_1_1smp_1_1_bimap_a85db01ac45656f4d52f90751d77d0ab6}} \index{paradiseo::smp::Bimap$<$ A, B $>$@{paradiseo::smp::Bimap$<$ A, B $>$}!empty@{empty}} \index{empty@{empty}!paradiseo::smp::Bimap$<$ A, B $>$@{paradiseo::smp::Bimap$<$ A, B $>$}} \doxysubsubsection{\texorpdfstring{empty()}{empty()}} {\footnotesize\ttfamily template$<$class A , class B $>$ \\ bool \mbox{\hyperlink{classparadiseo_1_1smp_1_1_bimap}{paradiseo\+::smp\+::\+Bimap}}$<$ A, B $>$\+::empty} Check if the bimap is empty \begin{DoxyReturn}{Returns} true if the bimap is empty \end{DoxyReturn} \mbox{\Hypertarget{classparadiseo_1_1smp_1_1_bimap_a058770b1594c01e6b2a3c976c2103543}\label{classparadiseo_1_1smp_1_1_bimap_a058770b1594c01e6b2a3c976c2103543}} \index{paradiseo::smp::Bimap$<$ A, B $>$@{paradiseo::smp::Bimap$<$ A, B $>$}!getLeft@{getLeft}} \index{getLeft@{getLeft}!paradiseo::smp::Bimap$<$ A, B $>$@{paradiseo::smp::Bimap$<$ A, B $>$}} \doxysubsubsection{\texorpdfstring{getLeft()}{getLeft()}} {\footnotesize\ttfamily template$<$class A , class B $>$ \\ std\+::map$<$ B, A $>$ \mbox{\hyperlink{classparadiseo_1_1smp_1_1_bimap}{paradiseo\+::smp\+::\+Bimap}}$<$ A, B $>$\+::get\+Left} Return a map which represents the left association. \begin{DoxyReturn}{Returns} left\+Association \end{DoxyReturn} \mbox{\Hypertarget{classparadiseo_1_1smp_1_1_bimap_acdcccd859cedb1f7bf6e292b8542d9d1}\label{classparadiseo_1_1smp_1_1_bimap_acdcccd859cedb1f7bf6e292b8542d9d1}} \index{paradiseo::smp::Bimap$<$ A, B $>$@{paradiseo::smp::Bimap$<$ A, B $>$}!getRight@{getRight}} \index{getRight@{getRight}!paradiseo::smp::Bimap$<$ A, B $>$@{paradiseo::smp::Bimap$<$ A, B $>$}} \doxysubsubsection{\texorpdfstring{getRight()}{getRight()}} {\footnotesize\ttfamily template$<$class A , class B $>$ \\ std\+::map$<$ A, B $>$ \mbox{\hyperlink{classparadiseo_1_1smp_1_1_bimap}{paradiseo\+::smp\+::\+Bimap}}$<$ A, B $>$\+::get\+Right} Return a map which represents the right association. \begin{DoxyReturn}{Returns} right\+Association \end{DoxyReturn} \mbox{\Hypertarget{classparadiseo_1_1smp_1_1_bimap_aac53e7274c24868d96f28ed83f86b9ec}\label{classparadiseo_1_1smp_1_1_bimap_aac53e7274c24868d96f28ed83f86b9ec}} \index{paradiseo::smp::Bimap$<$ A, B $>$@{paradiseo::smp::Bimap$<$ A, B $>$}!removeFromLeft@{removeFromLeft}} \index{removeFromLeft@{removeFromLeft}!paradiseo::smp::Bimap$<$ A, B $>$@{paradiseo::smp::Bimap$<$ A, B $>$}} \doxysubsubsection{\texorpdfstring{removeFromLeft()}{removeFromLeft()}} {\footnotesize\ttfamily template$<$class A , class B $>$ \\ void \mbox{\hyperlink{classparadiseo_1_1smp_1_1_bimap}{paradiseo\+::smp\+::\+Bimap}}$<$ A, B $>$\+::remove\+From\+Left (\begin{DoxyParamCaption}\item[{const B \&}]{b }\end{DoxyParamCaption})} Remove an association from a left key. \begin{DoxyParams}{Parameters} {\em Left} & key of the association to be removed. \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classparadiseo_1_1smp_1_1_bimap_aa742ae84781d968c4c665df5597e7352}\label{classparadiseo_1_1smp_1_1_bimap_aa742ae84781d968c4c665df5597e7352}} \index{paradiseo::smp::Bimap$<$ A, B $>$@{paradiseo::smp::Bimap$<$ A, B $>$}!removeFromRight@{removeFromRight}} \index{removeFromRight@{removeFromRight}!paradiseo::smp::Bimap$<$ A, B $>$@{paradiseo::smp::Bimap$<$ A, B $>$}} \doxysubsubsection{\texorpdfstring{removeFromRight()}{removeFromRight()}} {\footnotesize\ttfamily template$<$class A , class B $>$ \\ void \mbox{\hyperlink{classparadiseo_1_1smp_1_1_bimap}{paradiseo\+::smp\+::\+Bimap}}$<$ A, B $>$\+::remove\+From\+Right (\begin{DoxyParamCaption}\item[{const A \&}]{a }\end{DoxyParamCaption})} Remove an association from a right key. \begin{DoxyParams}{Parameters} {\em Right} & key of the association to be removed. \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classparadiseo_1_1smp_1_1_bimap_a2609aae4bd4e6c6645a57d5debd54efe}\label{classparadiseo_1_1smp_1_1_bimap_a2609aae4bd4e6c6645a57d5debd54efe}} \index{paradiseo::smp::Bimap$<$ A, B $>$@{paradiseo::smp::Bimap$<$ A, B $>$}!size@{size}} \index{size@{size}!paradiseo::smp::Bimap$<$ A, B $>$@{paradiseo::smp::Bimap$<$ A, B $>$}} \doxysubsubsection{\texorpdfstring{size()}{size()}} {\footnotesize\ttfamily template$<$class A , class B $>$ \\ unsigned \mbox{\hyperlink{classparadiseo_1_1smp_1_1_bimap}{paradiseo\+::smp\+::\+Bimap}}$<$ A, B $>$\+::size} Return the number of associations. \begin{DoxyReturn}{Returns} Size of bimap \end{DoxyReturn} The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item smp/src/bimap.\+h\item smp/src/bimap.\+cpp\end{DoxyCompactItemize}