\hypertarget{struct_ogre_1_1_hardware_buffer_lock_guard}{}\section{Ogre\+:\+:Hardware\+Buffer\+Lock\+Guard$<$ T $>$ Struct Template Reference}
\label{struct_ogre_1_1_hardware_buffer_lock_guard}\index{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard$<$ T $>$@{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard$<$ T $>$}}


Locking helper.  




{\ttfamily \#include $<$Ogre\+Hardware\+Buffer.\+h$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{struct_ogre_1_1_hardware_buffer_lock_guard_ad9271b5aad5231370b381f585a5731a8}{Hardware\+Buffer\+Lock\+Guard} (const T \&p, \hyperlink{class_ogre_1_1_hardware_buffer_aac34930556f611928ec9157c04bd1b0f}{Hardware\+Buffer\+::\+Lock\+Options} options)
\item 
\hyperlink{struct_ogre_1_1_hardware_buffer_lock_guard_a1fb4fde0b732d3514560e04b0c879586}{Hardware\+Buffer\+Lock\+Guard} (const T \&p, size\+\_\+t offset, size\+\_\+t length, \hyperlink{class_ogre_1_1_hardware_buffer_aac34930556f611928ec9157c04bd1b0f}{Hardware\+Buffer\+::\+Lock\+Options} options)
\item 
\hyperlink{struct_ogre_1_1_hardware_buffer_lock_guard_a318992da74bc1a839fec5d3fc58c57db}{$\sim$\+Hardware\+Buffer\+Lock\+Guard} ()
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
const T \& \hyperlink{struct_ogre_1_1_hardware_buffer_lock_guard_a9bc4d578f99874bc5ca0db0919e0cdf3}{p\+Buf}
\item 
void $\ast$ \hyperlink{struct_ogre_1_1_hardware_buffer_lock_guard_afbd3bce916b40348121ab6de764238b2}{p\+Data}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename T$>$\newline
struct Ogre\+::\+Hardware\+Buffer\+Lock\+Guard$<$ T $>$}

Locking helper. 

Guaranteed unlocking even in case of exception. 

\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{struct_ogre_1_1_hardware_buffer_lock_guard_ad9271b5aad5231370b381f585a5731a8}\label{struct_ogre_1_1_hardware_buffer_lock_guard_ad9271b5aad5231370b381f585a5731a8}} 
\index{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard@{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard}!Hardware\+Buffer\+Lock\+Guard@{Hardware\+Buffer\+Lock\+Guard}}
\index{Hardware\+Buffer\+Lock\+Guard@{Hardware\+Buffer\+Lock\+Guard}!Ogre\+::\+Hardware\+Buffer\+Lock\+Guard@{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard}}
\subsubsection{\texorpdfstring{Hardware\+Buffer\+Lock\+Guard()}{HardwareBufferLockGuard()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\hyperlink{struct_ogre_1_1_hardware_buffer_lock_guard}{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard}$<$ T $>$\+::\hyperlink{struct_ogre_1_1_hardware_buffer_lock_guard}{Hardware\+Buffer\+Lock\+Guard} (\begin{DoxyParamCaption}\item[{const T \&}]{p,  }\item[{\hyperlink{class_ogre_1_1_hardware_buffer_aac34930556f611928ec9157c04bd1b0f}{Hardware\+Buffer\+::\+Lock\+Options}}]{options }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{struct_ogre_1_1_hardware_buffer_lock_guard_a1fb4fde0b732d3514560e04b0c879586}\label{struct_ogre_1_1_hardware_buffer_lock_guard_a1fb4fde0b732d3514560e04b0c879586}} 
\index{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard@{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard}!Hardware\+Buffer\+Lock\+Guard@{Hardware\+Buffer\+Lock\+Guard}}
\index{Hardware\+Buffer\+Lock\+Guard@{Hardware\+Buffer\+Lock\+Guard}!Ogre\+::\+Hardware\+Buffer\+Lock\+Guard@{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard}}
\subsubsection{\texorpdfstring{Hardware\+Buffer\+Lock\+Guard()}{HardwareBufferLockGuard()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\hyperlink{struct_ogre_1_1_hardware_buffer_lock_guard}{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard}$<$ T $>$\+::\hyperlink{struct_ogre_1_1_hardware_buffer_lock_guard}{Hardware\+Buffer\+Lock\+Guard} (\begin{DoxyParamCaption}\item[{const T \&}]{p,  }\item[{size\+\_\+t}]{offset,  }\item[{size\+\_\+t}]{length,  }\item[{\hyperlink{class_ogre_1_1_hardware_buffer_aac34930556f611928ec9157c04bd1b0f}{Hardware\+Buffer\+::\+Lock\+Options}}]{options }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{struct_ogre_1_1_hardware_buffer_lock_guard_a318992da74bc1a839fec5d3fc58c57db}\label{struct_ogre_1_1_hardware_buffer_lock_guard_a318992da74bc1a839fec5d3fc58c57db}} 
\index{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard@{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard}!````~Hardware\+Buffer\+Lock\+Guard@{$\sim$\+Hardware\+Buffer\+Lock\+Guard}}
\index{````~Hardware\+Buffer\+Lock\+Guard@{$\sim$\+Hardware\+Buffer\+Lock\+Guard}!Ogre\+::\+Hardware\+Buffer\+Lock\+Guard@{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard}}
\subsubsection{\texorpdfstring{$\sim$\+Hardware\+Buffer\+Lock\+Guard()}{~HardwareBufferLockGuard()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\hyperlink{struct_ogre_1_1_hardware_buffer_lock_guard}{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard}$<$ T $>$\+::$\sim$\hyperlink{struct_ogre_1_1_hardware_buffer_lock_guard}{Hardware\+Buffer\+Lock\+Guard} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



\subsection{Member Data Documentation}
\mbox{\Hypertarget{struct_ogre_1_1_hardware_buffer_lock_guard_a9bc4d578f99874bc5ca0db0919e0cdf3}\label{struct_ogre_1_1_hardware_buffer_lock_guard_a9bc4d578f99874bc5ca0db0919e0cdf3}} 
\index{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard@{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard}!p\+Buf@{p\+Buf}}
\index{p\+Buf@{p\+Buf}!Ogre\+::\+Hardware\+Buffer\+Lock\+Guard@{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard}}
\subsubsection{\texorpdfstring{p\+Buf}{pBuf}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
const T\& \hyperlink{struct_ogre_1_1_hardware_buffer_lock_guard}{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard}$<$ T $>$\+::p\+Buf}

\mbox{\Hypertarget{struct_ogre_1_1_hardware_buffer_lock_guard_afbd3bce916b40348121ab6de764238b2}\label{struct_ogre_1_1_hardware_buffer_lock_guard_afbd3bce916b40348121ab6de764238b2}} 
\index{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard@{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard}!p\+Data@{p\+Data}}
\index{p\+Data@{p\+Data}!Ogre\+::\+Hardware\+Buffer\+Lock\+Guard@{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard}}
\subsubsection{\texorpdfstring{p\+Data}{pData}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
void$\ast$ \hyperlink{struct_ogre_1_1_hardware_buffer_lock_guard}{Ogre\+::\+Hardware\+Buffer\+Lock\+Guard}$<$ T $>$\+::p\+Data}



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_hardware_buffer_8h}{Ogre\+Hardware\+Buffer.\+h}\end{DoxyCompactItemize}
