\hypertarget{a00394}{
\section{mln::util::edge$<$ G $>$ Class Template Reference}
\label{d9/dad/a00394}\index{mln::util::edge@{mln::util::edge}}
}


\hyperlink{a00183}{Edge} of a graph {\ttfamily G}.  




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



Inherits mln::util::internal::edge\_\-impl\_\-$<$ G $>$.

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef \hyperlink{a00183}{Edge}$<$ void $>$ \hyperlink{a00394_ad3f870e6a81e16720d1dd64b9dda10ed}{category}
\begin{DoxyCompactList}\small\item\em \hyperlink{a00298}{Object} category. \item\end{DoxyCompactList}\item 
typedef G \hyperlink{a00394_a9b1f5919ecb1572a10caa7c739449885}{graph\_\-t}
\begin{DoxyCompactList}\small\item\em \hyperlink{a00040}{Graph} associated type. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00405}{edge\_\-id\_\-t} \hyperlink{a00394_aec34f62e564be50706ba204d9ad58d55}{id\_\-t}
\begin{DoxyCompactList}\small\item\em The edge type id. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00405_a5b383a38a30eabd27876734af6e50b15}{edge\_\-id\_\-t::value\_\-t} \hyperlink{a00394_a57bb0b6813111c17f756f3f45ea23cb9}{id\_\-value\_\-t}
\begin{DoxyCompactList}\small\item\em The underlying type used to store edge ids. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{Indent}{\bf }\par
{\em \label{_amgrpd41d8cd98f00b204e9800998ecf8427e}
 }\begin{DoxyCompactItemize}
\item 
\hyperlink{a00394_a21095e834adc07683213e594b686eafe}{edge} ()
\begin{DoxyCompactList}\small\item\em Constructors. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf }\par
{\em \label{_amgrpd41d8cd98f00b204e9800998ecf8427e}
 }\begin{DoxyCompactItemize}
\item 
bool \hyperlink{a00394_adc766857acd10ba878afc055680b3e5d}{is\_\-valid} () const 
\begin{DoxyCompactList}\small\item\em Misc. \item\end{DoxyCompactList}\item 
void \hyperlink{a00394_a7effb817ac1d78ae2c40409b4a4e9fa3}{invalidate} ()
\begin{DoxyCompactList}\small\item\em Invalidate that vertex. \item\end{DoxyCompactList}\item 
\hyperlink{a00405}{edge\_\-id\_\-t} \hyperlink{a00394_a61f0f04be18cfa900c386f984879065e}{id} () const 
\begin{DoxyCompactList}\small\item\em Return the edge id. \item\end{DoxyCompactList}\item 
void \hyperlink{a00394_a5d7fb9ac72adecf666ae2359e2c76baf}{update\_\-id} (const \hyperlink{a00405}{edge\_\-id\_\-t} \&id)
\begin{DoxyCompactList}\small\item\em Set id\_\- with {\ttfamily id};. \item\end{DoxyCompactList}\item 
\hyperlink{a00394_a4f856e70902ed3321a21ef2945c3ea80}{operator edge\_\-id\_\-t} () const 
\begin{DoxyCompactList}\small\item\em Conversion to the edge id. \item\end{DoxyCompactList}\item 
const G \& \hyperlink{a00394_a3e191161ec821ff5c8b4e4c7af3b5bf7}{graph} () const 
\begin{DoxyCompactList}\small\item\em Return a reference to the graph holding this edge. \item\end{DoxyCompactList}\item 
void \hyperlink{a00394_abeb776010e63da703ce0ba21b1c9dec0}{change\_\-graph} (const G \&g)
\begin{DoxyCompactList}\small\item\em Set g\_\- with {\ttfamily g};. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf }\par
{\em \label{_amgrpd41d8cd98f00b204e9800998ecf8427e}
 }\begin{DoxyCompactItemize}
\item 
\hyperlink{a00405}{vertex\_\-id\_\-t} \hyperlink{a00394_a8a6921abb34e73080da1dc53f7506dcb}{v\_\-other} (const \hyperlink{a00405}{vertex\_\-id\_\-t} \&id\_\-v) const 
\begin{DoxyCompactList}\small\item\em \hyperlink{a00439}{Vertex} and edges oriented. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf }\par
{\em \label{_amgrpd41d8cd98f00b204e9800998ecf8427e}
 }\begin{DoxyCompactItemize}
