\hypertarget{a00521_source}{}\doxysection{AAX\+\_\+\+Page\+Table\+Utilities.\+h}
\label{a00521_source}\index{AAX\_PageTableUtilities.h@{AAX\_PageTableUtilities.h}}
\mbox{\hyperlink{a00521}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{/*================================================================================================*/}}
\DoxyCodeLine{00002\ \textcolor{comment}{/*}}
\DoxyCodeLine{00003\ \textcolor{comment}{\ *\ \ Copyright\ 2016-\/2017,\ 2023\ Avid\ Technology,\ Inc.}}
\DoxyCodeLine{00004\ \textcolor{comment}{\ *\ \ All\ rights\ reserved.}}
\DoxyCodeLine{00005\ \textcolor{comment}{\ *\ \ }}
\DoxyCodeLine{00006\ \textcolor{comment}{\ *\ \ CONFIDENTIAL:\ this\ document\ contains\ confidential\ information\ of\ Avid.\ Do}}
\DoxyCodeLine{00007\ \textcolor{comment}{\ *\ \ not\ disclose\ to\ any\ third\ party.\ Use\ of\ the\ information\ contained\ in\ this}}
\DoxyCodeLine{00008\ \textcolor{comment}{\ *\ \ document\ is\ subject\ to\ an\ Avid\ SDK\ license.}}
\DoxyCodeLine{00009\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00010\ }
\DoxyCodeLine{00011\ \textcolor{preprocessor}{\#ifndef\ AAXLibrary\_AAX\_PageTableUtilities\_h}}
\DoxyCodeLine{00012\ \textcolor{preprocessor}{\#define\ AAXLibrary\_AAX\_PageTableUtilities\_h}}
\DoxyCodeLine{00013\ }
\DoxyCodeLine{00014\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00413}{AAX\_CString.h}}"{}}}
\DoxyCodeLine{00015\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00533}{AAX.h}}"{}}}
\DoxyCodeLine{00016\ }
\DoxyCodeLine{00017\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{a00935}{AAX}}}
\DoxyCodeLine{00018\ \{}
\DoxyCodeLine{00023\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{class}\ T1,\ \textcolor{keyword}{class}\ T2>}
\DoxyCodeLine{00024\ \ \ \ \ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{a00935_a6615318d686a57585ba69565f8e6a99b}{PageTableParameterMappingsAreEqual}}(\textcolor{keyword}{const}\ T1\&\ inL,\ \textcolor{keyword}{const}\ T2\&\ inR)}
\DoxyCodeLine{00025\ \ \ \ \ \{}
\DoxyCodeLine{00026\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ errL\ =\ \mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\_SUCCESS}};}
\DoxyCodeLine{00027\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ errR\ =\ \mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\_SUCCESS}};}
\DoxyCodeLine{00028\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00029\ \ \ \ \ \ \ \ \ int32\_t\ numPagesL\ =\ -\/1;}
\DoxyCodeLine{00030\ \ \ \ \ \ \ \ \ int32\_t\ numPagesR\ =\ -\/1;}
\DoxyCodeLine{00031\ \ \ \ \ \ \ \ \ errL\ =\ inL.GetNumPages(numPagesL);}
\DoxyCodeLine{00032\ \ \ \ \ \ \ \ \ errR\ =\ inR.GetNumPages(numPagesR);}
\DoxyCodeLine{00033\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00034\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (errL\ !=\ errR\ ||\ numPagesL\ !=\ numPagesR)\ \{\ \textcolor{keywordflow}{return}\ \textcolor{keyword}{false};\ \}}
\DoxyCodeLine{00035\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (\mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\_SUCCESS}}\ !=\ errL)\ \{\ \textcolor{keywordflow}{return}\ \textcolor{keyword}{true};\ \}\ \textcolor{comment}{//\ can't\ get\ page\ data\ from\ either\ table}}
\DoxyCodeLine{00036\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00037\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (int32\_t\ i\ =\ 0;\ i\ <\ numPagesL;\ ++i)}
\DoxyCodeLine{00038\ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00039\ \ \ \ \ \ \ \ \ \ \ \ \ int32\_t\ numParamsL\ =\ -\/1;}
\DoxyCodeLine{00040\ \ \ \ \ \ \ \ \ \ \ \ \ int32\_t\ numParamsR\ =\ -\/1;}
\DoxyCodeLine{00041\ \ \ \ \ \ \ \ \ \ \ \ \ errL\ =\ inL.GetNumMappedParameterIDs(i,\ numParamsL);}
\DoxyCodeLine{00042\ \ \ \ \ \ \ \ \ \ \ \ \ errR\ =\ inR.GetNumMappedParameterIDs(i,\ numParamsR);}
\DoxyCodeLine{00043\ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00044\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (errL\ !=\ errR\ ||\ numParamsL\ !=\ numParamsR)\ \{\ \textcolor{keywordflow}{return}\ \textcolor{keyword}{false};\ \}}
\DoxyCodeLine{00045\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (\mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\_SUCCESS}}\ !=\ errL)\ \{\ \textcolor{keywordflow}{continue};\ \}\ \textcolor{comment}{//\ skip\ this\ page\ if\ equal\ errors\ were\ returned}}
\DoxyCodeLine{00046\ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00047\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (int32\_t\ j\ =\ 0;\ j\ <\ numParamsL;\ ++j)}
\DoxyCodeLine{00048\ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00049\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01933}{AAX\_CString}}\ paramIdentifierL;}
\DoxyCodeLine{00050\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01933}{AAX\_CString}}\ paramIdentifierR;}
\DoxyCodeLine{00051\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ errL\ =\ inL.GetMappedParameterID(i,\ j,\ paramIdentifierL);}
\DoxyCodeLine{00052\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ errR\ =\ inR.GetMappedParameterID(i,\ j,\ paramIdentifierR);}
\DoxyCodeLine{00053\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00054\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (errL\ !=\ errR\ ||\ paramIdentifierL\ !=\ paramIdentifierR)\ \{\ \textcolor{keywordflow}{return}\ \textcolor{keyword}{false};\ \}}
\DoxyCodeLine{00055\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00056\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00057\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00058\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{true};}
\DoxyCodeLine{00059\ \ \ \ \ \}}
\DoxyCodeLine{00060\ \ \ \ \ }
\DoxyCodeLine{00061\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{class}\ T1,\ \textcolor{keyword}{class}\ T2>}
\DoxyCodeLine{00062\ \ \ \ \ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{a00935_a2e75756c486e5db4ffa91579bb486a6a}{PageTableParameterNameVariationsAreEqual}}(\textcolor{keyword}{const}\ T1\&\ inL,\ \textcolor{keyword}{const}\ T2\&\ inR)}
\DoxyCodeLine{00063\ \ \ \ \ \{}
\DoxyCodeLine{00064\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ errL\ =\ \mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\_SUCCESS}};}
\DoxyCodeLine{00065\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ errR\ =\ \mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\_SUCCESS}};}
\DoxyCodeLine{00066\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00067\ \ \ \ \ \ \ \ \ int32\_t\ numParamIdentifiersL\ =\ -\/1;}
\DoxyCodeLine{00068\ \ \ \ \ \ \ \ \ int32\_t\ numParamIdentifiersR\ =\ -\/1;}
\DoxyCodeLine{00069\ \ \ \ \ \ \ \ \ errL\ =\ inL.GetNumParametersWithNameVariations(numParamIdentifiersL);}
\DoxyCodeLine{00070\ \ \ \ \ \ \ \ \ errR\ =\ inR.GetNumParametersWithNameVariations(numParamIdentifiersR);}
\DoxyCodeLine{00071\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00072\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (errL\ !=\ errR\ ||\ numParamIdentifiersL\ !=\ numParamIdentifiersR)\ \{\ \textcolor{keywordflow}{return}\ \textcolor{keyword}{false};\ \}}
\DoxyCodeLine{00073\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (\mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\_SUCCESS}}\ !=\ errL)\ \{\ \textcolor{keywordflow}{return}\ \textcolor{keyword}{true};\ \}\ \textcolor{comment}{//\ can't\ get\ parameter\ name\ variation\ data\ from\ either\ table}}
\DoxyCodeLine{00074\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00075\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (int32\_t\ i\ =\ 0;\ i\ <\ numParamIdentifiersL;\ ++i)}
\DoxyCodeLine{00076\ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00077\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01933}{AAX\_CString}}\ paramIdentifierL;}
\DoxyCodeLine{00078\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01933}{AAX\_CString}}\ paramIdentifierR;}
\DoxyCodeLine{00079\ \ \ \ \ \ \ \ \ \ \ \ \ errL\ =\ inL.GetNameVariationParameterIDAtIndex(i,\ paramIdentifierL);}
\DoxyCodeLine{00080\ \ \ \ \ \ \ \ \ \ \ \ \ errL\ =\ inR.GetNameVariationParameterIDAtIndex(i,\ paramIdentifierR);}
\DoxyCodeLine{00081\ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00082\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (errL\ !=\ errR\ ||\ paramIdentifierL\ !=\ paramIdentifierR)\ \{\ \textcolor{keywordflow}{return}\ \textcolor{keyword}{false};\ \}}
\DoxyCodeLine{00083\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (\mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\_SUCCESS}}\ !=\ errL)\ \{\ \textcolor{keywordflow}{continue};\ \}\ \textcolor{comment}{//\ skip\ this\ index\ if\ equal\ errors\ were\ returned}}
\DoxyCodeLine{00084\ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00085\ \ \ \ \ \ \ \ \ \ \ \ \ int32\_t\ numVariationsL\ =\ -\/1;}
\DoxyCodeLine{00086\ \ \ \ \ \ \ \ \ \ \ \ \ int32\_t\ numVariationsR\ =\ -\/1;}
\DoxyCodeLine{00087\ \ \ \ \ \ \ \ \ \ \ \ \ errL\ =\ inL.GetNumNameVariationsForParameter(paramIdentifierL.\mbox{\hyperlink{a01933_a8e3d13eeab1496c18f5eb9e5ddc43e13}{Get}}(),\ numVariationsL);}
\DoxyCodeLine{00088\ \ \ \ \ \ \ \ \ \ \ \ \ errL\ =\ inR.GetNumNameVariationsForParameter(paramIdentifierR.\mbox{\hyperlink{a01933_a8e3d13eeab1496c18f5eb9e5ddc43e13}{Get}}(),\ numVariationsR);}
\DoxyCodeLine{00089\ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00090\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (errL\ !=\ errR\ ||\ numVariationsL\ !=\ numVariationsR)\ \{\ \textcolor{keywordflow}{return}\ \textcolor{keyword}{false};\ \}}
\DoxyCodeLine{00091\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (\mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\_SUCCESS}}\ !=\ errL)\ \{\ \textcolor{keywordflow}{continue};\ \}\ \textcolor{comment}{//\ skip\ this\ index\ if\ equal\ errors\ were\ returned}}
\DoxyCodeLine{00092\ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00093\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (int32\_t\ j\ =\ 0;\ j\ <\ numVariationsL;\ ++j)}
\DoxyCodeLine{00094\ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00095\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01933}{AAX\_CString}}\ nameVariationL;}
\DoxyCodeLine{00096\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ int32\_t\ lengthL;}
\DoxyCodeLine{00097\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01933}{AAX\_CString}}\ nameVariationR;}
\DoxyCodeLine{00098\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ int32\_t\ lengthR;}
\DoxyCodeLine{00099\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ errL\ =\ inL.GetParameterNameVariationAtIndex(paramIdentifierL.\mbox{\hyperlink{a01933_a8e3d13eeab1496c18f5eb9e5ddc43e13}{Get}}(),\ j,\ nameVariationL,\ lengthL);}
\DoxyCodeLine{00100\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ errR\ =\ inR.GetParameterNameVariationAtIndex(paramIdentifierR.\mbox{\hyperlink{a01933_a8e3d13eeab1496c18f5eb9e5ddc43e13}{Get}}(),\ j,\ nameVariationR,\ lengthR);}
\DoxyCodeLine{00101\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00102\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (errL\ !=\ errR\ ||\ lengthL\ !=\ lengthR\ ||\ nameVariationL\ !=\ nameVariationR)\ \{\ \textcolor{keywordflow}{return}\ \textcolor{keyword}{false};\ \}}
\DoxyCodeLine{00103\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00104\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00105\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00106\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{true};}
\DoxyCodeLine{00107\ \ \ \ \ \}}
\DoxyCodeLine{00108\ \ \ \ \ }
\DoxyCodeLine{00109\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{class}\ T1,\ \textcolor{keyword}{class}\ T2>}
\DoxyCodeLine{00110\ \ \ \ \ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{a00935_a315085bafc0ddf4e7043a69d070da2fb}{PageTablesAreEqual}}(\textcolor{keyword}{const}\ T1\&\ inL,\ \textcolor{keyword}{const}\ T2\&\ inR)}
\DoxyCodeLine{00111\ \ \ \ \ \{}
\DoxyCodeLine{00112\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (\mbox{\hyperlink{a00935_a6615318d686a57585ba69565f8e6a99b}{PageTableParameterMappingsAreEqual}}(inL,\ inR)\ \&\&\ \mbox{\hyperlink{a00935_a2e75756c486e5db4ffa91579bb486a6a}{PageTableParameterNameVariationsAreEqual}}(inL,\ inR));}
\DoxyCodeLine{00113\ \ \ \ \ \}}
\DoxyCodeLine{00114\ \ \ \ \ }
\DoxyCodeLine{00119\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{class}\ T>}
\DoxyCodeLine{00120\ \ \ \ \ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a00935_a99fe28eb20cfcef49e99710060c5ebe0}{CopyPageTable}}(T\&\ to,\ \textcolor{keyword}{const}\ T\&\ from)}
\DoxyCodeLine{00121\ \ \ \ \ \{}
\DoxyCodeLine{00122\ \ \ \ \ \ \ \ \ to.Clear();}
\DoxyCodeLine{00123\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00124\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Copy\ page\ tables}}
\DoxyCodeLine{00125\ \ \ \ \ \ \ \ \ int32\_t\ curPageIndex;}
\DoxyCodeLine{00126\ \ \ \ \ \ \ \ \ from.GetNumPages(curPageIndex);}
\DoxyCodeLine{00127\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{while}\ (0\ <\ curPageIndex-\/-\/)}
\DoxyCodeLine{00128\ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00129\ \ \ \ \ \ \ \ \ \ \ \ \ to.InsertPage(0);}
\DoxyCodeLine{00130\ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00131\ \ \ \ \ \ \ \ \ \ \ \ \ int32\_t\ numIDsRemaining\ =\ 0;}
\DoxyCodeLine{00132\ \ \ \ \ \ \ \ \ \ \ \ \ from.GetNumMappedParameterIDs(curPageIndex,\ numIDsRemaining);}
\DoxyCodeLine{00133\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (int32\_t\ curSlotIndex\ =\ 0;\ 0\ <\ numIDsRemaining;\ ++curSlotIndex)\ \textcolor{comment}{//\ numIDsRemaining\ is\ decremented\ in\ the\ loop\ body}}
\DoxyCodeLine{00134\ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00135\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01933}{AAX\_CString}}\ curParam;}
\DoxyCodeLine{00136\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ getParamResult\ =\ from.GetMappedParameterID(curPageIndex,\ curSlotIndex,\ curParam);}
\DoxyCodeLine{00137\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\_SUCCESS}}\ ==\ getParamResult)}
\DoxyCodeLine{00138\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00139\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ to.MapParameterID(curParam.\mbox{\hyperlink{a01933_a2c8c7c0cb76899d757dfd315146b4b40}{CString}}(),\ 0,\ curSlotIndex);}
\DoxyCodeLine{00140\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -\/-\/numIDsRemaining;}
\DoxyCodeLine{00141\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00142\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00143\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00144\ }
\DoxyCodeLine{00145\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Copy\ name\ variations}}
\DoxyCodeLine{00146\ \ \ \ \ \ \ \ \ int32\_t\ numParameterIdentifiers\ =\ 0;}
\DoxyCodeLine{00147\ \ \ \ \ \ \ \ \ to.ClearParameterNameVariations();}
\DoxyCodeLine{00148\ \ \ \ \ \ \ \ \ from.GetNumParametersWithNameVariations(numParameterIdentifiers);}
\DoxyCodeLine{00149\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (int32\_t\ curParamIndex\ =\ 0;\ curParamIndex\ <\ numParameterIdentifiers;\ ++curParamIndex)}
\DoxyCodeLine{00150\ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00151\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01933}{AAX\_CString}}\ curParamIdentifier;}
\DoxyCodeLine{00152\ \ \ \ \ \ \ \ \ \ \ \ \ from.GetNameVariationParameterIDAtIndex(curParamIndex,\ curParamIdentifier);}
\DoxyCodeLine{00153\ }
\DoxyCodeLine{00154\ \ \ \ \ \ \ \ \ \ \ \ \ int32\_t\ numNameVariations\ =\ 0;}
\DoxyCodeLine{00155\ \ \ \ \ \ \ \ \ \ \ \ \ from.GetNumNameVariationsForParameter(curParamIdentifier.\mbox{\hyperlink{a01933_a8e3d13eeab1496c18f5eb9e5ddc43e13}{Get}}(),\ numNameVariations);}
\DoxyCodeLine{00156\ }
\DoxyCodeLine{00157\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (int32\_t\ curNameVariationIndex\ =\ 0;\ curNameVariationIndex\ <\ numNameVariations;\ ++curNameVariationIndex)}
\DoxyCodeLine{00158\ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00159\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ int32\_t\ curNameVariationLength;}
\DoxyCodeLine{00160\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01933}{AAX\_CString}}\ curNameVariation;}
\DoxyCodeLine{00161\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ from.GetParameterNameVariationAtIndex(curParamIdentifier.\mbox{\hyperlink{a01933_a8e3d13eeab1496c18f5eb9e5ddc43e13}{Get}}(),\ curNameVariationIndex,\ curNameVariation,\ curNameVariationLength);}
\DoxyCodeLine{00162\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ to.SetParameterNameVariation(curParamIdentifier.\mbox{\hyperlink{a01933_a8e3d13eeab1496c18f5eb9e5ddc43e13}{Get}}(),\ curNameVariation,\ curNameVariationLength);}
\DoxyCodeLine{00163\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00164\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00165\ \ \ \ \ \}}
\DoxyCodeLine{00166\ \ \ \ \ }
\DoxyCodeLine{00173\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{class}\ T>}
\DoxyCodeLine{00174\ \ \ \ \ \textcolor{keyword}{inline}\ std::vector<std::pair<int32\_t,\ int32\_t>\ >\ \mbox{\hyperlink{a00935_a1371028e109ce67ef9a17fc23c22a4af}{FindParameterMappingsInPageTable}}(\textcolor{keyword}{const}\ T\&\ inTable,\ \mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\_CParamID}}\ inParameterID)}
\DoxyCodeLine{00175\ \ \ \ \ \{}
\DoxyCodeLine{00176\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{a01933}{AAX\_CString}}\ searchParamID(inParameterID);}
\DoxyCodeLine{00177\ \ \ \ \ \ \ \ \ std::vector<std::pair<int32\_t,\ int32\_t>\ >\ foundParamMappings;}
\DoxyCodeLine{00178\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00179\ \ \ \ \ \ \ \ \ int32\_t\ numPages\ =\ 0;}
\DoxyCodeLine{00180\ \ \ \ \ \ \ \ \ inTable.GetNumPages(numPages);}
\DoxyCodeLine{00181\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (int32\_t\ i\ =\ 0;\ i\ <\ numPages;\ ++i)}
\DoxyCodeLine{00182\ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00183\ \ \ \ \ \ \ \ \ \ \ \ \ int32\_t\ numIDsRemaining\ =\ 0;}
\DoxyCodeLine{00184\ \ \ \ \ \ \ \ \ \ \ \ \ inTable.GetNumMappedParameterIDs(i,\ numIDsRemaining);}
\DoxyCodeLine{00185\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (int32\_t\ curSlotIndex\ =\ 0;\ 0\ <\ numIDsRemaining;\ ++curSlotIndex)\ \textcolor{comment}{//\ numIDs\ is\ decremented\ in\ the\ loop\ body}}
\DoxyCodeLine{00186\ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00187\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01933}{AAX\_CString}}\ curParam;}
\DoxyCodeLine{00188\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ getParamResult\ =\ inTable.GetMappedParameterID(i,\ curSlotIndex,\ curParam);}
\DoxyCodeLine{00189\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\_SUCCESS}}\ ==\ getParamResult)}
\DoxyCodeLine{00190\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00191\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (searchParamID\ ==\ curParam)}
\DoxyCodeLine{00192\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00193\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ foundParamMappings.push\_back(std::make\_pair(i,\ curSlotIndex));}
\DoxyCodeLine{00194\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00195\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00196\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -\/-\/numIDsRemaining;}
\DoxyCodeLine{00197\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00198\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00199\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00200\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00201\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ foundParamMappings;}
\DoxyCodeLine{00202\ \ \ \ \ \}}
\DoxyCodeLine{00203\ \ \ \ \ }
\DoxyCodeLine{00208\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{class}\ T>}
\DoxyCodeLine{00209\ \ \ \ \ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a00935_ae583643c21c696c4d094a500b4e6d77e}{ClearMappedParameterByID}}(T\&\ ioTable,\ \mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\_CParamID}}\ inParameterID)}
\DoxyCodeLine{00210\ \ \ \ \ \{}
\DoxyCodeLine{00211\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keyword}{auto}\ paramMappings(\mbox{\hyperlink{a00935_a1371028e109ce67ef9a17fc23c22a4af}{AAX::FindParameterMappingsInPageTable}}(ioTable,\ inParameterID));}
\DoxyCodeLine{00212\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (\textcolor{keyword}{const}\ \textcolor{keyword}{auto}\&\ locationPair\ :\ paramMappings)}
\DoxyCodeLine{00213\ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00214\ \ \ \ \ \ \ \ \ \ \ \ \ ioTable.ClearMappedParameter(locationPair.first,\ locationPair.second);}
\DoxyCodeLine{00215\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00216\ \ \ \ \ \}}
\DoxyCodeLine{00217\ \}}
\DoxyCodeLine{00218\ }
\DoxyCodeLine{00219\ \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
