\hypertarget{class_d_t_r_1_1_techno}{}\section{Techno Class Reference}
\label{class_d_t_r_1_1_techno}\index{Techno@{Techno}}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_d_t_r_1_1_a_rule}{A\+Rule}} $\ast$ \mbox{\hyperlink{class_d_t_r_1_1_techno_a5f5a790974fe7d3b1c6f1b698ef0a818}{add\+A\+Rule}} (const char $\ast$name, double value, const char $\ast$ref, const char $\ast$layer1, const char $\ast$layer2)
\begin{DoxyCompactList}\small\item\em creates a new \mbox{\hyperlink{class_d_t_r_1_1_a_rule}{A\+Rule}} and adds it to the \mbox{\hyperlink{class_d_t_r_1_1_techno}{Techno}} object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_d_t_r_1_1_rule}{Rule}} $\ast$ \mbox{\hyperlink{class_d_t_r_1_1_techno_afa2c8412c365c950649b9f81661ecafd}{add\+Rule}} (const char $\ast$name, double value, const char $\ast$ref, const char $\ast$layer1=\char`\"{}\char`\"{}, const char $\ast$layer2=\char`\"{}\char`\"{})
\begin{DoxyCompactList}\small\item\em creates a new \mbox{\hyperlink{class_d_t_r_1_1_rule}{Rule}} and adds it the to \mbox{\hyperlink{class_d_t_r_1_1_techno}{Techno}} object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{class_d_t_r_1_1_techno_a3fd7335faa33dce2f87c7e50eef3e294}\label{class_d_t_r_1_1_techno_a3fd7335faa33dce2f87c7e50eef3e294}} 
const std\+::string \& \mbox{\hyperlink{class_d_t_r_1_1_techno_a3fd7335faa33dce2f87c7e50eef3e294}{get\+Name}} () const
\begin{DoxyCompactList}\small\item\em returns the name of the technology. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_d_t_r_1_1_rule}{Rule}} $\ast$ \mbox{\hyperlink{class_d_t_r_1_1_techno_a4d56a05b47bd6c51e4e18120f49b584b}{get\+Rule}} (const char $\ast$name, const char $\ast$layer1=\char`\"{}\char`\"{}, const char $\ast$layer2=\char`\"{}\char`\"{})
\begin{DoxyCompactList}\small\item\em returns the rule uniquely identified by its name and layers. \end{DoxyCompactList}\item 
std\+::vector$<$ \mbox{\hyperlink{class_d_t_r_1_1_rule}{Rule}} $\ast$ $>$ \& \mbox{\hyperlink{class_d_t_r_1_1_techno_ac322d0479195cd8a65ff5a922b7f2af7}{get\+Rules}} ()
\begin{DoxyCompactList}\small\item\em returns a reference on the std\+::vector containing all technology\textquotesingle{}s rules. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{class_d_t_r_1_1_techno_a42e12e8f890c03ebf12e754d7e489dcb}\label{class_d_t_r_1_1_techno_a42e12e8f890c03ebf12e754d7e489dcb}} 
const std\+::string \& \mbox{\hyperlink{class_d_t_r_1_1_techno_a42e12e8f890c03ebf12e754d7e489dcb}{get\+Unit}} () const
\begin{DoxyCompactList}\small\item\em returns the unit. \end{DoxyCompactList}\item 
double \mbox{\hyperlink{class_d_t_r_1_1_techno_ac08e2e60dd16750551221ca908001057}{get\+Value}} (const char $\ast$name, const char $\ast$layer1=\char`\"{}\char`\"{}, const char $\ast$layer2=\char`\"{}\char`\"{})
\begin{DoxyCompactList}\small\item\em returns the value of a rule uniquely identified by its name and layers. \end{DoxyCompactList}\item 
const std\+::string \& \mbox{\hyperlink{class_d_t_r_1_1_techno_ad5ef5b8e444ab7a86a2e3bff7762c956}{get\+Value\+As\+String}} (const char $\ast$name, const char $\ast$layer1=\char`\"{}\char`\"{}, const char $\ast$layer2=\char`\"{}\char`\"{})
\begin{DoxyCompactList}\small\item\em returns a string corresponding to the value of a rule uniquely identified by its name and layers. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_d_t_r_1_1_techno_a25c6aecdd011d09618908626192c933f}{Techno}} (const char $\ast$name, const char $\ast$unit, const char $\ast$version)
\begin{DoxyCompactList}\small\item\em creates a new technology \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{class_d_t_r_1_1_techno_a26b05539dd3345963b8708788b82e2cb}{write\+To\+File}} (const char $\ast$file\+Path)
\begin{DoxyCompactList}\small\item\em writes the database to file. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{class_d_t_r_1_1_techno}{Techno}} $\ast$ \mbox{\hyperlink{class_d_t_r_1_1_techno_acf863c2bdb7f1aacc4422c8155c60d17}{read\+From\+File}} (const char $\ast$file\+Path)
\begin{DoxyCompactList}\small\item\em creates and returns a \mbox{\hyperlink{class_d_t_r_1_1_techno}{Techno}} object based on a database source file. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
This class contains generic informations such as the name of the technology and the unit used, and the list of all technologic rules. 