\item 
\hyperlink{a00405}{vertex\_\-id\_\-t} \hyperlink{a00394_afb6da54f64b205f92fc2e77ea0ed6f87}{v1} () const 
\begin{DoxyCompactList}\small\item\em \hyperlink{a00183}{Edge} oriented. \item\end{DoxyCompactList}\item 
\hyperlink{a00405}{vertex\_\-id\_\-t} \hyperlink{a00394_a377683d175c7dc8810600c2bd584b0bd}{v2} () const 
\begin{DoxyCompactList}\small\item\em Return the highest vertex id adjacent to this edge. \item\end{DoxyCompactList}\item 
size\_\-t \hyperlink{a00394_a741a35326e5388b2e056661029dc4324}{nmax\_\-nbh\_\-edges} () const 
\begin{DoxyCompactList}\small\item\em Return the number max of adjacent edges. \item\end{DoxyCompactList}\item 
\hyperlink{a00405}{edge\_\-id\_\-t} \hyperlink{a00394_abfa0b9216d50061b2c03ecdc9e27557b}{ith\_\-nbh\_\-edge} (unsigned i) const 
\begin{DoxyCompactList}\small\item\em Return the {\ttfamily i} th adjacent edge. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}


\subsection{Detailed Description}
\subsubsection*{template$<$typename G$>$ class mln::util::edge$<$ G $>$}

\hyperlink{a00183}{Edge} of a graph {\ttfamily G}. 

Definition at line 69 of file edge.hh.



\subsection{Member Typedef Documentation}
\hypertarget{a00394_ad3f870e6a81e16720d1dd64b9dda10ed}{
\index{mln::util::edge@{mln::util::edge}!category@{category}}
\index{category@{category}!mln::util::edge@{mln::util::edge}}
\subsubsection[{category}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G$>$ typedef {\bf Edge}$<$void$>$ {\bf mln::util::edge}$<$ G $>$::{\bf category}}}
\label{d9/dad/a00394_ad3f870e6a81e16720d1dd64b9dda10ed}


\hyperlink{a00298}{Object} category. 



Definition at line 73 of file edge.hh.

