\hypertarget{classebml_1_1writeLock__t}{}\section{ebml\+:\+:write\+Lock\+\_\+t Class Reference}
\label{classebml_1_1writeLock__t}\index{ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}}


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

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classebml_1_1writeLock__t_a24d2e4140da12fdbf4275a7f33690b79}{write\+Lock\+\_\+t}} (\mbox{\hyperlink{classebml_1_1writeLock__t}{write\+Lock\+\_\+t}} \&\&)
\item 
\mbox{\hyperlink{classebml_1_1writeLock__t}{write\+Lock\+\_\+t}} \& \mbox{\hyperlink{classebml_1_1writeLock__t_a92a0f8052660ba803dd78c5a4d159472}{operator=}} (\mbox{\hyperlink{classebml_1_1writeLock__t}{write\+Lock\+\_\+t}} \&\&)
\item 
\mbox{\hyperlink{classebml_1_1writeLock__t}{write\+Lock\+\_\+t}} \& \mbox{\hyperlink{classebml_1_1writeLock__t_aeb8ce2e058ab0fb370ff727ea6ef118e}{operator=}} (const \mbox{\hyperlink{classebml_1_1writeLock__t}{write\+Lock\+\_\+t}} \&)=delete
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classebml_1_1writeLock__t_ae0c3158e1ae3c39f48cc8ac5667e3322}{write\+Lock\+\_\+t}} (std\+::unique\+\_\+lock$<$ std\+::shared\+\_\+mutex $>$ \&\&, const \mbox{\hyperlink{classebml_1_1ebmlLazyLoad}{ebml\+Lazy\+Load}} $\ast$)
\item 
\mbox{\hyperlink{classebml_1_1writeLock__t_ae3d1d076317ec3ce2779d3ac412da17c}{write\+Lock\+\_\+t}} (std\+::vector$<$ std\+::shared\+\_\+lock$<$ std\+::shared\+\_\+mutex $>$$>$ \&\&, std\+::unique\+\_\+lock$<$ std\+::shared\+\_\+mutex $>$ \&\&, const \mbox{\hyperlink{classebml_1_1ebmlLazyLoad}{ebml\+Lazy\+Load}} $\ast$)
\item 
void \mbox{\hyperlink{classebml_1_1writeLock__t_a15b8531404ce62f977248f5648f010a1}{\+\_\+add\+To\+Cache}} (const \mbox{\hyperlink{classebml_1_1ebmlLazyLoad}{ebml\+Lazy\+Load}} $\ast$) const
\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
std\+::vector$<$ std\+::shared\+\_\+lock$<$ std\+::shared\+\_\+mutex $>$ $>$ \mbox{\hyperlink{classebml_1_1writeLock__t_a80219bb6509f26fd0b2b986bae3d11b2}{rlocks}}
\item 
std\+::unique\+\_\+lock$<$ std\+::shared\+\_\+mutex $>$ \mbox{\hyperlink{classebml_1_1writeLock__t_a1347d521f4cda794bcb05c172fb65afd}{wlock}}
\item 
const \mbox{\hyperlink{classebml_1_1ebmlLazyLoad}{ebml\+Lazy\+Load}} $\ast$ \mbox{\hyperlink{classebml_1_1writeLock__t_ac65db820f4b81b42aa44d8e5cc21de2a}{elem}}
\item 
std\+::unordered\+\_\+set$<$ const \mbox{\hyperlink{classebml_1_1ebmlLazyLoad}{ebml\+Lazy\+Load}} $\ast$ $>$ \mbox{\hyperlink{classebml_1_1writeLock__t_ab0a5966f6b4b0d20f0e92b25aad7a305}{cache}}
\item 
std\+::deque$<$ const \mbox{\hyperlink{classebml_1_1ebmlLazyLoad}{ebml\+Lazy\+Load}} $\ast$ $>$ \mbox{\hyperlink{classebml_1_1writeLock__t_ac68474d9d591f03dd2281b41c06a93fc}{order}}
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{classebml_1_1writeLock__t_aad23ae983ffddbcdf5fc3816bad4edc1}{ebml\+Lazy\+Load}}
\end{DoxyCompactItemize}


