\section{Buffer Class Reference}
\label{classBuffer}\index{Buffer@{Buffer}}
{\tt \#include $<$buffer.h$>$}

Inheritance diagram for Buffer::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3cm]{classBuffer}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf Buffer} ()
\item 
{\bf Buffer} ({\bf u\_\-int32\_\-t} length)
\item 
{\bf Buffer} ({\bf u\_\-int8\_\-t} $\ast$data, {\bf u\_\-int32\_\-t} length)
\item 
virtual {\bf $\sim$Buffer} ()
\item 
{\bf Buffer} (const {\bf Buffer} \&src)
\item 
void {\bf operator=} (const {\bf Buffer} \&src)
\item 
void {\bf operator=} (const {\bf seq\_\-nr\_\-t} \&src)
\item 
void {\bf operator=} (const {\bf sender\_\-id\_\-t} \&src)
\item 
virtual {\bf Buffer} {\bf operator$^\wedge$} (const {\bf Buffer} \&xor\_\-by) const 
\item 
virtual {\bf Buffer} {\bf left\-Byte\-Shift} ({\bf u\_\-int32\_\-t} width) const
\item 
virtual {\bf Buffer} {\bf right\-Byte\-Shift} ({\bf u\_\-int32\_\-t} width) const
\item 
{\bf u\_\-int32\_\-t} {\bf resize\-Front} ({\bf u\_\-int32\_\-t} new\_\-length)
\item 
{\bf u\_\-int32\_\-t} {\bf resize\-Back} ({\bf u\_\-int32\_\-t} new\_\-length)
\item 
{\bf u\_\-int32\_\-t} {\bf get\-Length} () const
\item 
{\bf u\_\-int8\_\-t} $\ast$ {\bf get\-Buf} ()
\item 
{\bf u\_\-int8\_\-t} \& {\bf operator[$\,$]} ({\bf u\_\-int32\_\-t} index)
\item 
{\bf u\_\-int8\_\-t} {\bf operator[$\,$]} ({\bf u\_\-int32\_\-t} index) const
\item 
void {\bf print\-Hex\-Dump} () const
\item 
{\bf operator u\_\-int8\_\-t $\ast$} ()
\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
{\bf u\_\-int8\_\-t} $\ast$ {\bf buf\_\-}
\item 
{\bf u\_\-int32\_\-t} {\bf length\_\-}
\end{CompactItemize}
\subsection*{Friends}
\begin{CompactItemize}
\item 
class {\bf Tun\-Device}
\item 
class {\bf UDPPacket\-Source}
\end{CompactItemize}


\subsection{Constructor \& Destructor Documentation}
\index{Buffer@{Buffer}!Buffer@{Buffer}}
\index{Buffer@{Buffer}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Buffer::Buffer ()}\label{classBuffer_e7ef2cd201190fde551dcb902627112b}


\index{Buffer@{Buffer}!Buffer@{Buffer}}
\index{Buffer@{Buffer}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Buffer::Buffer ({\bf u\_\-int32\_\-t} {\em length})}\label{classBuffer_5c58aa9e491f709011408ee7837d57d0}


\index{Buffer@{Buffer}!Buffer@{Buffer}}
\index{Buffer@{Buffer}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Buffer::Buffer ({\bf u\_\-int8\_\-t} $\ast$ {\em data}, {\bf u\_\-int32\_\-t} {\em length})}\label{classBuffer_5bc2edccfb7c1a33354c895ab25c4816}


\index{Buffer@{Buffer}!~Buffer@{$\sim$Buffer}}
\index{~Buffer@{$\sim$Buffer}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Buffer::$\sim$Buffer ()\hspace{0.3cm}{\tt  [virtual]}}\label{classBuffer_59b8743e4a5f731bdd0c4185c9ef263b}


\index{Buffer@{Buffer}!Buffer@{Buffer}}
\index{Buffer@{Buffer}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Buffer::Buffer (const {\bf Buffer} \& {\em src})}\label{classBuffer_042fe5bc1f8d0c25d5707d6955d1654c}




\subsection{Member Function Documentation}
\index{Buffer@{Buffer}!operator=@{operator=}}
\index{operator=@{operator=}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Buffer::operator= (const {\bf Buffer} \& {\em src})}\label{classBuffer_14cec0d3bf4f3f1a4a9930a8c53eb43a}


\index{Buffer@{Buffer}!operator=@{operator=}}
\index{operator=@{operator=}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Buffer::operator= (const {\bf seq\_\-nr\_\-t} \& {\em src})}\label{classBuffer_b62dfbb5605a860aa63771f3b1c29b1e}


\index{Buffer@{Buffer}!operator=@{operator=}}
\index{operator=@{operator=}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Buffer::operator= (const {\bf sender\_\-id\_\-t} \& {\em src})}\label{classBuffer_b3bda89f495b3895a533155f593ab503}


