\hypertarget{a01825}{}\doxysection{AAX\+\_\+\+CDecibel\+Display\+Delegate\+Decorator\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>} Class Template Reference}
\label{a01825}\index{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$@{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$}}


{\ttfamily \#include $<$AAX\+\_\+\+CDecibel\+Display\+Delegate\+Decorator.\+h$>$}



Inheritance diagram for AAX\+\_\+\+CDecibel\+Display\+Delegate\+Decorator\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>}\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=264pt]{a01824}
\end{center}
\end{figure}


Collaboration diagram for AAX\+\_\+\+CDecibel\+Display\+Delegate\+Decorator\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>}\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=264pt]{a01823}
\end{center}
\end{figure}


\doxysubsection{Description}
\subsubsection*{template$<$typename T$>$\newline
class AAX\+\_\+\+CDecibel\+Display\+Delegate\+Decorator$<$ T $>$}
A percent decorator conforming to \mbox{\hyperlink{a02225}{AAX\+\_\+\+IDisplay\+Delegate\+Decorator}}. 

This class is an \mbox{\hyperlink{a02225}{AAX\+\_\+\+IDisplay\+Delegate\+Decorator}}, meaning that it acts as a wrapper for other display delegates or concrete display types. For more information about display delegate decorators in \mbox{\hyperlink{a00935}{AAX}}, see \mbox{\hyperlink{a00898_displaydelegates_decorators}{Display delegate decorators}}

The behavior of this class it to provide conversion to and from dB values. It performs a decibel conversion on the square of the provided value (i.\+e. 20 log) before passing the value on to a concrete display delegate to get a value string. This class then appends the \char`\"{}d\+B\char`\"{} suffix to signify that the value was converted. This allows something like a gain value to remain internally linear at all times even though its display is converted to decibels.

