\hypertarget{a00416_source}{}\doxysection{AAX\+\_\+\+CString.\+h}
\label{a00416_source}\index{AAX\_CString.h@{AAX\_CString.h}}
\mbox{\hyperlink{a00416}{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-\/2015,\ 2017,\ 2021,\ 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\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{00035\ }
\DoxyCodeLine{00036\ \textcolor{preprocessor}{\#ifndef\ AAX\_CSTRING\_H}}
\DoxyCodeLine{00037\ \textcolor{preprocessor}{\#define\ AAX\_CSTRING\_H}}
\DoxyCodeLine{00038\ }
\DoxyCodeLine{00039\ }
\DoxyCodeLine{00040\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00551}{AAX\_IString.h}}"{}}}
\DoxyCodeLine{00041\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00542}{AAX.h}}"{}}}
\DoxyCodeLine{00042\ }
\DoxyCodeLine{00043\ \textcolor{preprocessor}{\#include\ <string>}}
\DoxyCodeLine{00044\ \textcolor{preprocessor}{\#include\ <map>}}
\DoxyCodeLine{00045\ }
\DoxyCodeLine{00046\ }
\DoxyCodeLine{00048\ \textcolor{preprocessor}{\#if\ 0}}
\DoxyCodeLine{00049\ \textcolor{preprocessor}{\#pragma\ mark\ -\/}}
\DoxyCodeLine{00050\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00052\ }
\DoxyCodeLine{00056\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a01946}{AAX\_CString}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{a02330}{AAX\_IString}}}
\DoxyCodeLine{00057\ \{}
\DoxyCodeLine{00058\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00059\ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ uint32\_t\ \ \ \mbox{\hyperlink{a01946_afa6319e07e02639611c86e1606867564}{kInvalidIndex}}\ =\ \textcolor{keyword}{static\_cast<}uint32\_t\textcolor{keyword}{>}(-\/1);}
\DoxyCodeLine{00060\ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ uint32\_t\ \ \ \mbox{\hyperlink{a01946_aac7fe2ef7191455a685602c9122ce515}{kMaxStringLength}}\ =\ \textcolor{keyword}{static\_cast<}uint32\_t\textcolor{keyword}{>}(-\/2);}
\DoxyCodeLine{00061\ }
\DoxyCodeLine{00062\ \ \ \ \ \textcolor{comment}{//\ AAX\_IString\ Virtual\ Overrides}}
\DoxyCodeLine{00063\ \ \ \ \ uint32\_t\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_a34ccfa250b53a721417f32d4a74bfed6}{Length}}()\ const\ \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00064\ \ \ \ \ uint32\_t\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_afa2fe6beae083e3ec266f49d7583473c}{MaxLength}}()\ const\ \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00065\ \ \ \ \ const\ \textcolor{keywordtype}{char}\ *\ \ \ \ \mbox{\hyperlink{a01946_a8e3d13eeab1496c18f5eb9e5ddc43e13}{Get}}\ ()\ const\ \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00066\ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_afceddbfd8955a6aa9d127c03bf488cbc}{Set}}\ (\ const\ \textcolor{keywordtype}{char}\ *\ iString\ )\ \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00067\ \ \ \ \ \mbox{\hyperlink{a02330}{AAX\_IString}}\ \&\ \ \ \ operator=(const\ \mbox{\hyperlink{a02330}{AAX\_IString}}\ \&\ iOther)\ \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00068\ \ \ \ \ \mbox{\hyperlink{a02330}{AAX\_IString}}\ \&\ \ \ \ operator=(const\ \textcolor{keywordtype}{char}\ *\ iString)\ \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00069\ \ \ \ \ }
\DoxyCodeLine{00071\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}();}
\DoxyCodeLine{00072\ \ \ \ \ }
\DoxyCodeLine{00074\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}(const\ \textcolor{keywordtype}{char}*\ str);}
\DoxyCodeLine{00075\ \ \ \ \ }
\DoxyCodeLine{00077\ \ \ \ \ explicit\ \mbox{\hyperlink{a01946}{AAX\_CString}}(const\ std::\textcolor{keywordtype}{string}\&\ str);}
\DoxyCodeLine{00078\ \ \ \ \ }
\DoxyCodeLine{00080\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}(const\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ other);}
\DoxyCodeLine{00081\ }
\DoxyCodeLine{00083\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}(const\ \mbox{\hyperlink{a02330}{AAX\_IString}}\&\ other);}
\DoxyCodeLine{00084\ }
\DoxyCodeLine{00086\ \ \ \ \ \mbox{\hyperlink{a00542_a25bcd6f9d38bd2c9ffbf8aff01b4a274}{AAX\_DEFAULT\_MOVE\_CTOR}}(\mbox{\hyperlink{a01946}{AAX\_CString}});}
\DoxyCodeLine{00087\ }
\DoxyCodeLine{00088\ }
\DoxyCodeLine{00090\ \ \ \ \ std::\textcolor{keywordtype}{string}\&\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_aa2d51d51f5c5d48060816e84468baeb2}{StdString}}();}
\DoxyCodeLine{00091\ \ \ \ \ }
\DoxyCodeLine{00093\ \ \ \ \ const\ std::\textcolor{keywordtype}{string}\&\ \ \mbox{\hyperlink{a01946_aa2d51d51f5c5d48060816e84468baeb2}{StdString}}()\ const;}
\DoxyCodeLine{00094\ }
\DoxyCodeLine{00096\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ operator=(const\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ other);}
\DoxyCodeLine{00097\ \ \ \ \ }
\DoxyCodeLine{00099\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\ \&\ \ \ \ operator=(const\ std::\textcolor{keywordtype}{string}\&\ other);}
\DoxyCodeLine{00100\ }
\DoxyCodeLine{00102\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\ \&\ \ \ \ operator=(\mbox{\hyperlink{a01946}{AAX\_CString}}\&\&\ other);}
\DoxyCodeLine{00103\ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00105\ \ \ \ \ friend\ std::ostream\&\ operator<<\ (std::ostream\&\ os,\ const\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ str);}
\DoxyCodeLine{00106\ }
\DoxyCodeLine{00108\ \ \ \ \ friend\ std::istream\&\ operator>>\ (std::istream\&\ os,\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ str);}
\DoxyCodeLine{00109\ }
\DoxyCodeLine{00110\ \ \ \ \ }
\DoxyCodeLine{00111\ \ \ \ \ \textcolor{comment}{//\ String\ Formatting\ Functions}}
\DoxyCodeLine{00112\ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_a866d456c7cad181d1feda559a0ca3d07}{Clear}}();}
\DoxyCodeLine{00113\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_a464d3585163efb0cc4b3169ffc5f7101}{Empty}}()\ const;}
\DoxyCodeLine{00114\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01946_a8b31ded2ef83e2a4e32e547dded7f5bd}{Erase}}(uint32\_t\ pos,\ uint32\_t\ n);}
\DoxyCodeLine{00115\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01946_ac3aa81a641264098a440a4857be62091}{Append}}(const\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ str);}
\DoxyCodeLine{00116\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01946_ac3aa81a641264098a440a4857be62091}{Append}}(const\ \textcolor{keywordtype}{char}*\ str);}
\DoxyCodeLine{00117\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01946_afa3a7dbecce9b739320e9a2ec4619194}{AppendNumber}}(\textcolor{keywordtype}{double}\ number,\ int32\_t\ precision);}
\DoxyCodeLine{00118\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01946_afa3a7dbecce9b739320e9a2ec4619194}{AppendNumber}}(int32\_t\ number);}
\DoxyCodeLine{00119\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01946_ae50995d3c31553febc011cb7c5505ac6}{AppendHex}}(int32\_t\ number,\ int32\_t\ width);}
\DoxyCodeLine{00120\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01946_a32276b506c7a1284c6f3b2176a2f39e0}{Insert}}(uint32\_t\ \ \ pos,\ const\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \ str);}
\DoxyCodeLine{00121\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01946_a32276b506c7a1284c6f3b2176a2f39e0}{Insert}}(uint32\_t\ \ \ pos,\ const\ \textcolor{keywordtype}{char}*\ str);}
\DoxyCodeLine{00122\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01946_aea9b907a75feda1cf73a3179375a310a}{InsertNumber}}(uint32\_t\ pos,\ \textcolor{keywordtype}{double}\ number,\ int32\_t\ precision);}
\DoxyCodeLine{00123\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01946_aea9b907a75feda1cf73a3179375a310a}{InsertNumber}}(uint32\_t\ pos,\ int32\_t\ number);}
\DoxyCodeLine{00124\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01946_a90fffd09274c16f2221232166a838943}{InsertHex}}(uint32\_t\ pos,\ int32\_t\ number,\ int32\_t\ width);}
\DoxyCodeLine{00125\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01946_ab6582cc5aff774f9386fa370cd5585f8}{Replace}}(uint32\_t\ pos,\ uint32\_t\ n,\ const\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ str);}
\DoxyCodeLine{00126\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01946_ab6582cc5aff774f9386fa370cd5585f8}{Replace}}(uint32\_t\ pos,\ uint32\_t\ n,\ const\ \textcolor{keywordtype}{char}*\ str);}
\DoxyCodeLine{00127\ \ \ \ \ uint32\_t\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_ab748c054c346f7ea863b51cea4fc52cb}{FindFirst}}(const\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ findStr)\ const;}
\DoxyCodeLine{00128\ \ \ \ \ uint32\_t\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_ab748c054c346f7ea863b51cea4fc52cb}{FindFirst}}(const\ \textcolor{keywordtype}{char}*\ findStr)\ const;}
\DoxyCodeLine{00129\ \ \ \ \ uint32\_t\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_ab748c054c346f7ea863b51cea4fc52cb}{FindFirst}}(\textcolor{keywordtype}{char}\ findChar)\ const;}
\DoxyCodeLine{00130\ \ \ \ \ uint32\_t\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_abe6d77c979b5c96cee327fdae3231694}{FindLast}}(const\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ findStr)\ const;}
\DoxyCodeLine{00131\ \ \ \ \ uint32\_t\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_abe6d77c979b5c96cee327fdae3231694}{FindLast}}(const\ \textcolor{keywordtype}{char}*\ findStr)\ const;}
\DoxyCodeLine{00132\ \ \ \ \ uint32\_t\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_abe6d77c979b5c96cee327fdae3231694}{FindLast}}(\textcolor{keywordtype}{char}\ findChar)\ const;\ \ }
\DoxyCodeLine{00133\ \ \ \ \ const\ \textcolor{keywordtype}{char}*\ \ \ \ \ \mbox{\hyperlink{a01946_a2c8c7c0cb76899d757dfd315146b4b40}{CString}}()\ \ \ \ const;}
\DoxyCodeLine{00134\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_a6dc9a81e486621fd5e3ea56df137f3d7}{ToDouble}}(\textcolor{keywordtype}{double}*\ oValue)\ \ \ \ const;}
\DoxyCodeLine{00135\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_a0bdbf112850d72fe372838e89a081d6d}{ToInteger}}(int32\_t*\ oValue)\ \ const;}
\DoxyCodeLine{00136\ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_a35132df5b9f73bc2ddbfd673f4a5d22a}{SubString}}(uint32\_t\ pos,\ uint32\_t\ n,\ \mbox{\hyperlink{a02330}{AAX\_IString}}*\ outputStr)\ const;}
\DoxyCodeLine{00137\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_a842003a3cf6fb84be1f42160e87e0966}{Equals}}(const\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ other)\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{a01946_a6946cf59b5c5794234b2ea4a47b60b84}{operator==}}(other);\ \}}
\DoxyCodeLine{00138\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_ac076376f56af764540c48c015f0f541a}{Equals}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ other)\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{a01946_a6946cf59b5c5794234b2ea4a47b60b84}{operator==}}(other);\ \}}
\DoxyCodeLine{00139\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_af54d7f7faeab6cf63efb9239109d3390}{Equals}}(\textcolor{keyword}{const}\ std::string\&\ other)\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{a01946_a6946cf59b5c5794234b2ea4a47b60b84}{operator==}}(other);\ \}\ \textcolor{comment}{//beware\ of\ STL\ variations\ between\ binaries.}}
\DoxyCodeLine{00140\ \ \ \ \ }
\DoxyCodeLine{00141\ \ \ \ \ \textcolor{comment}{//\ Operator\ Overrides}}
\DoxyCodeLine{00142\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_a6946cf59b5c5794234b2ea4a47b60b84}{operator==}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ other)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00143\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_a76af1f25acabbe78a0cf56fe31c46edb}{operator==}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ otherStr)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00144\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_ad2d8d5ba1b4c09b6f1c262e4d8d5fb2c}{operator==}}(\textcolor{keyword}{const}\ std::string\&\ otherStr)\ \textcolor{keyword}{const};\ \ \ \ \ \ \textcolor{comment}{//beware\ of\ STL\ variations\ between\ binaries.}}
\DoxyCodeLine{00145\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_aceeeba7d93fd16a8d1296726950f3ead}{operator!=}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ other)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00146\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_a6bd52b08f5895a320ef561117940f121}{operator!=}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ otherStr)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00147\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_ad720bf87d4996cdcd26b09c314580a74}{operator!=}}(\textcolor{keyword}{const}\ std::string\&\ otherStr)\ \textcolor{keyword}{const};\ \ \ \ \ \ \textcolor{comment}{//beware\ of\ STL\ variations\ between\ binaries.}}
\DoxyCodeLine{00148\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_a6999d2cb8a766952f5764974f7d8badb}{operator<}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ other)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00149\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_adb13137e2541a0f32494f07d702493ae}{operator>}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ other)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00150\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\&\ \ \ \ \ \mbox{\hyperlink{a01946_ad8d4bec6833cc85bfac419280c4d96c0}{operator[]}}(uint32\_t\ index)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00151\ \ \ \ \ \textcolor{keywordtype}{char}\&\ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01946_a3d452b8a0a8c5bc9f60d35d03fe89770}{operator[]}}(uint32\_t\ index);}
\DoxyCodeLine{00152\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01946_a150435ed757fe52a9412a4644162ccc8}{operator+=}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ str);}
\DoxyCodeLine{00153\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01946_a40729e628d265acb4fecb3945be1ef42}{operator+=}}(\textcolor{keyword}{const}\ std::string\&\ str);}
\DoxyCodeLine{00154\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01946_a388ca37cd5c45764ba0476b3066e23c7}{operator+=}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ str);}
\DoxyCodeLine{00155\ }
\DoxyCodeLine{00156\ \textcolor{keyword}{protected}:}
\DoxyCodeLine{00157\ \ \ \ \ std::string\ \ \ \ \ \mbox{\hyperlink{a01946_a57df174f0327d832016b05ec17bcf87c}{mString}};}
\DoxyCodeLine{00158\ \};}
\DoxyCodeLine{00159\ }
\DoxyCodeLine{00160\ \textcolor{comment}{//\ Non-\/member\ operators}}
\DoxyCodeLine{00161\ \textcolor{keyword}{inline}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\ \mbox{\hyperlink{a00416_a5bf83a824cd277ac11bd58486a49ce1d}{operator+}}(\mbox{\hyperlink{a01946}{AAX\_CString}}\ lhs,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ rhs)}
\DoxyCodeLine{00162\ \{}
\DoxyCodeLine{00163\ \ \ \ \ lhs\ +=\ rhs;}
\DoxyCodeLine{00164\ \ \ \ \ \textcolor{keywordflow}{return}\ lhs;}
\DoxyCodeLine{00165\ \}}
\DoxyCodeLine{00166\ \textcolor{keyword}{inline}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\ \mbox{\hyperlink{a00416_a5bf83a824cd277ac11bd58486a49ce1d}{operator+}}(\mbox{\hyperlink{a01946}{AAX\_CString}}\ lhs,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ rhs)}
\DoxyCodeLine{00167\ \{}
\DoxyCodeLine{00168\ \ \ \ \ lhs\ +=\ rhs;}
\DoxyCodeLine{00169\ \ \ \ \ \textcolor{keywordflow}{return}\ lhs;}
\DoxyCodeLine{00170\ \}}
\DoxyCodeLine{00171\ \textcolor{keyword}{inline}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\ \mbox{\hyperlink{a00416_a5bf83a824cd277ac11bd58486a49ce1d}{operator+}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ lhs,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ rhs)}
\DoxyCodeLine{00172\ \{}
\DoxyCodeLine{00173\ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{a01946}{AAX\_CString}}(lhs)\ +\ rhs;}
\DoxyCodeLine{00174\ \}}
\DoxyCodeLine{00175\ }
\DoxyCodeLine{00176\ }
\DoxyCodeLine{00178\ \textcolor{preprocessor}{\#if\ 0}}
\DoxyCodeLine{00179\ \textcolor{preprocessor}{\#pragma\ mark\ -\/}}
\DoxyCodeLine{00180\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00182\ }
\DoxyCodeLine{00185\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a01950}{AAX\_CStringAbbreviations}}}
\DoxyCodeLine{00186\ \{}
\DoxyCodeLine{00187\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00188\ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{a01950_a318a77942cf3963f2eda432ba4e1d759}{AAX\_CStringAbbreviations}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ inPrimary)}
\DoxyCodeLine{00189\ \ \ \ \ :\ mPrimary(inPrimary)}
\DoxyCodeLine{00190\ \ \ \ \ ,\ mAbbreviations()}
\DoxyCodeLine{00191\ \ \ \ \ \{}
\DoxyCodeLine{00192\ \ \ \ \ \}}
\DoxyCodeLine{00193\ \ \ \ \ }
\DoxyCodeLine{00194\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a01950_adab8aa7dbc6c1cc8d9d4e8702a55f149}{SetPrimary}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ inPrimary)\ \{\ mPrimary\ =\ inPrimary;\ \}}
\DoxyCodeLine{00195\ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01950_a8f13516df41b2a128ef1ed0fa631b631}{Primary}}()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ mPrimary;\ \}}
\DoxyCodeLine{00196\ \ \ \ \ }
\DoxyCodeLine{00197\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a01950_a840d1e71735c21a38136812a01693f91}{Add}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ inAbbreviation)}
\DoxyCodeLine{00198\ \ \ \ \ \{}
\DoxyCodeLine{00199\ \ \ \ \ \ \ \ \ uint32\_t\ stringLength\ =\ inAbbreviation.\mbox{\hyperlink{a01946_a34ccfa250b53a721417f32d4a74bfed6}{Length}}();}
\DoxyCodeLine{00200\ \ \ \ \ \ \ \ \ mAbbreviations[stringLength]\ =\ inAbbreviation;\ \ \textcolor{comment}{//Does\ a\ string\ copy\ into\ the\ map.}}
\DoxyCodeLine{00201\ \ \ \ \ \}}
\DoxyCodeLine{00202\ \ \ \ \ }
\DoxyCodeLine{00203\ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{a01946}{AAX\_CString}}\&\ \mbox{\hyperlink{a01950_a941417a9d9a5104420797aebb423cf95}{Get}}(int32\_t\ inNumCharacters)\textcolor{keyword}{\ const}}
\DoxyCodeLine{00204\ \textcolor{keyword}{\ \ \ \ }\{}
\DoxyCodeLine{00205\ \ \ \ \ \ \ \ \ \textcolor{comment}{//More\ characters\ than\ the\ primary\ string\ or\ no\ specific\ shortened\ names.}}
\DoxyCodeLine{00206\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ ((inNumCharacters\ >=\ int32\_t(mPrimary.\mbox{\hyperlink{a01946_a34ccfa250b53a721417f32d4a74bfed6}{Length}}()))\ ||\ (mAbbreviations.empty())\ ||\ (0\ >\ inNumCharacters))}
\DoxyCodeLine{00207\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ mPrimary;}
\DoxyCodeLine{00208\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00209\ \ \ \ \ \ \ \ \ std::map<uint32\_t,\ AAX\_CString>::const\_iterator\ iter\ =\ mAbbreviations.upper\_bound(\textcolor{keyword}{static\_cast<}uint32\_t\textcolor{keyword}{>}(inNumCharacters));}
\DoxyCodeLine{00210\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00211\ \ \ \ \ \ \ \ \ \textcolor{comment}{//If\ the\ iterator\ is\ already\ pointing\ to\ shortest\ string,\ return\ that.}}
\DoxyCodeLine{00212\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (iter\ ==\ mAbbreviations.begin())}
\DoxyCodeLine{00213\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ iter-\/>second;}
\DoxyCodeLine{00214\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00215\ \ \ \ \ \ \ \ \ \textcolor{comment}{//lower\_bound()\ will\ return\ the\ iterator\ that\ is\ larger\ than\ the\ desired\ value,\ so\ decrement\ the\ iterator.}}
\DoxyCodeLine{00216\ \ \ \ \ \ \ \ \ -\/-\/iter;}
\DoxyCodeLine{00217\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ iter-\/>second;}
\DoxyCodeLine{00218\ \ \ \ \ \}}
\DoxyCodeLine{00219\ \ \ \ \ }
\DoxyCodeLine{00220\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a01950_a6f909da041fa1bd21dfa28f1e384417e}{Clear}}()\ \{\ mAbbreviations.clear();\ \}}
\DoxyCodeLine{00221\ \ \ \ \ }
\DoxyCodeLine{00222\ \textcolor{keyword}{private}:}
\DoxyCodeLine{00223\ \ \ \ \ \mbox{\hyperlink{a01946}{AAX\_CString}}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ mPrimary;}
\DoxyCodeLine{00224\ \ \ \ \ std::map<uint32\_t,\ AAX\_CString>\ \ \ \ \ \ \ \ \ \ \ \ \ mAbbreviations;}
\DoxyCodeLine{00225\ \};}
\DoxyCodeLine{00226\ }
\DoxyCodeLine{00227\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//AAX\_CSTRING\_H}}

\end{DoxyCode}