\hypertarget{a00394_a9b1f5919ecb1572a10caa7c739449885}{
\index{mln::util::edge@{mln::util::edge}!graph\_\-t@{graph\_\-t}}
\index{graph\_\-t@{graph\_\-t}!mln::util::edge@{mln::util::edge}}
\subsubsection[{graph\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G$>$ typedef G {\bf mln::util::edge}$<$ G $>$::{\bf graph\_\-t}}}
\label{d9/dad/a00394_a9b1f5919ecb1572a10caa7c739449885}


\hyperlink{a00040}{Graph} associated type. 



Definition at line 82 of file edge.hh.

\hypertarget{a00394_aec34f62e564be50706ba204d9ad58d55}{
\index{mln::util::edge@{mln::util::edge}!id\_\-t@{id\_\-t}}
\index{id\_\-t@{id\_\-t}!mln::util::edge@{mln::util::edge}}
\subsubsection[{id\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G$>$ typedef {\bf edge\_\-id\_\-t} {\bf mln::util::edge}$<$ G $>$::{\bf id\_\-t}}}
\label{d9/dad/a00394_aec34f62e564be50706ba204d9ad58d55}


The edge type id. 



Definition at line 79 of file edge.hh.

\hypertarget{a00394_a57bb0b6813111c17f756f3f45ea23cb9}{
\index{mln::util::edge@{mln::util::edge}!id\_\-value\_\-t@{id\_\-value\_\-t}}
\index{id\_\-value\_\-t@{id\_\-value\_\-t}!mln::util::edge@{mln::util::edge}}
\subsubsection[{id\_\-value\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G$>$ typedef {\bf edge\_\-id\_\-t::value\_\-t} {\bf mln::util::edge}$<$ G $>$::{\bf id\_\-value\_\-t}}}
\label{d9/dad/a00394_a57bb0b6813111c17f756f3f45ea23cb9}


The underlying type used to store edge ids. 



Definition at line 76 of file edge.hh.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a00394_a21095e834adc07683213e594b686eafe}{
\index{mln::util::edge@{mln::util::edge}!edge@{edge}}
\index{edge@{edge}!mln::util::edge@{mln::util::edge}}
\subsubsection[{edge}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G $>$ {\bf mln::util::edge}$<$ G $>$::{\bf edge} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/dad/a00394_a21095e834adc07683213e594b686eafe}


Constructors. 



Definition at line 227 of file edge.hh.



References mln::util::edge$<$ G $>$::invalidate().



\subsection{Member Function Documentation}
\hypertarget{a00394_abeb776010e63da703ce0ba21b1c9dec0}{
\index{mln::util::edge@{mln::util::edge}!change\_\-graph@{change\_\-graph}}
\index{change\_\-graph@{change\_\-graph}!mln::util::edge@{mln::util::edge}}
\subsubsection[{change\_\-graph}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G $>$ void {\bf mln::util::edge}$<$ G $>$::change\_\-graph (
\begin{DoxyParamCaption}
\item[{const G \&}]{ g}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/dad/a00394_abeb776010e63da703ce0ba21b1c9dec0}


Set g\_\- with {\ttfamily g};. 



Definition at line 290 of file edge.hh.

\hypertarget{a00394_a3e191161ec821ff5c8b4e4c7af3b5bf7}{
\index{mln::util::edge@{mln::util::edge}!graph@{graph}}
\index{graph@{graph}!mln::util::edge@{mln::util::edge}}
\subsubsection[{graph}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G $>$ const G \& {\bf mln::util::edge}$<$ G $>$::{\bf graph} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/dad/a00394_a3e191161ec821ff5c8b4e4c7af3b5bf7}


Return a reference to the graph holding this edge. 



Definition at line 282 of file edge.hh.



Referenced by mln::p\_\-edges$<$ G, F $>$::has(), and mln::util::line\_\-graph$<$ G $>$::has().

\hypertarget{a00394_a61f0f04be18cfa900c386f984879065e}{
\index{mln::util::edge@{mln::util::edge}!id@{id}}
\index{id@{id}!mln::util::edge@{mln::util::edge}}
\subsubsection[{id}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G $>$ {\bf edge\_\-id\_\-t} {\bf mln::util::edge}$<$ G $>$::id (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/dad/a00394_a61f0f04be18cfa900c386f984879065e}


Return the edge id. 



Definition at line 259 of file edge.hh.



Referenced by mln::util::line\_\-graph$<$ G $>$::has().

\hypertarget{a00394_a7effb817ac1d78ae2c40409b4a4e9fa3}{
\index{mln::util::edge@{mln::util::edge}!invalidate@{invalidate}}
\index{invalidate@{invalidate}!mln::util::edge@{mln::util::edge}}
\subsubsection[{invalidate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G $>$ void {\bf mln::util::edge}$<$ G $>$::invalidate (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/dad/a00394_a7effb817ac1d78ae2c40409b4a4e9fa3}


Invalidate that vertex. 



Definition at line 306 of file edge.hh.



Referenced by mln::util::edge$<$ G $>$::edge().

\hypertarget{a00394_adc766857acd10ba878afc055680b3e5d}{
\index{mln::util::edge@{mln::util::edge}!is\_\-valid@{is\_\-valid}}
\index{is\_\-valid@{is\_\-valid}!mln::util::edge@{mln::util::edge}}
\subsubsection[{is\_\-valid}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G $>$ bool {\bf mln::util::edge}$<$ G $>$::is\_\-valid (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/dad/a00394_adc766857acd10ba878afc055680b3e5d}


Misc. 

Return whether is points to a known edge. 

Definition at line 298 of file edge.hh.



Referenced by mln::p\_\-edges$<$ G, F $>$::has().

\hypertarget{a00394_abfa0b9216d50061b2c03ecdc9e27557b}{
\index{mln::util::edge@{mln::util::edge}!ith\_\-nbh\_\-edge@{ith\_\-nbh\_\-edge}}
\index{ith\_\-nbh\_\-edge@{ith\_\-nbh\_\-edge}!mln::util::edge@{mln::util::edge}}
\subsubsection[{ith\_\-nbh\_\-edge}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G $>$ {\bf edge\_\-id\_\-t} {\bf mln::util::edge}$<$ G $>$::ith\_\-nbh\_\-edge (
\begin{DoxyParamCaption}
\item[{unsigned}]{ i}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/dad/a00394_abfa0b9216d50061b2c03ecdc9e27557b}


Return the {\ttfamily i} th adjacent edge. 



Definition at line 351 of file edge.hh.

\hypertarget{a00394_a741a35326e5388b2e056661029dc4324}{
\index{mln::util::edge@{mln::util::edge}!nmax\_\-nbh\_\-edges@{nmax\_\-nbh\_\-edges}}
\index{nmax\_\-nbh\_\-edges@{nmax\_\-nbh\_\-edges}!mln::util::edge@{mln::util::edge}}
\subsubsection[{nmax\_\-nbh\_\-edges}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G $>$ size\_\-t {\bf mln::util::edge}$<$ G $>$::nmax\_\-nbh\_\-edges (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/dad/a00394_a741a35326e5388b2e056661029dc4324}


Return the number max of adjacent edges. 



Definition at line 342 of file edge.hh.

\hypertarget{a00394_a4f856e70902ed3321a21ef2945c3ea80}{
\index{mln::util::edge@{mln::util::edge}!operator edge\_\-id\_\-t@{operator edge\_\-id\_\-t}}
\index{operator edge\_\-id\_\-t@{operator edge\_\-id\_\-t}!mln::util::edge@{mln::util::edge}}
\subsubsection[{operator edge\_\-id\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G $>$ {\bf mln::util::edge}$<$ G $>$::operator {\bf edge\_\-id\_\-t} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/dad/a00394_a4f856e70902ed3321a21ef2945c3ea80}


Conversion to the edge id. 



Definition at line 274 of file edge.hh.

\hypertarget{a00394_a5d7fb9ac72adecf666ae2359e2c76baf}{
\index{mln::util::edge@{mln::util::edge}!update\_\-id@{update\_\-id}}
\index{update\_\-id@{update\_\-id}!mln::util::edge@{mln::util::edge}}
\subsubsection[{update\_\-id}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G $>$ void {\bf mln::util::edge}$<$ G $>$::update\_\-id (
\begin{DoxyParamCaption}
\item[{const {\bf edge\_\-id\_\-t} \&}]{ id}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/dad/a00394_a5d7fb9ac72adecf666ae2359e2c76baf}


Set id\_\- with {\ttfamily id};. 



Definition at line 267 of file edge.hh.

\hypertarget{a00394_afb6da54f64b205f92fc2e77ea0ed6f87}{
\index{mln::util::edge@{mln::util::edge}!v1@{v1}}
\index{v1@{v1}!mln::util::edge@{mln::util::edge}}
\subsubsection[{v1}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G $>$ {\bf vertex\_\-id\_\-t} {\bf mln::util::edge}$<$ G $>$::v1 (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/dad/a00394_afb6da54f64b205f92fc2e77ea0ed6f87}


\hyperlink{a00183}{Edge} oriented. 

Return the lowest vertex id adjacent to this edge. 

Definition at line 324 of file edge.hh.



Referenced by mln::util::edge$<$ G $>$::v\_\-other().

\hypertarget{a00394_a377683d175c7dc8810600c2bd584b0bd}{
\index{mln::util::edge@{mln::util::edge}!v2@{v2}}
\index{v2@{v2}!mln::util::edge@{mln::util::edge}}
\subsubsection[{v2}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G $>$ {\bf vertex\_\-id\_\-t} {\bf mln::util::edge}$<$ G $>$::v2 (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/dad/a00394_a377683d175c7dc8810600c2bd584b0bd}


Return the highest vertex id adjacent to this edge. 



Definition at line 333 of file edge.hh.



Referenced by mln::util::edge$<$ G $>$::v\_\-other().

\hypertarget{a00394_a8a6921abb34e73080da1dc53f7506dcb}{
\index{mln::util::edge@{mln::util::edge}!v\_\-other@{v\_\-other}}
\index{v\_\-other@{v\_\-other}!mln::util::edge@{mln::util::edge}}
\subsubsection[{v\_\-other}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G $>$ {\bf vertex\_\-id\_\-t} {\bf mln::util::edge}$<$ G $>$::v\_\-other (
\begin{DoxyParamCaption}
\item[{const {\bf vertex\_\-id\_\-t} \&}]{ id\_\-v}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/dad/a00394_a8a6921abb34e73080da1dc53f7506dcb}


\hyperlink{a00439}{Vertex} and edges oriented. 

Return the vertex id of this edge which is different from {\ttfamily id\_\-v}. 

Definition at line 315 of file edge.hh.



References mln::util::edge$<$ G $>$::v1(), and mln::util::edge$<$ G $>$::v2().

