\hypertarget{classLinkedlist}{}\doxysection{Linkedlist$<$ T $>$ Class Template Reference}
\label{classLinkedlist}\index{Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}}


Doubly Linked List Implementation.  




{\ttfamily \#include $<$utils.\+h$>$}

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classLinkedlist_a9d3d07267a32585bfb0a1ed34995d47d}{Linkedlist}} ()
\begin{DoxyCompactList}\small\item\em Default constructor for \mbox{\hyperlink{classLinkedlist}{Linkedlist}}. \end{DoxyCompactList}\item 
uint32\+\_\+t \mbox{\hyperlink{classLinkedlist_a33c359b4db358fce4e51490dd4013f92}{len}} ()
\begin{DoxyCompactList}\small\item\em Get the length of the linked list. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classLinkedlist_af18b0e5bdb5f8536f1073e34eb1a00c0}{push}} (T data)
\begin{DoxyCompactList}\small\item\em Pushes a new element onto the back of the linked list. \end{DoxyCompactList}\item 
T $\ast$ \mbox{\hyperlink{classLinkedlist_a5201a58dae7f9922eb4a90d6d1aa7b19}{back}} ()
\begin{DoxyCompactList}\small\item\em Returns the element at the back of the linked list. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classLinkedlist_a0061d3a36b8272baf0adc40ca2ef24e9}{pop}} ()
\begin{DoxyCompactList}\small\item\em Pops the element at the back of the linked list. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classLLNode}{LLNode}}$<$ T $>$ $\ast$ \mbox{\hyperlink{classLinkedlist_a26f37b7886a7b3473be9d431a00419d0}{ghost}}
\begin{DoxyCompactList}\small\item\em Ghost node for maintaining previous tails during pops. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classLLNode}{LLNode}}$<$ T $>$ $\ast$ \mbox{\hyperlink{classLinkedlist_a4af94c58928322ead6365664ac55eb9e}{head}}
\begin{DoxyCompactList}\small\item\em Pointer to the head of the linked list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classLLNode}{LLNode}}$<$ T $>$ $\ast$ \mbox{\hyperlink{classLinkedlist_a9239abc6a88f6f6041f72e7e0a3a0d6e}{tail}}
\begin{DoxyCompactList}\small\item\em Pointer to the tail of the linked list. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename T$>$\newline
class Linkedlist$<$ T $>$}

Doubly Linked List Implementation. 

The {\ttfamily \mbox{\hyperlink{classLinkedlist}{Linkedlist}}} class provides a simple implementation of a doubly linked list. It supports basic operations such as pushing elements onto the back, getting the length, accessing the element at the back, and popping the element at the back.


\begin{DoxyTemplParams}{Template Parameters}
{\em T} & The type of data to store in the linked list. \\
\hline
\end{DoxyTemplParams}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classLinkedlist_a9d3d07267a32585bfb0a1ed34995d47d}\label{classLinkedlist_a9d3d07267a32585bfb0a1ed34995d47d}} 
\index{Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}!Linkedlist@{Linkedlist}}
\index{Linkedlist@{Linkedlist}!Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{Linkedlist()}{Linkedlist()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{classLinkedlist}{Linkedlist}}$<$ T $>$\+::\mbox{\hyperlink{classLinkedlist}{Linkedlist}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Default constructor for \mbox{\hyperlink{classLinkedlist}{Linkedlist}}. 



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classLinkedlist_a5201a58dae7f9922eb4a90d6d1aa7b19}\label{classLinkedlist_a5201a58dae7f9922eb4a90d6d1aa7b19}} 
\index{Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}!back@{back}}
\index{back@{back}!Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{back()}{back()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
T$\ast$ \mbox{\hyperlink{classLinkedlist}{Linkedlist}}$<$ T $>$\+::back (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Returns the element at the back of the linked list. 

\begin{DoxyReturn}{Returns}
The element at the back of the linked list. 
\end{DoxyReturn}
\mbox{\Hypertarget{classLinkedlist_a33c359b4db358fce4e51490dd4013f92}\label{classLinkedlist_a33c359b4db358fce4e51490dd4013f92}} 
\index{Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}!len@{len}}
\index{len@{len}!Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{len()}{len()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
uint32\+\_\+t \mbox{\hyperlink{classLinkedlist}{Linkedlist}}$<$ T $>$\+::len (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get the length of the linked list. 

\begin{DoxyReturn}{Returns}
The length of the linked list. 
\end{DoxyReturn}
\mbox{\Hypertarget{classLinkedlist_a0061d3a36b8272baf0adc40ca2ef24e9}\label{classLinkedlist_a0061d3a36b8272baf0adc40ca2ef24e9}} 
\index{Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}!pop@{pop}}
\index{pop@{pop}!Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{pop()}{pop()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
void \mbox{\hyperlink{classLinkedlist}{Linkedlist}}$<$ T $>$\+::pop (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Pops the element at the back of the linked list. 

\mbox{\Hypertarget{classLinkedlist_af18b0e5bdb5f8536f1073e34eb1a00c0}\label{classLinkedlist_af18b0e5bdb5f8536f1073e34eb1a00c0}} 
\index{Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}!push@{push}}
\index{push@{push}!Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{push()}{push()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
void \mbox{\hyperlink{classLinkedlist}{Linkedlist}}$<$ T $>$\+::push (\begin{DoxyParamCaption}\item[{T}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Pushes a new element onto the back of the linked list. 


\begin{DoxyParams}{Parameters}
{\em data} & The element to push onto the linked list. \\
\hline
\end{DoxyParams}


\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classLinkedlist_a26f37b7886a7b3473be9d431a00419d0}\label{classLinkedlist_a26f37b7886a7b3473be9d431a00419d0}} 
\index{Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}!ghost@{ghost}}
\index{ghost@{ghost}!Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{ghost}{ghost}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{classLLNode}{LLNode}}$<$T$>$$\ast$ \mbox{\hyperlink{classLinkedlist}{Linkedlist}}$<$ T $>$\+::ghost}



Ghost node for maintaining previous tails during pops. 

\mbox{\Hypertarget{classLinkedlist_a4af94c58928322ead6365664ac55eb9e}\label{classLinkedlist_a4af94c58928322ead6365664ac55eb9e}} 
\index{Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}!head@{head}}
\index{head@{head}!Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{head}{head}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{classLLNode}{LLNode}}$<$T$>$$\ast$ \mbox{\hyperlink{classLinkedlist}{Linkedlist}}$<$ T $>$\+::head}



Pointer to the head of the linked list. 

\mbox{\Hypertarget{classLinkedlist_a9239abc6a88f6f6041f72e7e0a3a0d6e}\label{classLinkedlist_a9239abc6a88f6f6041f72e7e0a3a0d6e}} 
\index{Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}!tail@{tail}}
\index{tail@{tail}!Linkedlist$<$ T $>$@{Linkedlist$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{tail}{tail}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{classLLNode}{LLNode}}$<$T$>$$\ast$ \mbox{\hyperlink{classLinkedlist}{Linkedlist}}$<$ T $>$\+::tail}



Pointer to the tail of the linked list. 



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
libgymbo/\mbox{\hyperlink{utils_8h}{utils.\+h}}\end{DoxyCompactItemize}
