\doxysection{Graph Class Reference}
\hypertarget{class_graph}{}\label{class_graph}\index{Graph@{Graph}}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\doxymbox{\hyperlink{class_graph_a230f67d1097f0a88f1cded9be1040ce9}{Graph}} (size\+\_\+t max\+Points, size\+\_\+t max\+Edges) noexcept
\item 
\doxymbox{\hyperlink{class_graph_a902c5b3eacb66d60752525ab23297a95}{\texorpdfstring{$\sim$}{\string~}\+Graph}} ()
\item 
\doxymbox{\hyperlink{class_graph_a61af63f3d00e297e91772b482de3dc74}{Graph}} (\doxymbox{\hyperlink{class_graph}{Graph}} \&\&other) noexcept
\item 
\doxymbox{\hyperlink{struct_edge}{Edge}} \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{class_graph_a81382d6a8dffca97d8e3c8e00faf7cf6}{get\+\_\+p\+\_\+edges}} (int p\+\_\+index) noexcept
\item 
void \doxymbox{\hyperlink{class_graph_af96ec89a386c4b1f8e74619bc7b028cc}{add\+\_\+edge}} (int start\+\_\+point\+\_\+index, int end\+\_\+point\+\_\+index) noexcept
\item 
\Hypertarget{class_graph_a2f9dee7e816e54dfd01e1e3a6183dc56}\label{class_graph_a2f9dee7e816e54dfd01e1e3a6183dc56} 
{\bfseries Graph} (const \doxymbox{\hyperlink{class_graph}{Graph}} \&)=delete
\item 
\Hypertarget{class_graph_a05cae32d4ce8cf857a1c8d35a32024cd}\label{class_graph_a05cae32d4ce8cf857a1c8d35a32024cd} 
\doxymbox{\hyperlink{class_graph}{Graph}} \& {\bfseries operator=} (const \doxymbox{\hyperlink{class_graph}{Graph}} \&)=delete
\end{DoxyCompactItemize}


\label{doc-constructors}
\Hypertarget{class_graph_doc-constructors}
\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{class_graph_a230f67d1097f0a88f1cded9be1040ce9}\index{Graph@{Graph}!Graph@{Graph}}
\index{Graph@{Graph}!Graph@{Graph}}
\doxysubsubsection{\texorpdfstring{Graph()}{Graph()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{class_graph_a230f67d1097f0a88f1cded9be1040ce9} 
Graph::\+\+Graph (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{max\+\_\+points}{, }\item[{size\+\_\+t}]{max\+\_\+edges}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [noexcept]}}

Constructor Creates a new \doxylink{class_graph}{Graph} object


\begin{DoxyParams}{Parameters}
{\em max\+\_\+points} & :\+ Maximum number of points in the \doxylink{class_graph}{Graph} \\
\hline
{\em max\+\_\+edges} & :\+ Maximum number of edges in the GRAPH (not the point) \\
\hline
\end{DoxyParams}
\Hypertarget{class_graph_a902c5b3eacb66d60752525ab23297a95}\index{Graph@{Graph}!````~Graph@{\texorpdfstring{$\sim$}{\string~}Graph}}
\index{````~Graph@{\texorpdfstring{$\sim$}{\string~}Graph}!Graph@{Graph}}
\doxysubsubsection{\texorpdfstring{\texorpdfstring{$\sim$}{\string~}Graph()}{\string~Graph()}}
{\footnotesize\ttfamily \label{class_graph_a902c5b3eacb66d60752525ab23297a95} 
Graph::\+\texorpdfstring{$\sim$}{\string~}\+Graph (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}

Deconstruction NOTE on the \textquotesingle{}\doxylink{class_graph_a902c5b3eacb66d60752525ab23297a95}{\texorpdfstring{$\sim$}{\string~}\+Graph()}\textquotesingle{}:\+ The \texorpdfstring{$\sim$}{\string~} flags this block as a deconstructor. It makes it so this runs before the object is removed from memory preventing memory leaks Find the memory buffers pointed to by all\+\_\+points and all\+\_\+edges, and mark that memory as available for other programs to use. \Hypertarget{class_graph_a61af63f3d00e297e91772b482de3dc74}\index{Graph@{Graph}!Graph@{Graph}}
\index{Graph@{Graph}!Graph@{Graph}}
\doxysubsubsection{\texorpdfstring{Graph()}{Graph()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{class_graph_a61af63f3d00e297e91772b482de3dc74} 
Graph::\+\+Graph (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{class_graph}{Graph}} \&\&}]{other}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [noexcept]}}

Move Constructor Instructions to move the current graph object from one memory location to another without copying 

\label{doc-func-members}
\Hypertarget{class_graph_doc-func-members}
\doxysubsection{Member Function Documentation}
\Hypertarget{class_graph_af96ec89a386c4b1f8e74619bc7b028cc}\index{Graph@{Graph}!add\_edge@{add\_edge}}
\index{add\_edge@{add\_edge}!Graph@{Graph}}
\doxysubsubsection{\texorpdfstring{add\_edge()}{add\_edge()}}
{\footnotesize\ttfamily \label{class_graph_af96ec89a386c4b1f8e74619bc7b028cc} 
void Graph::\+add\+\_\+edge (\begin{DoxyParamCaption}\item[{int}]{start\+\_\+point\+\_\+index}{, }\item[{int}]{end\+\_\+point\+\_\+index}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [noexcept]}}

add\+\_\+edge Adds an edge between two points


\begin{DoxyParams}{Parameters}
{\em start\+\_\+point\+\_\+index} & :\+ the index of the starting point \\
\hline
{\em end\+\_\+point\+\_\+index} & :\+ the index of the ending point \\
\hline
\end{DoxyParams}
\Hypertarget{class_graph_a81382d6a8dffca97d8e3c8e00faf7cf6}\index{Graph@{Graph}!get\_p\_edges@{get\_p\_edges}}
\index{get\_p\_edges@{get\_p\_edges}!Graph@{Graph}}
\doxysubsubsection{\texorpdfstring{get\_p\_edges()}{get\_p\_edges()}}
{\footnotesize\ttfamily \label{class_graph_a81382d6a8dffca97d8e3c8e00faf7cf6} 
\doxymbox{\hyperlink{struct_edge}{Edge}} \texorpdfstring{$\ast$}{*} Graph::\+get\+\_\+p\+\_\+edges (\begin{DoxyParamCaption}\item[{int}]{p\+\_\+index}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [noexcept]}}

Getter Function:\+ get\+\_\+p\+\_\+edges Gets the address of the first edge for \doxylink{struct_point}{Point} P at index p\+\_\+index


\begin{DoxyParams}{Parameters}
{\em p\+\_\+index} & :\+ The index (int) of the point \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Edge\texorpdfstring{$\ast$}{*} :\+ the address of the first edge for p\+\_\+index 
\end{DoxyReturn}


The documentation for this class was generated from the following files:\+\begin{DoxyCompactItemize}
\item 
graph.\+h\item 
Graph.\+cpp\end{DoxyCompactItemize}
