\hypertarget{classtheo_1_1recomp_1_1reloc__t}{}\doxysection{theo\+::recomp\+::reloc\+\_\+t Class Reference}
\label{classtheo_1_1recomp_1_1reloc__t}\index{theo::recomp::reloc\_t@{theo::recomp::reloc\_t}}


meta data about a relocation for a symbol  




{\ttfamily \#include $<$reloc.\+hpp$>$}

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_a7cb1cf1c58a6f3cdf7ae326d65948548}{reloc\+\_\+t}} (std\+::uint32\+\_\+t \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_a537836fcea3326e4269375a1486f0323}{offset}}, std\+::size\+\_\+t \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_aa340b2c2d5d1ac7f96a1dbee39f25461}{hash}}, const std\+::string \&\&sym\+\_\+name)
\begin{DoxyCompactList}\small\item\em explicit constructor for this class. \end{DoxyCompactList}\item 
std\+::size\+\_\+t \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_aa340b2c2d5d1ac7f96a1dbee39f25461}{hash}} ()
\begin{DoxyCompactList}\small\item\em returns the hash of the relocation symbol. \end{DoxyCompactList}\item 
std\+::string \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_aa181755df50bc566b164072b21788fec}{name}} ()
\begin{DoxyCompactList}\small\item\em returns the name of the relocation symbol. \end{DoxyCompactList}\item 
std\+::uint32\+\_\+t \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_a537836fcea3326e4269375a1486f0323}{offset}} ()
\begin{DoxyCompactList}\small\item\em returns the offset into the symbol to which the relocation will be applied. the offset is in bytes. zero based. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_a99e65270ace1ff4f080bd4040c8a43dd}{offset}} (std\+::uint32\+\_\+t offset)
\begin{DoxyCompactList}\small\item\em sets the offset to which the relocation gets applied too. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_ab5214a9ff9135672e25f40406c37fb10}{add\+\_\+transform}} (std\+::pair$<$ \mbox{\hyperlink{namespacetheo_1_1obf_1_1transform_a875984c1ce09aa998fe48cca55270ecc}{obf\+::transform\+::transform\+\_\+t}} $\ast$, std\+::uint32\+\_\+t $>$ entry)
\begin{DoxyCompactList}\small\item\em adds a transformation to be applied to the relocation prior to writing it into the symbol. \end{DoxyCompactList}\item 
std\+::vector$<$ std\+::pair$<$ \mbox{\hyperlink{namespacetheo_1_1obf_1_1transform_a875984c1ce09aa998fe48cca55270ecc}{obf\+::transform\+::transform\+\_\+t}} $\ast$, std\+::uint32\+\_\+t $>$ $>$ \& \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_ad49901bf8b6b0e3963e64d17d4b51aec}{get\+\_\+transforms}} ()
\begin{DoxyCompactList}\small\item\em gets the vector of transformation. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
meta data about a relocation for a symbol 



Definition at line 41 of file reloc.\+hpp.