\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_d_t_r_1_1_techno_a25c6aecdd011d09618908626192c933f}\label{class_d_t_r_1_1_techno_a25c6aecdd011d09618908626192c933f}} 
\index{D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}!Techno@{Techno}}
\index{Techno@{Techno}!D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}}
\subsubsection{\texorpdfstring{Techno()}{Techno()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_d_t_r_1_1_techno}{Techno}} (\begin{DoxyParamCaption}\item[{const char $\ast$}]{name,  }\item[{const char $\ast$}]{unit,  }\item[{const char $\ast$}]{version }\end{DoxyParamCaption})}



creates a new technology 


\begin{DoxyParams}{Parameters}
{\em name} & the name of the technology. \\
\hline
{\em unit} & the unit used for all values. \\
\hline
{\em version} & the technology version/revision. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_d_t_r_1_1_techno_a5f5a790974fe7d3b1c6f1b698ef0a818}\label{class_d_t_r_1_1_techno_a5f5a790974fe7d3b1c6f1b698ef0a818}} 
\index{D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}!add\+A\+Rule@{add\+A\+Rule}}
\index{add\+A\+Rule@{add\+A\+Rule}!D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}}
\subsubsection{\texorpdfstring{add\+A\+Rule()}{addARule()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_d_t_r_1_1_a_rule}{A\+Rule}} $\ast$ add\+A\+Rule (\begin{DoxyParamCaption}\item[{const char $\ast$}]{name,  }\item[{double}]{value,  }\item[{const char $\ast$}]{ref,  }\item[{const char $\ast$}]{layer1,  }\item[{const char $\ast$}]{layer2 }\end{DoxyParamCaption})}



creates a new \mbox{\hyperlink{class_d_t_r_1_1_a_rule}{A\+Rule}} and adds it to the \mbox{\hyperlink{class_d_t_r_1_1_techno}{Techno}} object. 


