\hypertarget{a00800_source}{}\doxysection{AAX\+\_\+\+CBinary\+Display\+Delegate.\+h}
\label{a00800_source}\index{AAX\_CBinaryDisplayDelegate.h@{AAX\_CBinaryDisplayDelegate.h}}
\mbox{\hyperlink{a00800}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{/*================================================================================================*/}}
\DoxyCodeLine{00002\ \textcolor{comment}{/*}}
\DoxyCodeLine{00003\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00004\ \textcolor{comment}{\ *\ \ Copyright\ 2013-\/2017,\ 2019,\ 2023-\/2024\ Avid\ Technology,\ Inc.}}
\DoxyCodeLine{00005\ \textcolor{comment}{\ *\ \ All\ rights\ reserved.}}
\DoxyCodeLine{00006\ \textcolor{comment}{\ *\ \ }}
\DoxyCodeLine{00007\ \textcolor{comment}{\ *\ \ This\ file\ is\ part\ of\ the\ Avid\ AAX\ SDK.}}
\DoxyCodeLine{00008\ \textcolor{comment}{\ *\ \ }}
\DoxyCodeLine{00009\ \textcolor{comment}{\ *\ \ The\ AAX\ SDK\ is\ subject\ to\ commercial\ or\ open-\/source\ licensing.}}
\DoxyCodeLine{00010\ \textcolor{comment}{\ *\ \ }}
\DoxyCodeLine{00011\ \textcolor{comment}{\ *\ \ By\ using\ the\ AAX\ SDK,\ you\ agree\ to\ the\ terms\ of\ both\ the\ Avid\ AAX\ SDK\ License}}
\DoxyCodeLine{00012\ \textcolor{comment}{\ *\ \ Agreement\ and\ Avid\ Privacy\ Policy.}}
\DoxyCodeLine{00013\ \textcolor{comment}{\ *\ \ }}
\DoxyCodeLine{00014\ \textcolor{comment}{\ *\ \ AAX\ SDK\ License:\ https://developer.avid.com/aax}}
\DoxyCodeLine{00015\ \textcolor{comment}{\ *\ \ Privacy\ Policy:\ https://www.avid.com/legal/privacy-\/policy-\/statement}}
\DoxyCodeLine{00016\ \textcolor{comment}{\ *\ \ }}
\DoxyCodeLine{00017\ \textcolor{comment}{\ *\ \ Or:\ You\ may\ also\ use\ this\ code\ under\ the\ terms\ of\ the\ GPL\ v3\ (see}}
\DoxyCodeLine{00018\ \textcolor{comment}{\ *\ \ www.gnu.org/licenses).}}
\DoxyCodeLine{00019\ \textcolor{comment}{\ *\ \ }}
\DoxyCodeLine{00020\ \textcolor{comment}{\ *\ \ THE\ AAX\ SDK\ IS\ PROVIDED\ "{}AS\ IS"{}\ WITHOUT\ ANY\ WARRANTY,\ AND\ ALL\ WARRANTIES,\ WHETHER}}
\DoxyCodeLine{00021\ \textcolor{comment}{\ *\ \ EXPRESSED\ OR\ IMPLIED,\ INCLUDING\ MERCHANTABILITY\ AND\ FITNESS\ FOR\ PURPOSE,\ ARE}}
\DoxyCodeLine{00022\ \textcolor{comment}{\ *\ \ DISCLAIMED.}}
\DoxyCodeLine{00023\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00024\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00025\ }
\DoxyCodeLine{00032\ \textcolor{comment}{/*================================================================================================*/}}
\DoxyCodeLine{00033\ }
\DoxyCodeLine{00034\ }
\DoxyCodeLine{00035\ \textcolor{preprocessor}{\#ifndef\ AAX\_CBINARYDISPLAYDELEGATE\_H}}
\DoxyCodeLine{00036\ \textcolor{preprocessor}{\#define\ AAX\_CBINARYDISPLAYDELEGATE\_H}}
\DoxyCodeLine{00037\ }
\DoxyCodeLine{00038\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00476}{AAX\_IDisplayDelegate.h}}"{}}}
\DoxyCodeLine{00039\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00416}{AAX\_CString.h}}"{}}}
\DoxyCodeLine{00040\ }
\DoxyCodeLine{00041\ }
\DoxyCodeLine{00042\ \textcolor{preprocessor}{\#include\ <vector>}}
\DoxyCodeLine{00043\ \textcolor{preprocessor}{\#ifdef\ WINDOWS\_VERSION}}
\DoxyCodeLine{00044\ \textcolor{preprocessor}{\#include\ <algorithm>}}
\DoxyCodeLine{00045\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00046\ }
\DoxyCodeLine{00047\ \textcolor{preprocessor}{\#include\ <algorithm>}}
\DoxyCodeLine{00048\ }
\DoxyCodeLine{00049\ }
\DoxyCodeLine{00059\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ T>}
\DoxyCodeLine{00060\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a01818}{AAX\_CBinaryDisplayDelegate}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{a02242}{AAX\_IDisplayDelegate}}<T>}
\DoxyCodeLine{00061\ \{}
\DoxyCodeLine{00062\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00071\ \ \ \ \ \mbox{\hyperlink{a01818}{AAX\_CBinaryDisplayDelegate}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ falseString,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ trueString);}
\DoxyCodeLine{00072\ \ \ \ \ \mbox{\hyperlink{a01818}{AAX\_CBinaryDisplayDelegate}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{a01818}{AAX\_CBinaryDisplayDelegate}}\&\ other);}
\DoxyCodeLine{00073\ }
\DoxyCodeLine{00074\ \ \ \ \ \textcolor{comment}{//Virtual\ Overrides}}
\DoxyCodeLine{00075\ \ \ \ \ \mbox{\hyperlink{a02242}{AAX\_IDisplayDelegate<T>}}*\ \mbox{\hyperlink{a01818_ac0f060429501b13e2f79babbcfdda9ab}{Clone}}()\ \textcolor{keyword}{const}\ \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00076\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01818_a37fc0647f758a9ff0d47595ba110ecdd}{ValueToString}}(T\ value,\ \mbox{\hyperlink{a01946}{AAX\_CString}}*\ valueString)\ \textcolor{keyword}{const}\ \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00077\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01818_a37fc0647f758a9ff0d47595ba110ecdd}{ValueToString}}(T\ value,\ int32\_t\ maxNumChars,\ \mbox{\hyperlink{a01946}{AAX\_CString}}*\ valueString)\ \textcolor{keyword}{const}\ \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00078\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01818_ac707b7ca0e5fafdc4133959d8b7c5035}{StringToValue}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ valueString,\ T*\ value)\ \textcolor{keyword}{const}\ \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00079\ \ \ \ \ }
\DoxyCodeLine{00080\ \ \ \ \ \textcolor{comment}{//\ AAX\_CBinaryDisplayDelegate}}
\DoxyCodeLine{00081\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01818_a3e6702d7c53a7f0a0f29ecf1ecd4b9b7}{AddShortenedStrings}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ falseString,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ trueString,\ \textcolor{keywordtype}{int}\ iStrLength);}
\DoxyCodeLine{00082\ }
\DoxyCodeLine{00083\ \textcolor{keyword}{private}:}
\DoxyCodeLine{00084\ \ \ \ \ \mbox{\hyperlink{a01818}{AAX\_CBinaryDisplayDelegate}}();\ \ \ \ \ \textcolor{comment}{//private\ contructor\ to\ prevent\ its\ use\ externally.}}
\DoxyCodeLine{00085\ }
\DoxyCodeLine{00086\ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\ \ \ \ \ \ \ \ mFalseString;}
\DoxyCodeLine{00087\ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\ \ \ \ \ \ \ \ mTrueString;}
\DoxyCodeLine{00088\ \ \ \ \ uint32\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ mMaxStrLength;}
\DoxyCodeLine{00089\ \ \ \ \ }
\DoxyCodeLine{00090\ \ \ \ \ \textcolor{keyword}{struct\ }StringTable}
\DoxyCodeLine{00091\ \ \ \ \ \{}
\DoxyCodeLine{00092\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ mStrLength;}
\DoxyCodeLine{00093\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\ \ \ \ \ \ \ \ \ \ mFalseString;}
\DoxyCodeLine{00094\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\ \ \ \ \ \ \ \ \ \ mTrueString;}
\DoxyCodeLine{00095\ \ \ \ \ \};}
\DoxyCodeLine{00096\ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keywordtype}{bool}\ StringTableSortFunc(\textcolor{keyword}{struct}\ StringTable\ i,\ \textcolor{keyword}{struct}\ StringTable\ j)}
\DoxyCodeLine{00097\ \ \ \ \ \{}
\DoxyCodeLine{00098\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (i.mStrLength\ <\ j.mStrLength);}
\DoxyCodeLine{00099\ \ \ \ \ \}}
\DoxyCodeLine{00100\ \ \ \ \ }
\DoxyCodeLine{00101\ \ \ \ \ std::vector<struct\ StringTable>\ mShortenedStrings;}
\DoxyCodeLine{00102\ \};}
\DoxyCodeLine{00103\ }
\DoxyCodeLine{00104\ }
\DoxyCodeLine{00105\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ T>}
\DoxyCodeLine{00106\ \mbox{\hyperlink{a01818}{AAX\_CBinaryDisplayDelegate<T>::AAX\_CBinaryDisplayDelegate}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ falseString,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ trueString)\ :}
\DoxyCodeLine{00107\ \ \ \ \ mFalseString(falseString),}
\DoxyCodeLine{00108\ \ \ \ \ mTrueString(trueString),}
\DoxyCodeLine{00109\ \ \ \ \ mMaxStrLength(0)}
\DoxyCodeLine{00110\ \{}
\DoxyCodeLine{00111\ \ \ \ \ mMaxStrLength\ =\ (std::max)(mMaxStrLength,\ mFalseString.\mbox{\hyperlink{a01946_a34ccfa250b53a721417f32d4a74bfed6}{Length}}());}
\DoxyCodeLine{00112\ \ \ \ \ mMaxStrLength\ =\ (std::max)(mMaxStrLength,\ mTrueString.\mbox{\hyperlink{a01946_a34ccfa250b53a721417f32d4a74bfed6}{Length}}());}
\DoxyCodeLine{00113\ \}}
\DoxyCodeLine{00114\ }
\DoxyCodeLine{00115\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ T>}
\DoxyCodeLine{00116\ \mbox{\hyperlink{a01818}{AAX\_CBinaryDisplayDelegate<T>::AAX\_CBinaryDisplayDelegate}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{a01818}{AAX\_CBinaryDisplayDelegate}}\&\ other)\ :}
\DoxyCodeLine{00117\ \ \ \ \ mFalseString(other.mFalseString),}
\DoxyCodeLine{00118\ \ \ \ \ mTrueString(other.mTrueString),}
\DoxyCodeLine{00119\ \ \ \ \ mMaxStrLength(other.mMaxStrLength)}
\DoxyCodeLine{00120\ \{}
\DoxyCodeLine{00121\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ other.mShortenedStrings.size()\ >\ 0\ )}
\DoxyCodeLine{00122\ \ \ \ \ \{}
\DoxyCodeLine{00123\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (\ \textcolor{keywordtype}{size\_t}\ i\ =\ 0;\ i\ <\ other.mShortenedStrings.size();\ i++\ )}
\DoxyCodeLine{00124\ \ \ \ \ \ \ \ \ \ \ \ \ mShortenedStrings.push\_back(\ other.mShortenedStrings.at(i)\ );}
\DoxyCodeLine{00125\ \ \ \ \ \}}
\DoxyCodeLine{00126\ \}}
\DoxyCodeLine{00127\ }
\DoxyCodeLine{00128\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ T>}
\DoxyCodeLine{00129\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a01818_a3e6702d7c53a7f0a0f29ecf1ecd4b9b7}{AAX\_CBinaryDisplayDelegate<T>::AddShortenedStrings}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ falseString,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ trueString,\ \textcolor{keywordtype}{int}\ iStrLength)}
\DoxyCodeLine{00130\ \{}
\DoxyCodeLine{00131\ \ \ \ \ \textcolor{keyword}{struct\ }StringTable\ shortendTable;}
\DoxyCodeLine{00132\ \ \ \ \ shortendTable.mStrLength\ =\ iStrLength;}
\DoxyCodeLine{00133\ \ \ \ \ shortendTable.mFalseString\ =\ \mbox{\hyperlink{a01946}{AAX\_CString}}(falseString);}
\DoxyCodeLine{00134\ \ \ \ \ shortendTable.mTrueString\ =\ \mbox{\hyperlink{a01946}{AAX\_CString}}(trueString);}
\DoxyCodeLine{00135\ \ \ \ \ mShortenedStrings.push\_back(shortendTable);}
\DoxyCodeLine{00136\ \ \ \ \ }
\DoxyCodeLine{00137\ \ \ \ \ \textcolor{comment}{//\ keep\ structure\ sorted\ by\ str\ lengths}}
\DoxyCodeLine{00138\ \ \ \ \ std::sort(mShortenedStrings.begin(),\ mShortenedStrings.end(),\ AAX\_CBinaryDisplayDelegate::StringTableSortFunc\ );}
\DoxyCodeLine{00139\ \}}
\DoxyCodeLine{00140\ }
\DoxyCodeLine{00141\ }
\DoxyCodeLine{00142\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ T>}
\DoxyCodeLine{00143\ \mbox{\hyperlink{a02242}{AAX\_IDisplayDelegate<T>}}*\ \ \ \ \ \mbox{\hyperlink{a01818_ac0f060429501b13e2f79babbcfdda9ab}{AAX\_CBinaryDisplayDelegate<T>::Clone}}()\textcolor{keyword}{\ const}}
\DoxyCodeLine{00144\ \textcolor{keyword}{}\{}
\DoxyCodeLine{00145\ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{new}\ \mbox{\hyperlink{a01818}{AAX\_CBinaryDisplayDelegate}}(*\textcolor{keyword}{this});}
\DoxyCodeLine{00146\ \}}
\DoxyCodeLine{00147\ }
\DoxyCodeLine{00148\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ T>}
\DoxyCodeLine{00149\ \textcolor{keywordtype}{bool}\ \ \ \ \mbox{\hyperlink{a01818_a37fc0647f758a9ff0d47595ba110ecdd}{AAX\_CBinaryDisplayDelegate<T>::ValueToString}}(T\ value,\ \mbox{\hyperlink{a01946}{AAX\_CString}}*\ valueString)\textcolor{keyword}{\ const}}
\DoxyCodeLine{00150\ \textcolor{keyword}{}\{}
\DoxyCodeLine{00151\ \ \ \ \ \textcolor{keywordflow}{if}\ (value)}
\DoxyCodeLine{00152\ \ \ \ \ \ \ \ \ *valueString\ =\ mTrueString;}
\DoxyCodeLine{00153\ \ \ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{00154\ \ \ \ \ \ \ \ \ *valueString\ =\ mFalseString;}
\DoxyCodeLine{00155\ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{true};}
\DoxyCodeLine{00156\ \}}
\DoxyCodeLine{00157\ }
\DoxyCodeLine{00158\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ T>}
\DoxyCodeLine{00159\ \textcolor{keywordtype}{bool}\ \ \ \ \mbox{\hyperlink{a01818_a37fc0647f758a9ff0d47595ba110ecdd}{AAX\_CBinaryDisplayDelegate<T>::ValueToString}}(T\ value,\ int32\_t\ maxNumChars,\ \mbox{\hyperlink{a01946}{AAX\_CString}}*\ valueString)\textcolor{keyword}{\ const}}
\DoxyCodeLine{00160\ \textcolor{keyword}{}\{}
\DoxyCodeLine{00161\ \ \ \ \ \textcolor{comment}{//\ if\ we\ don't\ ahve\ any\ shortened\ strings,\ just\ return\ the\ full\ length\ version}}
\DoxyCodeLine{00162\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ mShortenedStrings.size()\ ==\ 0\ )}
\DoxyCodeLine{00163\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ this-\/>ValueToString(value,\ valueString);}
\DoxyCodeLine{00164\ \ \ \ \ }
\DoxyCodeLine{00165\ \ \ \ \ \textcolor{comment}{//\ first\ see\ if\ requested\ length\ is\ longer\ than\ normal\ strings}}
\DoxyCodeLine{00166\ \ \ \ \ \textcolor{keyword}{const}\ uint32\_t\ maxNumCharsUnsigned\ =\ (0\ <=\ maxNumChars)\ ?\ \textcolor{keyword}{static\_cast<}uint32\_t\textcolor{keyword}{>}(maxNumChars)\ :\ 0;}
\DoxyCodeLine{00167\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ maxNumCharsUnsigned\ >=\ mMaxStrLength\ )}
\DoxyCodeLine{00168\ \ \ \ \ \{}
\DoxyCodeLine{00169\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (value)}
\DoxyCodeLine{00170\ \ \ \ \ \ \ \ \ \ \ \ \ *valueString\ =\ mTrueString;}
\DoxyCodeLine{00171\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{00172\ \ \ \ \ \ \ \ \ \ \ \ \ *valueString\ =\ mFalseString;}
\DoxyCodeLine{00173\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{true};}
\DoxyCodeLine{00174\ \ \ \ \ \}}
\DoxyCodeLine{00175\ \ \ \ \ }
\DoxyCodeLine{00176\ \ \ \ \ \textcolor{comment}{//\ iterate\ through\ shortened\ strings\ from\ longest\ to\ shortest}}
\DoxyCodeLine{00177\ \ \ \ \ \textcolor{comment}{//\ taking\ the\ first\ set\ that\ is\ short\ enough}}
\DoxyCodeLine{00178\ \ \ \ \ \textcolor{keywordflow}{for}\ (\ \textcolor{keywordtype}{int}\ i\ =\ \textcolor{keyword}{static\_cast<}\textcolor{keywordtype}{int}\textcolor{keyword}{>}(mShortenedStrings.size())-\/1;\ i\ >=\ 0;\ i-\/-\/\ )}
\DoxyCodeLine{00179\ \ \ \ \ \{}
\DoxyCodeLine{00180\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }StringTable\ shortStrings\ =\ mShortenedStrings.at(\textcolor{keyword}{static\_cast<}\textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\textcolor{keyword}{>}(i));}
\DoxyCodeLine{00181\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\ shortStrings.mStrLength\ <=\ maxNumChars\ )}
\DoxyCodeLine{00182\ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00183\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (value)}
\DoxyCodeLine{00184\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *valueString\ =\ shortStrings.mTrueString;}
\DoxyCodeLine{00185\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{00186\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *valueString\ =\ shortStrings.mFalseString;}
\DoxyCodeLine{00187\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{true};}
\DoxyCodeLine{00188\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00189\ \ \ \ \ \}}
\DoxyCodeLine{00190\ }
\DoxyCodeLine{00191\ \ \ \ \ \textcolor{comment}{//\ if\ we\ can't\ find\ one\ short\ enough,\ just\ use\ the\ shortest\ version\ we\ can\ find}}
\DoxyCodeLine{00192\ \ \ \ \ \textcolor{keyword}{struct\ }StringTable\ shortestStrings\ =\ mShortenedStrings.at(0);}
\DoxyCodeLine{00193\ \ \ \ \ \textcolor{keywordflow}{if}\ (value)}
\DoxyCodeLine{00194\ \ \ \ \ \ \ \ \ *valueString\ =\ shortestStrings.mTrueString;}
\DoxyCodeLine{00195\ \ \ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{00196\ \ \ \ \ \ \ \ \ *valueString\ =\ shortestStrings.mFalseString;}
\DoxyCodeLine{00197\ \ \ \ \ }
\DoxyCodeLine{00198\ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{true};}
\DoxyCodeLine{00199\ \}}
\DoxyCodeLine{00200\ }
\DoxyCodeLine{00201\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ T>}
\DoxyCodeLine{00202\ \textcolor{keywordtype}{bool}\ \ \ \ \mbox{\hyperlink{a01818_ac707b7ca0e5fafdc4133959d8b7c5035}{AAX\_CBinaryDisplayDelegate<T>::StringToValue}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ valueString,\ T*\ value)\textcolor{keyword}{\ const}}
\DoxyCodeLine{00203\ \textcolor{keyword}{}\{}
\DoxyCodeLine{00204\ \ \ \ \ \textcolor{keywordflow}{if}\ (valueString\ ==\ mTrueString)}
\DoxyCodeLine{00205\ \ \ \ \ \{}
\DoxyCodeLine{00206\ \ \ \ \ \ \ \ \ *value\ =\ (T)(\textcolor{keyword}{true});}
\DoxyCodeLine{00207\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{true};}
\DoxyCodeLine{00208\ \ \ \ \ \}}
\DoxyCodeLine{00209\ \ \ \ \ \textcolor{keywordflow}{if}\ (valueString\ ==\ mFalseString)}
\DoxyCodeLine{00210\ \ \ \ \ \{}
\DoxyCodeLine{00211\ \ \ \ \ \ \ \ \ *value\ =\ (T)(\textcolor{keyword}{false});}
\DoxyCodeLine{00212\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{true};}
\DoxyCodeLine{00213\ \ \ \ \ \}}
\DoxyCodeLine{00214\ \ \ \ \ *value\ =\ (T)(\textcolor{keyword}{false});}
\DoxyCodeLine{00215\ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{false};}
\DoxyCodeLine{00216\ \}}
\DoxyCodeLine{00217\ \ \ \ \ }
\DoxyCodeLine{00218\ }
\DoxyCodeLine{00219\ }
\DoxyCodeLine{00220\ }
\DoxyCodeLine{00221\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//AAX\_CBINARYDISPLAYDELEGATE\_H}}

\end{DoxyCode}