\index{Buffer@{Buffer}!operator^@{operator$^\wedge$}}
\index{operator^@{operator$^\wedge$}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Buffer} Buffer::operator$^\wedge$ (const {\bf Buffer} \& {\em xor\_\-by}) const\hspace{0.3cm}{\tt  [virtual]}}\label{classBuffer_d56159a415541fcff34ef8aed1eb7183}


\index{Buffer@{Buffer}!leftByteShift@{leftByteShift}}
\index{leftByteShift@{leftByteShift}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Buffer} Buffer::left\-Byte\-Shift ({\bf u\_\-int32\_\-t} {\em width}) const\hspace{0.3cm}{\tt  [virtual]}}\label{classBuffer_13200a4925b1b3c08f99e09ccb6854a1}


\index{Buffer@{Buffer}!rightByteShift@{rightByteShift}}
\index{rightByteShift@{rightByteShift}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Buffer} Buffer::right\-Byte\-Shift ({\bf u\_\-int32\_\-t} {\em width}) const\hspace{0.3cm}{\tt  [virtual]}}\label{classBuffer_298949899f3f78e4a8b3df7fa5ec532d}


\index{Buffer@{Buffer}!resizeFront@{resizeFront}}
\index{resizeFront@{resizeFront}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf u\_\-int32\_\-t} Buffer::resize\-Front ({\bf u\_\-int32\_\-t} {\em new\_\-length})}\label{classBuffer_fe4b10487b4930e0407bdf61857629d6}


\index{Buffer@{Buffer}!resizeBack@{resizeBack}}
\index{resizeBack@{resizeBack}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf u\_\-int32\_\-t} Buffer::resize\-Back ({\bf u\_\-int32\_\-t} {\em new\_\-length})}\label{classBuffer_5698b2d64238f1f38578dc8e9e2b1bc9}


\index{Buffer@{Buffer}!getLength@{getLength}}
\index{getLength@{getLength}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf u\_\-int32\_\-t} Buffer::get\-Length () const}\label{classBuffer_09ced241e4d0a46c52f0f20398076435}


\index{Buffer@{Buffer}!getBuf@{getBuf}}
\index{getBuf@{getBuf}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf u\_\-int8\_\-t} $\ast$ Buffer::get\-Buf ()}\label{classBuffer_7890e20c6c77eb631c39728ea08b35b8}


\index{Buffer@{Buffer}!operator[]@{operator[]}}
\index{operator[]@{operator[]}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf u\_\-int8\_\-t} \& Buffer::operator[$\,$] ({\bf u\_\-int32\_\-t} {\em index})}\label{classBuffer_763882c627db10206f78b090556b00fa}


\index{Buffer@{Buffer}!operator[]@{operator[]}}
\index{operator[]@{operator[]}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf u\_\-int8\_\-t} Buffer::operator[$\,$] ({\bf u\_\-int32\_\-t} {\em index}) const}\label{classBuffer_e5a9559862374ebd9dfcfc1204890497}


\index{Buffer@{Buffer}!printHexDump@{printHexDump}}
\index{printHexDump@{printHexDump}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Buffer::print\-Hex\-Dump () const}\label{classBuffer_13d927c471a7516b37bc9ad8fc1741ce}


\index{Buffer@{Buffer}!operator u_int8_t *@{operator u\_\-int8\_\-t $\ast$}}
\index{operator u_int8_t *@{operator u\_\-int8\_\-t $\ast$}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Buffer::operator {\bf u\_\-int8\_\-t} $\ast$ ()}\label{classBuffer_dcf367d5f1b7fced7aa61bb919af7943}




\subsection{Friends And Related Function Documentation}
\index{Buffer@{Buffer}!TunDevice@{TunDevice}}
\index{TunDevice@{TunDevice}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}friend class {\bf Tun\-Device}\hspace{0.3cm}{\tt  [friend]}}\label{classBuffer_51b494563d277beb4740f86c519f30fb}


\index{Buffer@{Buffer}!UDPPacketSource@{UDPPacketSource}}
\index{UDPPacketSource@{UDPPacketSource}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}friend class {\bf UDPPacket\-Source}\hspace{0.3cm}{\tt  [friend]}}\label{classBuffer_940a382a5e3a8622e6689e13dc453481}




\subsection{Member Data Documentation}
\index{Buffer@{Buffer}!buf_@{buf\_\-}}
\index{buf_@{buf\_\-}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf u\_\-int8\_\-t}$\ast$ {\bf Buffer::buf\_\-}\hspace{0.3cm}{\tt  [protected]}}\label{classBuffer_e60240b77a315e6b3c2bf88592d0be48}


\index{Buffer@{Buffer}!length_@{length\_\-}}
\index{length_@{length\_\-}!Buffer@{Buffer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf u\_\-int32\_\-t} {\bf Buffer::length\_\-}\hspace{0.3cm}{\tt  [protected]}}\label{classBuffer_d3a779d2403b5183427f12554e2f51c3}




The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
{\bf buffer.h}\item 
{\bf buffer.cpp}\end{CompactItemize}