\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classebml_1_1writeLock__t_ae0c3158e1ae3c39f48cc8ac5667e3322}\label{classebml_1_1writeLock__t_ae0c3158e1ae3c39f48cc8ac5667e3322}} 
\index{ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}!write\+Lock\+\_\+t@{write\+Lock\+\_\+t}}
\index{write\+Lock\+\_\+t@{write\+Lock\+\_\+t}!ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}}
\subsubsection{\texorpdfstring{write\+Lock\+\_\+t()}{writeLock\_t()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily ebml\+::write\+Lock\+\_\+t\+::write\+Lock\+\_\+t (\begin{DoxyParamCaption}\item[{std\+::unique\+\_\+lock$<$ std\+::shared\+\_\+mutex $>$ \&\&}]{wlock,  }\item[{const \mbox{\hyperlink{classebml_1_1ebmlLazyLoad}{ebml\+Lazy\+Load}} $\ast$}]{elem }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classebml_1_1writeLock__t_ae3d1d076317ec3ce2779d3ac412da17c}\label{classebml_1_1writeLock__t_ae3d1d076317ec3ce2779d3ac412da17c}} 
\index{ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}!write\+Lock\+\_\+t@{write\+Lock\+\_\+t}}
\index{write\+Lock\+\_\+t@{write\+Lock\+\_\+t}!ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}}
\subsubsection{\texorpdfstring{write\+Lock\+\_\+t()}{writeLock\_t()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily ebml\+::write\+Lock\+\_\+t\+::write\+Lock\+\_\+t (\begin{DoxyParamCaption}\item[{std\+::vector$<$ std\+::shared\+\_\+lock$<$ std\+::shared\+\_\+mutex $>$$>$ \&\&}]{rlocks,  }\item[{std\+::unique\+\_\+lock$<$ std\+::shared\+\_\+mutex $>$ \&\&}]{wlock,  }\item[{const \mbox{\hyperlink{classebml_1_1ebmlLazyLoad}{ebml\+Lazy\+Load}} $\ast$}]{elem }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classebml_1_1writeLock__t_a24d2e4140da12fdbf4275a7f33690b79}\label{classebml_1_1writeLock__t_a24d2e4140da12fdbf4275a7f33690b79}} 
\index{ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}!write\+Lock\+\_\+t@{write\+Lock\+\_\+t}}
\index{write\+Lock\+\_\+t@{write\+Lock\+\_\+t}!ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}}
\subsubsection{\texorpdfstring{write\+Lock\+\_\+t()}{writeLock\_t()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily ebml\+::write\+Lock\+\_\+t\+::write\+Lock\+\_\+t (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classebml_1_1writeLock__t}{write\+Lock\+\_\+t}} \&\&}]{other }\end{DoxyParamCaption})}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classebml_1_1writeLock__t_a15b8531404ce62f977248f5648f010a1}\label{classebml_1_1writeLock__t_a15b8531404ce62f977248f5648f010a1}} 
\index{ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}!\+\_\+add\+To\+Cache@{\+\_\+add\+To\+Cache}}
\index{\+\_\+add\+To\+Cache@{\+\_\+add\+To\+Cache}!ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}}
\subsubsection{\texorpdfstring{\+\_\+add\+To\+Cache()}{\_addToCache()}}
{\footnotesize\ttfamily void ebml\+::write\+Lock\+\_\+t\+::\+\_\+add\+To\+Cache (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classebml_1_1ebmlLazyLoad}{ebml\+Lazy\+Load}} $\ast$}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classebml_1_1writeLock__t_a92a0f8052660ba803dd78c5a4d159472}\label{classebml_1_1writeLock__t_a92a0f8052660ba803dd78c5a4d159472}} 
\index{ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}!operator=@{operator=}}
\index{operator=@{operator=}!ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{classebml_1_1writeLock__t}{write\+Lock\+\_\+t}} \& ebml\+::write\+Lock\+\_\+t\+::operator= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classebml_1_1writeLock__t}{write\+Lock\+\_\+t}} \&\&}]{other }\end{DoxyParamCaption})}

\mbox{\Hypertarget{classebml_1_1writeLock__t_aeb8ce2e058ab0fb370ff727ea6ef118e}\label{classebml_1_1writeLock__t_aeb8ce2e058ab0fb370ff727ea6ef118e}} 
\index{ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}!operator=@{operator=}}
\index{operator=@{operator=}!ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{classebml_1_1writeLock__t}{write\+Lock\+\_\+t}}\& ebml\+::write\+Lock\+\_\+t\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classebml_1_1writeLock__t}{write\+Lock\+\_\+t}} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}}