\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classtheo_1_1recomp_1_1reloc__t_a7cb1cf1c58a6f3cdf7ae326d65948548}\label{classtheo_1_1recomp_1_1reloc__t_a7cb1cf1c58a6f3cdf7ae326d65948548}} 
\index{theo::recomp::reloc\_t@{theo::recomp::reloc\_t}!reloc\_t@{reloc\_t}}
\index{reloc\_t@{reloc\_t}!theo::recomp::reloc\_t@{theo::recomp::reloc\_t}}
\doxysubsubsection{\texorpdfstring{reloc\_t()}{reloc\_t()}}
{\footnotesize\ttfamily theo\+::recomp\+::reloc\+\_\+t\+::reloc\+\_\+t (\begin{DoxyParamCaption}\item[{std\+::uint32\+\_\+t}]{offset,  }\item[{std\+::size\+\_\+t}]{hash,  }\item[{const std\+::string \&\&}]{sym\+\_\+name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}



explicit constructor for this class. 


\begin{DoxyParams}{Parameters}
{\em offset} & offset into the symbol data where the relocation is at. all relocations are assumed to be linear virtual addresses of the symbol.\\
\hline
{\em hash} & hash of the symbol to which the relocation is of.\\
\hline
{\em sym\+\_\+name} & the name of the symbol to which the relocation is of.\\
\hline
\end{DoxyParams}


Definition at line 52 of file reloc.\+hpp.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classtheo_1_1recomp_1_1reloc__t_ab5214a9ff9135672e25f40406c37fb10}\label{classtheo_1_1recomp_1_1reloc__t_ab5214a9ff9135672e25f40406c37fb10}} 
\index{theo::recomp::reloc\_t@{theo::recomp::reloc\_t}!add\_transform@{add\_transform}}
\index{add\_transform@{add\_transform}!theo::recomp::reloc\_t@{theo::recomp::reloc\_t}}
\doxysubsubsection{\texorpdfstring{add\_transform()}{add\_transform()}}
{\footnotesize\ttfamily void theo\+::recomp\+::reloc\+\_\+t\+::add\+\_\+transform (\begin{DoxyParamCaption}\item[{std\+::pair$<$ \mbox{\hyperlink{namespacetheo_1_1obf_1_1transform_a875984c1ce09aa998fe48cca55270ecc}{obf\+::transform\+::transform\+\_\+t}} $\ast$, std\+::uint32\+\_\+t $>$}]{entry }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



adds a transformation to be applied to the relocation prior to writing it into the symbol. 


\begin{DoxyParams}{Parameters}
{\em entry} & a pair containing a lambda function that when executed transforms a relocation. the second value in the pair is a random value which is passed to the lambda.\\
\hline
\end{DoxyParams}


Definition at line 91 of file reloc.\+hpp.

Here is the caller graph for this function\+:
% FIG 0
\mbox{\Hypertarget{classtheo_1_1recomp_1_1reloc__t_ad49901bf8b6b0e3963e64d17d4b51aec}\label{classtheo_1_1recomp_1_1reloc__t_ad49901bf8b6b0e3963e64d17d4b51aec}} 
\index{theo::recomp::reloc\_t@{theo::recomp::reloc\_t}!get\_transforms@{get\_transforms}}
\index{get\_transforms@{get\_transforms}!theo::recomp::reloc\_t@{theo::recomp::reloc\_t}}
\doxysubsubsection{\texorpdfstring{get\_transforms()}{get\_transforms()}}
{\footnotesize\ttfamily std\+::vector$<$std\+::pair$<$\mbox{\hyperlink{namespacetheo_1_1obf_1_1transform_a875984c1ce09aa998fe48cca55270ecc}{obf\+::transform\+::transform\+\_\+t}}$\ast$, std\+::uint32\+\_\+t$>$ $>$\& theo\+::recomp\+::reloc\+\_\+t\+::get\+\_\+transforms (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



gets the vector of transformation. 

\begin{DoxyReturn}{Returns}
returns the vector of transformations.
\end{DoxyReturn}


Definition at line 101 of file reloc.\+hpp.

Here is the caller graph for this function\+:
% FIG 1
\mbox{\Hypertarget{classtheo_1_1recomp_1_1reloc__t_aa340b2c2d5d1ac7f96a1dbee39f25461}\label{classtheo_1_1recomp_1_1reloc__t_aa340b2c2d5d1ac7f96a1dbee39f25461}} 
\index{theo::recomp::reloc\_t@{theo::recomp::reloc\_t}!hash@{hash}}
\index{hash@{hash}!theo::recomp::reloc\_t@{theo::recomp::reloc\_t}}
\doxysubsubsection{\texorpdfstring{hash()}{hash()}}
{\footnotesize\ttfamily std\+::size\+\_\+t theo\+::recomp\+::reloc\+\_\+t\+::hash (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



returns the hash of the relocation symbol. 

\begin{DoxyReturn}{Returns}
hash of the relocation symbol
\end{DoxyReturn}


Definition at line 61 of file reloc.\+hpp.

\mbox{\Hypertarget{classtheo_1_1recomp_1_1reloc__t_aa181755df50bc566b164072b21788fec}\label{classtheo_1_1recomp_1_1reloc__t_aa181755df50bc566b164072b21788fec}} 
\index{theo::recomp::reloc\_t@{theo::recomp::reloc\_t}!name@{name}}
\index{name@{name}!theo::recomp::reloc\_t@{theo::recomp::reloc\_t}}
\doxysubsubsection{\texorpdfstring{name()}{name()}}
{\footnotesize\ttfamily std\+::string theo\+::recomp\+::reloc\+\_\+t\+::name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



returns the name of the relocation symbol. 

\begin{DoxyReturn}{Returns}
returns the name of the relocation symbol.
\end{DoxyReturn}


Definition at line 67 of file reloc.\+hpp.

\mbox{\Hypertarget{classtheo_1_1recomp_1_1reloc__t_a537836fcea3326e4269375a1486f0323}\label{classtheo_1_1recomp_1_1reloc__t_a537836fcea3326e4269375a1486f0323}} 
\index{theo::recomp::reloc\_t@{theo::recomp::reloc\_t}!offset@{offset}}
\index{offset@{offset}!theo::recomp::reloc\_t@{theo::recomp::reloc\_t}}
\doxysubsubsection{\texorpdfstring{offset()}{offset()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily std\+::uint32\+\_\+t theo\+::recomp\+::reloc\+\_\+t\+::offset (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



returns the offset into the symbol to which the relocation will be applied. the offset is in bytes. zero based. 

\begin{DoxyReturn}{Returns}
returns the offset into the symbol to which the relocation will be applied. the offset is in bytes. zero based.
\end{DoxyReturn}


Definition at line 75 of file reloc.\+hpp.

\mbox{\Hypertarget{classtheo_1_1recomp_1_1reloc__t_a99e65270ace1ff4f080bd4040c8a43dd}\label{classtheo_1_1recomp_1_1reloc__t_a99e65270ace1ff4f080bd4040c8a43dd}} 
\index{theo::recomp::reloc\_t@{theo::recomp::reloc\_t}!offset@{offset}}
\index{offset@{offset}!theo::recomp::reloc\_t@{theo::recomp::reloc\_t}}
\doxysubsubsection{\texorpdfstring{offset()}{offset()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void theo\+::recomp\+::reloc\+\_\+t\+::offset (\begin{DoxyParamCaption}\item[{std\+::uint32\+\_\+t}]{offset }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



sets the offset to which the relocation gets applied too. 


\begin{DoxyParams}{Parameters}
{\em offset} & offset to which the relocation gets applied too.\\
\hline
\end{DoxyParams}


Definition at line 82 of file reloc.\+hpp.

Here is the call graph for this function\+:
% FIG 2
Here is the caller graph for this function\+:
% FIG 3


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
include/recomp/\mbox{\hyperlink{reloc_8hpp}{reloc.\+hpp}}\end{DoxyCompactItemize}
