\hypertarget{classGpgFrontend_1_1ThreadSafeMap}{}\doxysection{Gpg\+Frontend\+::Thread\+Safe\+Map$<$ Key, Value $>$ Class Template Reference} \label{classGpgFrontend_1_1ThreadSafeMap}\index{GpgFrontend::ThreadSafeMap$<$ Key, Value $>$@{GpgFrontend::ThreadSafeMap$<$ Key, Value $>$}} Inheritance diagram for Gpg\+Frontend\+::Thread\+Safe\+Map$<$ Key, Value $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=307pt]{classGpgFrontend_1_1ThreadSafeMap__inherit__graph} \end{center} \end{figure} Collaboration diagram for Gpg\+Frontend\+::Thread\+Safe\+Map$<$ Key, Value $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classGpgFrontend_1_1ThreadSafeMap__coll__graph} \end{center} \end{figure} \doxysubsection*{Public Types} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classGpgFrontend_1_1ThreadSafeMap_ae47d44e31883547e285e5366db23a0fe}\label{classGpgFrontend_1_1ThreadSafeMap_ae47d44e31883547e285e5366db23a0fe}} using {\bfseries Map\+Type} = std\+::map$<$ Key, Value $>$ \item \mbox{\Hypertarget{classGpgFrontend_1_1ThreadSafeMap_af1a2463215950aab4068f0ac7aaf4be2}\label{classGpgFrontend_1_1ThreadSafeMap_af1a2463215950aab4068f0ac7aaf4be2}} using {\bfseries Iterator\+Type} = typename Map\+Type\+::iterator \end{DoxyCompactItemize} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classGpgFrontend_1_1ThreadSafeMap_a8499e210ffb71c52cdeb309269127157}\label{classGpgFrontend_1_1ThreadSafeMap_a8499e210ffb71c52cdeb309269127157}} void {\bfseries insert} (const Key \&key, const Value \&value) \item \mbox{\Hypertarget{classGpgFrontend_1_1ThreadSafeMap_a4a889c8e5f8295f72ee10fb2dd26c121}\label{classGpgFrontend_1_1ThreadSafeMap_a4a889c8e5f8295f72ee10fb2dd26c121}} auto {\bfseries get} (const Key \&key) -\/$>$ std\+::optional$<$ Value $>$ \item \mbox{\Hypertarget{classGpgFrontend_1_1ThreadSafeMap_a1084530558d58b4947a09b0cfe145e26}\label{classGpgFrontend_1_1ThreadSafeMap_a1084530558d58b4947a09b0cfe145e26}} auto {\bfseries exists} (const Key \&key) -\/$>$ bool \item \mbox{\Hypertarget{classGpgFrontend_1_1ThreadSafeMap_a1fb5062f9fc40f1833c0546e01445d1a}\label{classGpgFrontend_1_1ThreadSafeMap_a1fb5062f9fc40f1833c0546e01445d1a}} auto {\bfseries begin} () -\/$>$ Iterator\+Type \item \mbox{\Hypertarget{classGpgFrontend_1_1ThreadSafeMap_ae1412d125b18fc136834ca078a82d709}\label{classGpgFrontend_1_1ThreadSafeMap_ae1412d125b18fc136834ca078a82d709}} auto {\bfseries end} () -\/$>$ Iterator\+Type \item \mbox{\Hypertarget{classGpgFrontend_1_1ThreadSafeMap_a0dcb62a6da0da59a93a530471fe5bd6c}\label{classGpgFrontend_1_1ThreadSafeMap_a0dcb62a6da0da59a93a530471fe5bd6c}} auto {\bfseries mirror} () -\/$>$ \mbox{\hyperlink{classGpgFrontend_1_1ThreadSafeMap}{Thread\+Safe\+Map}} \& \item \mbox{\Hypertarget{classGpgFrontend_1_1ThreadSafeMap_a4c7212f340e024dad64df53ee655e1f0}\label{classGpgFrontend_1_1ThreadSafeMap_a4c7212f340e024dad64df53ee655e1f0}} auto {\bfseries remove} (QString key) -\/$>$ bool \end{DoxyCompactItemize} \doxysubsection*{Private Attributes} \begin{DoxyCompactItemize} \item std\+::unique\+\_\+ptr$<$ Map\+Type, \mbox{\hyperlink{structGpgFrontend_1_1SecureObjectDeleter}{Secure\+Object\+Deleter}}$<$ Map\+Type $>$ $>$ {\bfseries map\+\_\+mirror\+\_\+} \item std\+::unique\+\_\+ptr$<$ Map\+Type, \mbox{\hyperlink{structGpgFrontend_1_1SecureObjectDeleter}{Secure\+Object\+Deleter}}$<$ Map\+Type $>$ $>$ {\bfseries map\+\_\+} \item \mbox{\Hypertarget{classGpgFrontend_1_1ThreadSafeMap_acc5f153d80e6930caaa16315e938a044}\label{classGpgFrontend_1_1ThreadSafeMap_acc5f153d80e6930caaa16315e938a044}} std\+::shared\+\_\+mutex {\bfseries mutex\+\_\+} \end{DoxyCompactItemize} \doxysubsection{Member Data Documentation} \mbox{\Hypertarget{classGpgFrontend_1_1ThreadSafeMap_a0bc627352201172bd4578330bc99e672}\label{classGpgFrontend_1_1ThreadSafeMap_a0bc627352201172bd4578330bc99e672}} \index{GpgFrontend::ThreadSafeMap$<$ Key, Value $>$@{GpgFrontend::ThreadSafeMap$<$ Key, Value $>$}!map\_@{map\_}} \index{map\_@{map\_}!GpgFrontend::ThreadSafeMap$<$ Key, Value $>$@{GpgFrontend::ThreadSafeMap$<$ Key, Value $>$}} \doxysubsubsection{\texorpdfstring{map\_}{map\_}} {\footnotesize\ttfamily template$<$typename Key , typename Value $>$ \\ std\+::unique\+\_\+ptr$<$Map\+Type, \mbox{\hyperlink{structGpgFrontend_1_1SecureObjectDeleter}{Secure\+Object\+Deleter}}$<$Map\+Type$>$ $>$ \mbox{\hyperlink{classGpgFrontend_1_1ThreadSafeMap}{Gpg\+Frontend\+::\+Thread\+Safe\+Map}}$<$ Key, Value $>$\+::map\+\_\+\hspace{0.3cm}{\ttfamily [private]}} {\bfseries Initial value\+:} \begin{DoxyCode}{0} \DoxyCodeLine{=} \DoxyCodeLine{ std::move(SecureCreateUniqueObject())} \end{DoxyCode} \mbox{\Hypertarget{classGpgFrontend_1_1ThreadSafeMap_af086e5653ee8d98e3d4f631a6da85778}\label{classGpgFrontend_1_1ThreadSafeMap_af086e5653ee8d98e3d4f631a6da85778}} \index{GpgFrontend::ThreadSafeMap$<$ Key, Value $>$@{GpgFrontend::ThreadSafeMap$<$ Key, Value $>$}!map\_mirror\_@{map\_mirror\_}} \index{map\_mirror\_@{map\_mirror\_}!GpgFrontend::ThreadSafeMap$<$ Key, Value $>$@{GpgFrontend::ThreadSafeMap$<$ Key, Value $>$}} \doxysubsubsection{\texorpdfstring{map\_mirror\_}{map\_mirror\_}} {\footnotesize\ttfamily template$<$typename Key , typename Value $>$ \\ std\+::unique\+\_\+ptr$<$Map\+Type, \mbox{\hyperlink{structGpgFrontend_1_1SecureObjectDeleter}{Secure\+Object\+Deleter}}$<$Map\+Type$>$ $>$ \mbox{\hyperlink{classGpgFrontend_1_1ThreadSafeMap}{Gpg\+Frontend\+::\+Thread\+Safe\+Map}}$<$ Key, Value $>$\+::map\+\_\+mirror\+\_\+\hspace{0.3cm}{\ttfamily [private]}} {\bfseries Initial value\+:} \begin{DoxyCode}{0} \DoxyCodeLine{=} \DoxyCodeLine{ std::move(SecureCreateUniqueObject())} \end{DoxyCode} The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item src/core/function/Cache\+Manager.\+cpp\end{DoxyCompactItemize}