\subsection{Friends And Related Function Documentation}
\mbox{\Hypertarget{classebml_1_1writeLock__t_aad23ae983ffddbcdf5fc3816bad4edc1}\label{classebml_1_1writeLock__t_aad23ae983ffddbcdf5fc3816bad4edc1}} 
\index{ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}!ebml\+Lazy\+Load@{ebml\+Lazy\+Load}}
\index{ebml\+Lazy\+Load@{ebml\+Lazy\+Load}!ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}}
\subsubsection{\texorpdfstring{ebml\+Lazy\+Load}{ebmlLazyLoad}}
{\footnotesize\ttfamily friend class \mbox{\hyperlink{classebml_1_1ebmlLazyLoad}{ebml\+Lazy\+Load}}\hspace{0.3cm}{\ttfamily [friend]}}



\subsection{Member Data Documentation}
\mbox{\Hypertarget{classebml_1_1writeLock__t_ab0a5966f6b4b0d20f0e92b25aad7a305}\label{classebml_1_1writeLock__t_ab0a5966f6b4b0d20f0e92b25aad7a305}} 
\index{ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}!cache@{cache}}
\index{cache@{cache}!ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}}
\subsubsection{\texorpdfstring{cache}{cache}}
{\footnotesize\ttfamily std\+::unordered\+\_\+set$<$const \mbox{\hyperlink{classebml_1_1ebmlLazyLoad}{ebml\+Lazy\+Load}}$\ast$$>$ ebml\+::write\+Lock\+\_\+t\+::cache\hspace{0.3cm}{\ttfamily [mutable]}, {\ttfamily [protected]}}

\mbox{\Hypertarget{classebml_1_1writeLock__t_ac65db820f4b81b42aa44d8e5cc21de2a}\label{classebml_1_1writeLock__t_ac65db820f4b81b42aa44d8e5cc21de2a}} 
\index{ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}!elem@{elem}}
\index{elem@{elem}!ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}}
\subsubsection{\texorpdfstring{elem}{elem}}
{\footnotesize\ttfamily const \mbox{\hyperlink{classebml_1_1ebmlLazyLoad}{ebml\+Lazy\+Load}}$\ast$ ebml\+::write\+Lock\+\_\+t\+::elem\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classebml_1_1writeLock__t_ac68474d9d591f03dd2281b41c06a93fc}\label{classebml_1_1writeLock__t_ac68474d9d591f03dd2281b41c06a93fc}} 
\index{ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}!order@{order}}
\index{order@{order}!ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}}
\subsubsection{\texorpdfstring{order}{order}}
{\footnotesize\ttfamily std\+::deque$<$const \mbox{\hyperlink{classebml_1_1ebmlLazyLoad}{ebml\+Lazy\+Load}}$\ast$$>$ ebml\+::write\+Lock\+\_\+t\+::order\hspace{0.3cm}{\ttfamily [mutable]}, {\ttfamily [protected]}}

\mbox{\Hypertarget{classebml_1_1writeLock__t_a80219bb6509f26fd0b2b986bae3d11b2}\label{classebml_1_1writeLock__t_a80219bb6509f26fd0b2b986bae3d11b2}} 
\index{ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}!rlocks@{rlocks}}
\index{rlocks@{rlocks}!ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}}
\subsubsection{\texorpdfstring{rlocks}{rlocks}}
{\footnotesize\ttfamily std\+::vector$<$std\+::shared\+\_\+lock$<$std\+::shared\+\_\+mutex$>$ $>$ ebml\+::write\+Lock\+\_\+t\+::rlocks\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classebml_1_1writeLock__t_a1347d521f4cda794bcb05c172fb65afd}\label{classebml_1_1writeLock__t_a1347d521f4cda794bcb05c172fb65afd}} 
\index{ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}!wlock@{wlock}}
\index{wlock@{wlock}!ebml\+::write\+Lock\+\_\+t@{ebml\+::write\+Lock\+\_\+t}}
\subsubsection{\texorpdfstring{wlock}{wlock}}
{\footnotesize\ttfamily std\+::unique\+\_\+lock$<$std\+::shared\+\_\+mutex$>$ ebml\+::write\+Lock\+\_\+t\+::wlock\hspace{0.3cm}{\ttfamily [protected]}}



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
src/libebml\+\_\+ng/masterelement/lazyload/\mbox{\hyperlink{locks_8h}{locks.\+h}}\item 
src/libebml\+\_\+ng/masterelement/lazyload/\mbox{\hyperlink{locks_8cpp}{locks.\+cpp}}\end{DoxyCompactItemize}