\begin{DoxyParams}{Parameters}
{\em name} & the name of the rule. \\
\hline
{\em value} & the value of the rule. \\
\hline
{\em ref} & the reference of the rule (helpful to find the rule in design kit). \\
\hline
{\em layer1} & the first layer. \\
\hline
{\em layer2} & the second layer.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the newly created \mbox{\hyperlink{class_d_t_r_1_1_a_rule}{A\+Rule}} object. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_d_t_r_1_1_techno_afa2c8412c365c950649b9f81661ecafd}\label{class_d_t_r_1_1_techno_afa2c8412c365c950649b9f81661ecafd}} 
\index{D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}!add\+Rule@{add\+Rule}}
\index{add\+Rule@{add\+Rule}!D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}}
\subsubsection{\texorpdfstring{add\+Rule()}{addRule()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_d_t_r_1_1_rule}{Rule}} $\ast$ add\+Rule (\begin{DoxyParamCaption}\item[{const char $\ast$}]{name,  }\item[{double}]{value,  }\item[{const char $\ast$}]{ref,  }\item[{const char $\ast$}]{layer1 = {\ttfamily \char`\"{}\char`\"{}},  }\item[{const char $\ast$}]{layer2 = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})}



creates a new \mbox{\hyperlink{class_d_t_r_1_1_rule}{Rule}} and adds it the to \mbox{\hyperlink{class_d_t_r_1_1_techno}{Techno}} object. 


\begin{DoxyParams}{Parameters}
{\em name} & the name of the rule. \\
\hline
{\em value} & the value of the rule. \\
\hline
{\em ref} & the reference of the rule (helpful to find the rule in design kit). \\
\hline
{\em layer1} & the first layer. This is an optionnal argument, default value is \char`\"{}\char`\"{}. \\
\hline
{\em layer2} & the second layer. This is an optionnal argument, default value is \char`\"{}\char`\"{}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the newly created \mbox{\hyperlink{class_d_t_r_1_1_rule}{Rule}} object. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_d_t_r_1_1_techno_a4d56a05b47bd6c51e4e18120f49b584b}\label{class_d_t_r_1_1_techno_a4d56a05b47bd6c51e4e18120f49b584b}} 
\index{D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}!get\+Rule@{get\+Rule}}
\index{get\+Rule@{get\+Rule}!D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}}
\subsubsection{\texorpdfstring{get\+Rule()}{getRule()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_d_t_r_1_1_rule}{Rule}} $\ast$ get\+Rule (\begin{DoxyParamCaption}\item[{const char $\ast$}]{name,  }\item[{const char $\ast$}]{layer1 = {\ttfamily \char`\"{}\char`\"{}},  }\item[{const char $\ast$}]{layer2 = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})}



returns the rule uniquely identified by its name and layers. 


\begin{DoxyParams}{Parameters}
{\em name} & the name of the rule. \\
\hline
{\em layer1} & the first layer. This is an optionnal argument, default value is \char`\"{}\char`\"{}. \\
\hline
{\em layer2} & the second layer. This is an optionnal argument, default value is \char`\"{}\char`\"{}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the rule. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_d_t_r_1_1_techno_ac322d0479195cd8a65ff5a922b7f2af7}\label{class_d_t_r_1_1_techno_ac322d0479195cd8a65ff5a922b7f2af7}} 
\index{D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}!get\+Rules@{get\+Rules}}
\index{get\+Rules@{get\+Rules}!D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}}
\subsubsection{\texorpdfstring{get\+Rules()}{getRules()}}
{\footnotesize\ttfamily std\+::vector$<$ \mbox{\hyperlink{class_d_t_r_1_1_rule}{Rule}} $\ast$ $>$ \& get\+Rules (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



returns a reference on the std\+::vector containing all technology\textquotesingle{}s rules. 

\begin{DoxyNote}{Note}
this method is not yet available in python 
\end{DoxyNote}
\mbox{\Hypertarget{class_d_t_r_1_1_techno_ac08e2e60dd16750551221ca908001057}\label{class_d_t_r_1_1_techno_ac08e2e60dd16750551221ca908001057}} 
\index{D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}!get\+Value@{get\+Value}}
\index{get\+Value@{get\+Value}!D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}}
\subsubsection{\texorpdfstring{get\+Value()}{getValue()}}
{\footnotesize\ttfamily double get\+Value (\begin{DoxyParamCaption}\item[{const char $\ast$}]{name,  }\item[{const char $\ast$}]{layer1 = {\ttfamily \char`\"{}\char`\"{}},  }\item[{const char $\ast$}]{layer2 = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})}



returns the value of a rule uniquely identified by its name and layers. 


\begin{DoxyParams}{Parameters}
{\em name} & the name of the rule. \\
\hline
{\em layer1} & the first layer. This is an optionnal argument, default value is \char`\"{}\char`\"{}. \\
\hline
{\em layer2} & the second layer. This is an optionnal argument, default value is \char`\"{}\char`\"{}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the value of the rule. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_d_t_r_1_1_techno_ad5ef5b8e444ab7a86a2e3bff7762c956}\label{class_d_t_r_1_1_techno_ad5ef5b8e444ab7a86a2e3bff7762c956}} 
\index{D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}!get\+Value\+As\+String@{get\+Value\+As\+String}}
\index{get\+Value\+As\+String@{get\+Value\+As\+String}!D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}}
\subsubsection{\texorpdfstring{get\+Value\+As\+String()}{getValueAsString()}}
{\footnotesize\ttfamily const string \& get\+Value\+As\+String (\begin{DoxyParamCaption}\item[{const char $\ast$}]{name,  }\item[{const char $\ast$}]{layer1 = {\ttfamily \char`\"{}\char`\"{}},  }\item[{const char $\ast$}]{layer2 = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})}



returns a string corresponding to the value of a rule uniquely identified by its name and layers. 


\begin{DoxyParams}{Parameters}
{\em name} & the name of the rule. \\
\hline
{\em layer1} & the first layer. This is an optionnal argument, default value is \char`\"{}\char`\"{}. \\
\hline
{\em layer2} & the second layer. This is an optionnal argument, default value is \char`\"{}\char`\"{}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the string corresponding to the value of the rule.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
this method is important for python module since to avoid rounding problems it is necessary to use Decimal object which is build based on a string. 
\end{DoxyNote}
\mbox{\Hypertarget{class_d_t_r_1_1_techno_acf863c2bdb7f1aacc4422c8155c60d17}\label{class_d_t_r_1_1_techno_acf863c2bdb7f1aacc4422c8155c60d17}} 
\index{D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}!read\+From\+File@{read\+From\+File}}
\index{read\+From\+File@{read\+From\+File}!D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}}
\subsubsection{\texorpdfstring{read\+From\+File()}{readFromFile()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_d_t_r_1_1_techno}{Techno}} $\ast$ read\+From\+File (\begin{DoxyParamCaption}\item[{const char $\ast$}]{filename }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



creates and returns a \mbox{\hyperlink{class_d_t_r_1_1_techno}{Techno}} object based on a database source file. 


\begin{DoxyParams}{Parameters}
{\em filename} & the source file name.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the newly created \mbox{\hyperlink{class_d_t_r_1_1_techno}{Techno}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_d_t_r_1_1_techno_a26b05539dd3345963b8708788b82e2cb}\label{class_d_t_r_1_1_techno_a26b05539dd3345963b8708788b82e2cb}} 
\index{D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}!write\+To\+File@{write\+To\+File}}
\index{write\+To\+File@{write\+To\+File}!D\+T\+R\+::\+Techno@{D\+T\+R\+::\+Techno}}
\subsubsection{\texorpdfstring{write\+To\+File()}{writeToFile()}}
{\footnotesize\ttfamily bool write\+To\+File (\begin{DoxyParamCaption}\item[{const char $\ast$}]{filename }\end{DoxyParamCaption})}



writes the database to file. 


\begin{DoxyParams}{Parameters}
{\em filename} & the destination file name. \\
\hline
\end{DoxyParams}