The inverse is also supported; this class can convert a decibel-\/formatted string into its associated real value. The string will first be converted to a number, then that number will have the inverse dB calculation applied to it to retrieve the parameter\textquotesingle{}s real value. \doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a01825_aac7fbdbd0ce453aac8fa78cc4d1cef19}{AAX\+\_\+\+CDecibel\+Display\+Delegate\+Decorator}} (const \mbox{\hyperlink{a02221}{AAX\+\_\+\+IDisplay\+Delegate}}$<$ T $>$ \&display\+Delegate)
\item 
\mbox{\hyperlink{a01825}{AAX\+\_\+\+CDecibel\+Display\+Delegate\+Decorator}}$<$ T $>$ $\ast$ \mbox{\hyperlink{a01825_a2abd5f4d5a8d6db7db73fadfe8a2aa04}{Clone}} () const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Constructs and returns a copy of the display delegate. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{a01825_a147cb1d0b62b0a62c6e3bb98daf80027}{Value\+To\+String}} (T value, \mbox{\hyperlink{a01933}{AAX\+\_\+\+CString}} $\ast$value\+String) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Converts a real parameter value to a string representation. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{a01825_ab301958be3d376757bf1bb88ded1c911}{Value\+To\+String}} (T value, int32\+\_\+t max\+Num\+Chars, \mbox{\hyperlink{a01933}{AAX\+\_\+\+CString}} $\ast$value\+String) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Converts a real parameter value to a string representation using a size hint, useful for control surfaces and other character limited displays. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{a01825_a7f4645d7e464d63ef22e93c4a99f3f09}{String\+To\+Value}} (const \mbox{\hyperlink{a01933}{AAX\+\_\+\+CString}} \&value\+String, T $\ast$value) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Converts a string to a real parameter value. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions inherited from \mbox{\hyperlink{a02225}{AAX\+\_\+\+IDisplay\+Delegate\+Decorator$<$ T $>$}}}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a02225_a1e103af1eaeb6530317db4e41843c166}{AAX\+\_\+\+IDisplay\+Delegate\+Decorator}} (const \mbox{\hyperlink{a02221}{AAX\+\_\+\+IDisplay\+Delegate}}$<$ T $>$ \&display\+Delegate)
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a02225_a5e3239fa6b4289dd7b3f99ce8ac1243d}{AAX\+\_\+\+IDisplay\+Delegate\+Decorator}} (const \mbox{\hyperlink{a02225}{AAX\+\_\+\+IDisplay\+Delegate\+Decorator}} \&other)
\begin{DoxyCompactList}\small\item\em Copy constructor. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a02225_a65993ca0ac3d206e9526985190e2add9}{$\sim$\+AAX\+\_\+\+IDisplay\+Delegate\+Decorator}} () \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Virtual destructor. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a02225}{AAX\+\_\+\+IDisplay\+Delegate\+Decorator}}$<$ T $>$ $\ast$ \mbox{\hyperlink{a02225_a8e2ad7312467089a9112ba6460fe0e5b}{Clone}} () const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Constructs and returns a copy of the display delegate decorator. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{a02225_ada5780cfa332ac7946bf95aa65ae96f5}{Value\+To\+String}} (T value, \mbox{\hyperlink{a01933}{AAX\+\_\+\+CString}} $\ast$value\+String) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Converts a string to a real parameter value. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{a02225_a29a49bb21a08c1c1e59758b08396d0a4}{Value\+To\+String}} (T value, int32\+\_\+t max\+Num\+Chars, \mbox{\hyperlink{a01933}{AAX\+\_\+\+CString}} $\ast$value\+String) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Converts a string to a real parameter value with a size constraint. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{a02225_a18d19293f3eca619cb5bb7f1ffde1a8d}{String\+To\+Value}} (const \mbox{\hyperlink{a01933}{AAX\+\_\+\+CString}} \&value\+String, T $\ast$value) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Converts a string to a real parameter value. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a02221}{AAX\+\_\+\+IDisplay\+Delegate}} $\ast$ \mbox{\hyperlink{a02221_abc5378e497b2586aeb223bc3bb59154f}{Clone}} () const =0
\begin{DoxyCompactList}\small\item\em Constructs and returns a copy of the display delegate. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{a02221_a7fd1e2f55055c817937bbfa66b73b2fd}{Value\+To\+String}} (T value, \mbox{\hyperlink{a01933}{AAX\+\_\+\+CString}} $\ast$value\+String) const =0
\begin{DoxyCompactList}\small\item\em Converts a real parameter value to a string representation. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{a02221_a471c7381db773683b69216a9c3f5eda7}{Value\+To\+String}} (T value, int32\+\_\+t max\+Num\+Chars, \mbox{\hyperlink{a01933}{AAX\+\_\+\+CString}} $\ast$value\+String) const =0
\begin{DoxyCompactList}\small\item\em Converts a real parameter value to a string representation using a size hint, useful for control surfaces and other character limited displays. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{a02221_aed5224775c9f733f091afddfba057d5e}{String\+To\+Value}} (const \mbox{\hyperlink{a01933}{AAX\+\_\+\+CString}} \&value\+String, T $\ast$value) const =0
\begin{DoxyCompactList}\small\item\em Converts a string to a real parameter value. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions inherited from \mbox{\hyperlink{a02217}{AAX\+\_\+\+IDisplay\+Delegate\+Base}}}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a02217_a0fdaa922b4356fb4a246053bb441a840}{$\sim$\+AAX\+\_\+\+IDisplay\+Delegate\+Base}} ()
\begin{DoxyCompactList}\small\item\em Virtual destructor. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{a01825_aac7fbdbd0ce453aac8fa78cc4d1cef19}\label{a01825_aac7fbdbd0ce453aac8fa78cc4d1cef19}} 
\index{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$@{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$}!AAX\_CDecibelDisplayDelegateDecorator@{AAX\_CDecibelDisplayDelegateDecorator}}
\index{AAX\_CDecibelDisplayDelegateDecorator@{AAX\_CDecibelDisplayDelegateDecorator}!AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$@{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{AAX\_CDecibelDisplayDelegateDecorator()}{AAX\_CDecibelDisplayDelegateDecorator()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{a01825}{AAX\+\_\+\+CDecibel\+Display\+Delegate\+Decorator}}$<$ T $>$\mbox{\hyperlink{a01825}{\+::\+AAX\+\_\+\+CDecibel\+Display\+Delegate\+Decorator}} (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{a02221}{AAX\+\_\+\+IDisplay\+Delegate}}$<$ T $>$ \&}]{display\+Delegate }\end{DoxyParamCaption})}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{a01825_a2abd5f4d5a8d6db7db73fadfe8a2aa04}\label{a01825_a2abd5f4d5a8d6db7db73fadfe8a2aa04}} 
\index{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$@{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$}!Clone@{Clone}}
\index{Clone@{Clone}!AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$@{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{Clone()}{Clone()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{a01825}{AAX\+\_\+\+CDecibel\+Display\+Delegate\+Decorator}}$<$ T $>$ $\ast$ \mbox{\hyperlink{a01825}{AAX\+\_\+\+CDecibel\+Display\+Delegate\+Decorator}}$<$ T $>$\+::\+Clone (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Constructs and returns a copy of the display delegate. 

In general, this method\textquotesingle{}s implementation can use a simple copy constructor\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ T>}
\DoxyCodeLine{AAX\_CSubclassDisplayDelegate<T>*\ \ \ \ AAX\_CSubclassDisplayDelegate<T>::Clone()\textcolor{keyword}{\ const}}
\DoxyCodeLine{\textcolor{keyword}{}\{}
\DoxyCodeLine{\ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{new}\ AAX\_CSubclassDisplayDelegate(*\textcolor{keyword}{this});}
\DoxyCodeLine{\}}

\end{DoxyCode}
 

Implements \mbox{\hyperlink{a02221_abc5378e497b2586aeb223bc3bb59154f}{AAX\+\_\+\+IDisplay\+Delegate$<$ T $>$}}.

\mbox{\Hypertarget{a01825_a147cb1d0b62b0a62c6e3bb98daf80027}\label{a01825_a147cb1d0b62b0a62c6e3bb98daf80027}} 
\index{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$@{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$}!ValueToString@{ValueToString}}
\index{ValueToString@{ValueToString}!AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$@{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{ValueToString()}{ValueToString()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
bool \mbox{\hyperlink{a01825}{AAX\+\_\+\+CDecibel\+Display\+Delegate\+Decorator}}$<$ T $>$\+::\+Value\+To\+String (\begin{DoxyParamCaption}\item[{T}]{value,  }\item[{\mbox{\hyperlink{a01933}{AAX\+\_\+\+CString}} $\ast$}]{value\+String }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Converts a real parameter value to a string representation. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & The real parameter value that will be converted \\
\hline
\mbox{\texttt{ out}}  & {\em value\+String} & A string corresponding to value\\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em true} & The string conversion was successful \\
\hline
{\em false} & The string conversion was unsuccessful \\
\hline
\end{DoxyRetVals}


Implements \mbox{\hyperlink{a02221_a7fd1e2f55055c817937bbfa66b73b2fd}{AAX\+\_\+\+IDisplay\+Delegate$<$ T $>$}}.



References \mbox{\hyperlink{a02225_ada5780cfa332ac7946bf95aa65ae96f5}{AAX\+\_\+\+IDisplay\+Delegate\+Decorator$<$ T $>$\+::\+Value\+To\+String()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{a01825_a147cb1d0b62b0a62c6e3bb98daf80027_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{a01825_ab301958be3d376757bf1bb88ded1c911}\label{a01825_ab301958be3d376757bf1bb88ded1c911}} 
\index{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$@{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$}!ValueToString@{ValueToString}}
\index{ValueToString@{ValueToString}!AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$@{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{ValueToString()}{ValueToString()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
bool \mbox{\hyperlink{a01825}{AAX\+\_\+\+CDecibel\+Display\+Delegate\+Decorator}}$<$ T $>$\+::\+Value\+To\+String (\begin{DoxyParamCaption}\item[{T}]{value,  }\item[{int32\+\_\+t}]{max\+Num\+Chars,  }\item[{\mbox{\hyperlink{a01933}{AAX\+\_\+\+CString}} $\ast$}]{value\+String }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Converts a real parameter value to a string representation using a size hint, useful for control surfaces and other character limited displays. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & The real parameter value that will be converted \\
\hline
\mbox{\texttt{ in}}  & {\em max\+Num\+Chars} & Size hint for the desired maximum number of characters in the string (not including null termination) \\
\hline
\mbox{\texttt{ out}}  & {\em value\+String} & A string corresponding to value\\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em true} & The string conversion was successful \\
\hline
{\em false} & The string conversion was unsuccessful \\
\hline
\end{DoxyRetVals}


Implements \mbox{\hyperlink{a02221_a471c7381db773683b69216a9c3f5eda7}{AAX\+\_\+\+IDisplay\+Delegate$<$ T $>$}}.



References \mbox{\hyperlink{a01933_ac3aa81a641264098a440a4857be62091}{AAX\+\_\+\+CString\+::\+Append()}}, \mbox{\hyperlink{a01933_a34ccfa250b53a721417f32d4a74bfed6}{AAX\+\_\+\+CString\+::\+Length()}}, and \mbox{\hyperlink{a02225_ada5780cfa332ac7946bf95aa65ae96f5}{AAX\+\_\+\+IDisplay\+Delegate\+Decorator$<$ T $>$\+::\+Value\+To\+String()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{a01825_ab301958be3d376757bf1bb88ded1c911_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{a01825_a7f4645d7e464d63ef22e93c4a99f3f09}\label{a01825_a7f4645d7e464d63ef22e93c4a99f3f09}} 
\index{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$@{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$}!StringToValue@{StringToValue}}
\index{StringToValue@{StringToValue}!AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$@{AAX\_CDecibelDisplayDelegateDecorator$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{StringToValue()}{StringToValue()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
bool \mbox{\hyperlink{a01825}{AAX\+\_\+\+CDecibel\+Display\+Delegate\+Decorator}}$<$ T $>$\+::\+String\+To\+Value (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{a01933}{AAX\+\_\+\+CString}} \&}]{value\+String,  }\item[{T $\ast$}]{value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Converts a string to a real parameter value. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value\+String} & The string that will be converted \\
\hline
\mbox{\texttt{ out}}  & {\em value} & The real parameter value corresponding to value\+String\\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em true} & The string conversion was successful \\
\hline
{\em false} & The string conversion was unsuccessful \\
\hline
\end{DoxyRetVals}


Implements \mbox{\hyperlink{a02221_aed5224775c9f733f091afddfba057d5e}{AAX\+\_\+\+IDisplay\+Delegate$<$ T $>$}}.



References \mbox{\hyperlink{a01933_a34ccfa250b53a721417f32d4a74bfed6}{AAX\+\_\+\+CString\+::\+Length()}}, \mbox{\hyperlink{a02225_a18d19293f3eca619cb5bb7f1ffde1a8d}{AAX\+\_\+\+IDisplay\+Delegate\+Decorator$<$ T $>$\+::\+String\+To\+Value()}}, and \mbox{\hyperlink{a01933_a35132df5b9f73bc2ddbfd673f4a5d22a}{AAX\+\_\+\+CString\+::\+Sub\+String()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{a01825_a7f4645d7e464d63ef22e93c4a99f3f09_cgraph}
\end{center}
\end{figure}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00506}{AAX\+\_\+\+CDecibel\+Display\+Delegate\+Decorator.\+h}}\end{DoxyCompactItemize}
