You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Theodosius/doxygen/latex/classtheo_1_1recomp_1_1reco...

165 lines
9.7 KiB

\hypertarget{classtheo_1_1recomp_1_1recomp__t}{}\doxysection{theo\+::recomp\+::recomp\+\_\+t Class Reference}
\label{classtheo_1_1recomp_1_1recomp__t}\index{theo::recomp::recomp\_t@{theo::recomp::recomp\_t}}
the main class responsible for recomposition
{\ttfamily \#include $<$recomp.\+hpp$>$}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classtheo_1_1recomp_1_1recomp__t_ac5f04297153c2e445330e5cc103e8589}{recomp\+\_\+t}} (\mbox{\hyperlink{classtheo_1_1decomp_1_1decomp__t}{decomp\+::decomp\+\_\+t}} $\ast$dcmp, \mbox{\hyperlink{namespacetheo_1_1recomp_a96995cb0c5291dce945760c3d8f55241}{allocator\+\_\+t}} alloc, \mbox{\hyperlink{namespacetheo_1_1recomp_a604e81450773453df676c3b573651adc}{copier\+\_\+t}} copy, \mbox{\hyperlink{namespacetheo_1_1recomp_a7364f8c94855a2a871a9d6e1057989f3}{resolver\+\_\+t}} \mbox{\hyperlink{classtheo_1_1recomp_1_1recomp__t_a299fbede378f04991df2e39293307094}{resolve}})
\begin{DoxyCompactList}\small\item\em the explicit constructor for the \mbox{\hyperlink{classtheo_1_1recomp_1_1recomp__t}{recomp\+\_\+t}} class. \end{DoxyCompactList}\item
void \mbox{\hyperlink{classtheo_1_1recomp_1_1recomp__t_a78502665e218d3addca9b1e5e3875f39}{allocate}} ()
\begin{DoxyCompactList}\small\item\em when called, this function allocates space for every symbol. \end{DoxyCompactList}\item
void \mbox{\hyperlink{classtheo_1_1recomp_1_1recomp__t_a299fbede378f04991df2e39293307094}{resolve}} ()
\begin{DoxyCompactList}\small\item\em when called, this function resolves all relocations in every symbol. \end{DoxyCompactList}\item
void \mbox{\hyperlink{classtheo_1_1recomp_1_1recomp__t_a080d88f122d12faf2e328c9bdd10be6e}{copy\+\_\+syms}} ()
\begin{DoxyCompactList}\small\item\em when called, this function copies symbols into allocations. \end{DoxyCompactList}\item
void \mbox{\hyperlink{classtheo_1_1recomp_1_1recomp__t_a0da9a904b0057c14190218592aff0f07}{allocator}} (\mbox{\hyperlink{namespacetheo_1_1recomp_a96995cb0c5291dce945760c3d8f55241}{allocator\+\_\+t}} alloc)
\begin{DoxyCompactList}\small\item\em setter for the allocater lambda function. \end{DoxyCompactList}\item
void \mbox{\hyperlink{classtheo_1_1recomp_1_1recomp__t_aa6fecf752d4c5bc211e164d8496724b1}{copier}} (\mbox{\hyperlink{namespacetheo_1_1recomp_a604e81450773453df676c3b573651adc}{copier\+\_\+t}} copy)
\begin{DoxyCompactList}\small\item\em setter for the copier lambda function. \end{DoxyCompactList}\item
void \mbox{\hyperlink{classtheo_1_1recomp_1_1recomp__t_a1be6d0cdb57565c31b138248c8b2d470}{resolver}} (\mbox{\hyperlink{namespacetheo_1_1recomp_a7364f8c94855a2a871a9d6e1057989f3}{resolver\+\_\+t}} \mbox{\hyperlink{classtheo_1_1recomp_1_1recomp__t_a299fbede378f04991df2e39293307094}{resolve}})
\begin{DoxyCompactList}\small\item\em setter for the resolve lambda function. \end{DoxyCompactList}\item
std\+::uintptr\+\_\+t \mbox{\hyperlink{classtheo_1_1recomp_1_1recomp__t_ae0c56f0f8af33b390e4123509523602c}{resolve}} (const std\+::string \&\&sym)
\begin{DoxyCompactList}\small\item\em resolves the address of a function given its name. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
the main class responsible for recomposition
Definition at line 64 of file recomp.\+hpp.
\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classtheo_1_1recomp_1_1recomp__t_ac5f04297153c2e445330e5cc103e8589}\label{classtheo_1_1recomp_1_1recomp__t_ac5f04297153c2e445330e5cc103e8589}}
\index{theo::recomp::recomp\_t@{theo::recomp::recomp\_t}!recomp\_t@{recomp\_t}}
\index{recomp\_t@{recomp\_t}!theo::recomp::recomp\_t@{theo::recomp::recomp\_t}}
\doxysubsubsection{\texorpdfstring{recomp\_t()}{recomp\_t()}}
{\footnotesize\ttfamily theo\+::recomp\+::recomp\+\_\+t\+::recomp\+\_\+t (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classtheo_1_1decomp_1_1decomp__t}{decomp\+::decomp\+\_\+t}} $\ast$}]{dcmp, }\item[{\mbox{\hyperlink{namespacetheo_1_1recomp_a96995cb0c5291dce945760c3d8f55241}{allocator\+\_\+t}}}]{alloc, }\item[{\mbox{\hyperlink{namespacetheo_1_1recomp_a604e81450773453df676c3b573651adc}{copier\+\_\+t}}}]{copy, }\item[{\mbox{\hyperlink{namespacetheo_1_1recomp_a7364f8c94855a2a871a9d6e1057989f3}{resolver\+\_\+t}}}]{resolve }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}}
the explicit constructor for the \mbox{\hyperlink{classtheo_1_1recomp_1_1recomp__t}{recomp\+\_\+t}} class.
\begin{DoxyParams}{Parameters}
{\em dcmp} & pointer to a decomp\+\_\+t class.\\
\hline
{\em alloc} & lambda function which is used to allocate memory for symbols.\\
\hline
{\em copy} & lambda function used to copy bytes into allocations.\\
\hline
{\em resolve} & lambda function used to resolve external symbols.\\
\hline
\end{DoxyParams}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classtheo_1_1recomp_1_1recomp__t_a78502665e218d3addca9b1e5e3875f39}\label{classtheo_1_1recomp_1_1recomp__t_a78502665e218d3addca9b1e5e3875f39}}
\index{theo::recomp::recomp\_t@{theo::recomp::recomp\_t}!allocate@{allocate}}
\index{allocate@{allocate}!theo::recomp::recomp\_t@{theo::recomp::recomp\_t}}
\doxysubsubsection{\texorpdfstring{allocate()}{allocate()}}
{\footnotesize\ttfamily void theo\+::recomp\+::recomp\+\_\+t\+::allocate (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
when called, this function allocates space for every symbol.
\mbox{\Hypertarget{classtheo_1_1recomp_1_1recomp__t_a0da9a904b0057c14190218592aff0f07}\label{classtheo_1_1recomp_1_1recomp__t_a0da9a904b0057c14190218592aff0f07}}
\index{theo::recomp::recomp\_t@{theo::recomp::recomp\_t}!allocator@{allocator}}
\index{allocator@{allocator}!theo::recomp::recomp\_t@{theo::recomp::recomp\_t}}
\doxysubsubsection{\texorpdfstring{allocator()}{allocator()}}
{\footnotesize\ttfamily void theo\+::recomp\+::recomp\+\_\+t\+::allocator (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacetheo_1_1recomp_a96995cb0c5291dce945760c3d8f55241}{allocator\+\_\+t}}}]{alloc }\end{DoxyParamCaption})}
setter for the allocater lambda function.
\begin{DoxyParams}{Parameters}
{\em alloc} & lambda function which allocates memory for symbols.\\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classtheo_1_1recomp_1_1recomp__t_aa6fecf752d4c5bc211e164d8496724b1}\label{classtheo_1_1recomp_1_1recomp__t_aa6fecf752d4c5bc211e164d8496724b1}}
\index{theo::recomp::recomp\_t@{theo::recomp::recomp\_t}!copier@{copier}}
\index{copier@{copier}!theo::recomp::recomp\_t@{theo::recomp::recomp\_t}}
\doxysubsubsection{\texorpdfstring{copier()}{copier()}}
{\footnotesize\ttfamily void theo\+::recomp\+::recomp\+\_\+t\+::copier (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacetheo_1_1recomp_a604e81450773453df676c3b573651adc}{copier\+\_\+t}}}]{copy }\end{DoxyParamCaption})}
setter for the copier lambda function.
\begin{DoxyParams}{Parameters}
{\em copy} & copier lambda function used to copy bytes into allocations made by the allocator.\\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classtheo_1_1recomp_1_1recomp__t_a080d88f122d12faf2e328c9bdd10be6e}\label{classtheo_1_1recomp_1_1recomp__t_a080d88f122d12faf2e328c9bdd10be6e}}
\index{theo::recomp::recomp\_t@{theo::recomp::recomp\_t}!copy\_syms@{copy\_syms}}
\index{copy\_syms@{copy\_syms}!theo::recomp::recomp\_t@{theo::recomp::recomp\_t}}
\doxysubsubsection{\texorpdfstring{copy\_syms()}{copy\_syms()}}
{\footnotesize\ttfamily void theo\+::recomp\+::recomp\+\_\+t\+::copy\+\_\+syms (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
when called, this function copies symbols into allocations.
\mbox{\Hypertarget{classtheo_1_1recomp_1_1recomp__t_a299fbede378f04991df2e39293307094}\label{classtheo_1_1recomp_1_1recomp__t_a299fbede378f04991df2e39293307094}}
\index{theo::recomp::recomp\_t@{theo::recomp::recomp\_t}!resolve@{resolve}}
\index{resolve@{resolve}!theo::recomp::recomp\_t@{theo::recomp::recomp\_t}}
\doxysubsubsection{\texorpdfstring{resolve()}{resolve()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void theo\+::recomp\+::recomp\+\_\+t\+::resolve (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
when called, this function resolves all relocations in every symbol.
\mbox{\Hypertarget{classtheo_1_1recomp_1_1recomp__t_ae0c56f0f8af33b390e4123509523602c}\label{classtheo_1_1recomp_1_1recomp__t_ae0c56f0f8af33b390e4123509523602c}}
\index{theo::recomp::recomp\_t@{theo::recomp::recomp\_t}!resolve@{resolve}}
\index{resolve@{resolve}!theo::recomp::recomp\_t@{theo::recomp::recomp\_t}}
\doxysubsubsection{\texorpdfstring{resolve()}{resolve()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily std\+::uintptr\+\_\+t theo\+::recomp\+::recomp\+\_\+t\+::resolve (\begin{DoxyParamCaption}\item[{const std\+::string \&\&}]{sym }\end{DoxyParamCaption})}
resolves the address of a function given its name.
\begin{DoxyParams}{Parameters}
{\em sym} & the name of the symbol to resolve the location of.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the address of the symbol.
\end{DoxyReturn}
\mbox{\Hypertarget{classtheo_1_1recomp_1_1recomp__t_a1be6d0cdb57565c31b138248c8b2d470}\label{classtheo_1_1recomp_1_1recomp__t_a1be6d0cdb57565c31b138248c8b2d470}}
\index{theo::recomp::recomp\_t@{theo::recomp::recomp\_t}!resolver@{resolver}}
\index{resolver@{resolver}!theo::recomp::recomp\_t@{theo::recomp::recomp\_t}}
\doxysubsubsection{\texorpdfstring{resolver()}{resolver()}}
{\footnotesize\ttfamily void theo\+::recomp\+::recomp\+\_\+t\+::resolver (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacetheo_1_1recomp_a7364f8c94855a2a871a9d6e1057989f3}{resolver\+\_\+t}}}]{resolve }\end{DoxyParamCaption})}
setter for the resolve lambda function.
\begin{DoxyParams}{Parameters}
{\em resolve} & lambda function to resolve external symbols.\\
\hline
\end{DoxyParams}
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
include/recomp/\mbox{\hyperlink{recomp_8hpp}{recomp.\+hpp}}\end{DoxyCompactItemize}