\hypertarget{a00740}{}\doxysection{AAX\+\_\+\+Assert.\+h File Reference}
\label{a00740}\index{AAX\_Assert.h@{AAX\_Assert.h}}
{\ttfamily \#include \char`\"{}AAX\+\_\+\+Enums.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}AAX\+\_\+\+CHost\+Services.\+h\char`\"{}}\newline


\doxysubsection{Description}
Declarations for cross-\/platform AAX\+\_\+\+ASSERT, AAX\+\_\+\+TRACE and related facilities. 


\begin{DoxyItemize}
\item \mbox{\hyperlink{a00740_a168ee44fd7a5485ab50160db36fb2988}{AAX\+\_\+\+ASSERT( condition )}} -\/ If the condition is {\ttfamily false} triggers some manner of warning, e.\+g. a dialog in a developer build or a Digi\+Trace log in a shipping build. May be used on host or TI.
\item \mbox{\hyperlink{a00740_aa0253bd2994036fcfd6629ecf465d543}{AAX\+\_\+\+DEBUGASSERT( condition )}} -\/ Variant of \mbox{\hyperlink{a00740_a168ee44fd7a5485ab50160db36fb2988}{AAX\+\_\+\+ASSERT}} which is only active in debug builds of the plug-\/in.
\item \mbox{\hyperlink{a00740_ac2aa820ece56bb59140ad561218db4b3}{AAX\+\_\+\+TRACE\+\_\+\+RELEASE( i\+Priority, i\+Message\+Str \mbox{[},params...\mbox{]} )}} -\/ Traces a printf-\/ style message to the Digi\+Trace log file. Enabled using the {\ttfamily DTF\+\_\+\+AAXPLUGINS} Digi\+Trace facility.
\item \mbox{\hyperlink{a00740_ab53f1d6a94f8b6ebb3a101f71bfe4e82}{AAX\+\_\+\+TRACE( i\+Priority, i\+Message\+Str \mbox{[}, params...\mbox{]} )}} -\/ Variant of \mbox{\hyperlink{a00740_ac2aa820ece56bb59140ad561218db4b3}{AAX\+\_\+\+TRACE\+\_\+\+RELEASE}} which only emits logs in debug builds of the plug-\/in.
\item \mbox{\hyperlink{a00740_a51f7dcc4ce960ab8855ec97f031a1463}{AAX\+\_\+\+STACKTRACE\+\_\+\+RELEASE( i\+Priority, i\+Message\+Str \mbox{[},params...\mbox{]} )}} -\/ Similar to \mbox{\hyperlink{a00740_ac2aa820ece56bb59140ad561218db4b3}{AAX\+\_\+\+TRACE\+\_\+\+RELEASE}} but prints a stack trace as well as a log message
\item \mbox{\hyperlink{a00740_ae871829dd7297e4a5ae6c7094f6b5398}{AAX\+\_\+\+STACKTRACE( i\+Priority, i\+Message\+Str \mbox{[},params...\mbox{]} )}} -\/ Variant of \mbox{\hyperlink{a00740_a51f7dcc4ce960ab8855ec97f031a1463}{AAX\+\_\+\+STACKTRACE\+\_\+\+RELEASE}} which only emits logs in debug builds of the plug-\/in.
\item \mbox{\hyperlink{a00740_a74f610a8e4359a5fc3eae89be3eb3a4b}{AAX\+\_\+\+TRACEORSTACKTRACE\+\_\+\+RELEASE( i\+Trace\+Priority, i\+Stack\+Trace\+Priority, i\+Message\+Str \mbox{[},params...\mbox{]} )}} -\/ Combination of \mbox{\hyperlink{a00740_ac2aa820ece56bb59140ad561218db4b3}{AAX\+\_\+\+TRACE\+\_\+\+RELEASE}} and \mbox{\hyperlink{a00740_a51f7dcc4ce960ab8855ec97f031a1463}{AAX\+\_\+\+STACKTRACE\+\_\+\+RELEASE}}; a stack trace is emitted if logging is enabled at {\ttfamily i\+Stack\+Trace\+Priority}. Otherwise, if logging is enabled at {\ttfamily i\+Trace\+Priority} then emits a log.
\end{DoxyItemize}

For all trace macros\+:

{\ttfamily in\+Priority} is one of \begin{DoxyItemize}
\item \mbox{\hyperlink{a00740_abd6b80f2e0a26581086b21b7e7ad0ce9}{k\+AAX\+\_\+\+Trace\+\_\+\+Priority\+\_\+\+Low}} \item \mbox{\hyperlink{a00740_a8a6953f26f36747357d5d95f96dcf68d}{k\+AAX\+\_\+\+Trace\+\_\+\+Priority\+\_\+\+Normal}} \item \mbox{\hyperlink{a00740_a5edd9a4ac559a4ef99a948c2ebd422db}{k\+AAX\+\_\+\+Trace\+\_\+\+Priority\+\_\+\+High}} \item \mbox{\hyperlink{a00740_aadf01a4d28ed7692d8170aa631b52442}{k\+AAX\+\_\+\+Trace\+\_\+\+Priority\+\_\+\+Critical}}\end{DoxyItemize}
These correspond to how the trace messages are filtered using \mbox{\hyperlink{a00930}{Digi\+Trace}}.

\begin{DoxyNote}{Note}
Disabling the {\ttfamily DTF\+\_\+\+AAXPLUGINS} facility will slightly reduce the overhead of trace statements and chip communication on HDX systems.
\end{DoxyNote}
============================================================================== \doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{a00740_a262e3b6568764baa53f893d9dc6bbc23}{k\+AAX\+\_\+\+Trace\+\_\+\+Priority\+\_\+\+None}}~\mbox{\hyperlink{a00446_a2dd667e4dea5781f38832fd9f1725f1ba906b1198b124fa17cd5821cbb140a63f}{AAX\+\_\+e\+Trace\+Priority\+Host\+\_\+\+None}}
\item 
\#define \mbox{\hyperlink{a00740_aadf01a4d28ed7692d8170aa631b52442}{k\+AAX\+\_\+\+Trace\+\_\+\+Priority\+\_\+\+Critical}}~\mbox{\hyperlink{a00446_a2dd667e4dea5781f38832fd9f1725f1ba0dac14ebaf5383be39b103cacbb2eae9}{AAX\+\_\+e\+Trace\+Priority\+Host\+\_\+\+Critical}}
\item 
\#define \mbox{\hyperlink{a00740_a5edd9a4ac559a4ef99a948c2ebd422db}{k\+AAX\+\_\+\+Trace\+\_\+\+Priority\+\_\+\+High}}~\mbox{\hyperlink{a00446_a2dd667e4dea5781f38832fd9f1725f1baac76cc64a1379931edbc2bdc0f8aad66}{AAX\+\_\+e\+Trace\+Priority\+Host\+\_\+\+High}}
\item 
\#define \mbox{\hyperlink{a00740_a8a6953f26f36747357d5d95f96dcf68d}{k\+AAX\+\_\+\+Trace\+\_\+\+Priority\+\_\+\+Normal}}~\mbox{\hyperlink{a00446_a2dd667e4dea5781f38832fd9f1725f1ba327226d6962ad7f297506697c2001ce0}{AAX\+\_\+e\+Trace\+Priority\+Host\+\_\+\+Normal}}
\item 
\#define \mbox{\hyperlink{a00740_abd6b80f2e0a26581086b21b7e7ad0ce9}{k\+AAX\+\_\+\+Trace\+\_\+\+Priority\+\_\+\+Low}}~\mbox{\hyperlink{a00446_a2dd667e4dea5781f38832fd9f1725f1ba78edfc70bf7ba33fc5277e4146498c17}{AAX\+\_\+e\+Trace\+Priority\+Host\+\_\+\+Low}}
\item 
\#define \mbox{\hyperlink{a00740_a68d0297c90a8d294e19ea781f8cda96a}{k\+AAX\+\_\+\+Trace\+\_\+\+Priority\+\_\+\+Lowest}}~\mbox{\hyperlink{a00446_a2dd667e4dea5781f38832fd9f1725f1baf101af483c232de54b31eba274a07c4c}{AAX\+\_\+e\+Trace\+Priority\+Host\+\_\+\+Lowest}}
\item 
\#define \mbox{\hyperlink{a00740_ac2aa820ece56bb59140ad561218db4b3}{AAX\+\_\+\+TRACE\+\_\+\+RELEASE}}(i\+Priority, ...)
\begin{DoxyCompactList}\small\item\em Print a trace statement to the log. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{a00740_a51f7dcc4ce960ab8855ec97f031a1463}{AAX\+\_\+\+STACKTRACE\+\_\+\+RELEASE}}(i\+Priority, ...)
\begin{DoxyCompactList}\small\item\em Print a stack trace statement to the log. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{a00740_a74f610a8e4359a5fc3eae89be3eb3a4b}{AAX\+\_\+\+TRACEORSTACKTRACE\+\_\+\+RELEASE}}(i\+Trace\+Priority,  i\+Stack\+Trace\+Priority, ...)
\begin{DoxyCompactList}\small\item\em Print a trace statement with an optional stack trace to the log. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{a00740_a168ee44fd7a5485ab50160db36fb2988}{AAX\+\_\+\+ASSERT}}(condition)
\begin{DoxyCompactList}\small\item\em Asserts that a condition is true and logs an error if the condition is false. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{a00740_aa0253bd2994036fcfd6629ecf465d543}{AAX\+\_\+\+DEBUGASSERT}}(condition)~do \{ ; \} while (0)
\begin{DoxyCompactList}\small\item\em Asserts that a condition is true and logs an error if the condition is false (debug plug-\/in builds only) \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{a00740_ab53f1d6a94f8b6ebb3a101f71bfe4e82}{AAX\+\_\+\+TRACE}}(i\+Priority, ...)~do \{ ; \} while (0)
\begin{DoxyCompactList}\small\item\em Print a trace statement to the log (debug plug-\/in builds only) \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{a00740_ae871829dd7297e4a5ae6c7094f6b5398}{AAX\+\_\+\+STACKTRACE}}(i\+Priority, ...)~do \{ ; \} while (0)
\begin{DoxyCompactList}\small\item\em Print a stack trace statement to the log (debug builds only) \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{a00740_a96862f9cb28b6a49eb5dbd6da9975ed1}{AAX\+\_\+\+TRACEORSTACKTRACE}}(i\+Trace\+Priority,  i\+Stack\+Trace\+Priority, ...)~do \{ ; \} while (0)
\begin{DoxyCompactList}\small\item\em Print a trace statement with an optional stack trace to the log (debug builds only) \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef \mbox{\hyperlink{a00446_a2dd667e4dea5781f38832fd9f1725f1b}{AAX\+\_\+\+ETrace\+Priority\+Host}} \mbox{\hyperlink{a00740_a28ae6ea1f243f005a891c5c77a5a5211}{AAX\+\_\+\+ETrace\+Priority}}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{a00740_a262e3b6568764baa53f893d9dc6bbc23}\label{a00740_a262e3b6568764baa53f893d9dc6bbc23}} 
\index{AAX\_Assert.h@{AAX\_Assert.h}!kAAX\_Trace\_Priority\_None@{kAAX\_Trace\_Priority\_None}}
\index{kAAX\_Trace\_Priority\_None@{kAAX\_Trace\_Priority\_None}!AAX\_Assert.h@{AAX\_Assert.h}}
\doxysubsubsection{\texorpdfstring{kAAX\_Trace\_Priority\_None}{kAAX\_Trace\_Priority\_None}}
{\footnotesize\ttfamily \#define k\+AAX\+\_\+\+Trace\+\_\+\+Priority\+\_\+\+None~\mbox{\hyperlink{a00446_a2dd667e4dea5781f38832fd9f1725f1ba906b1198b124fa17cd5821cbb140a63f}{AAX\+\_\+e\+Trace\+Priority\+Host\+\_\+\+None}}}

\mbox{\Hypertarget{a00740_aadf01a4d28ed7692d8170aa631b52442}\label{a00740_aadf01a4d28ed7692d8170aa631b52442}} 
\index{AAX\_Assert.h@{AAX\_Assert.h}!kAAX\_Trace\_Priority\_Critical@{kAAX\_Trace\_Priority\_Critical}}
\index{kAAX\_Trace\_Priority\_Critical@{kAAX\_Trace\_Priority\_Critical}!AAX\_Assert.h@{AAX\_Assert.h}}
\doxysubsubsection{\texorpdfstring{kAAX\_Trace\_Priority\_Critical}{kAAX\_Trace\_Priority\_Critical}}
{\footnotesize\ttfamily \#define k\+AAX\+\_\+\+Trace\+\_\+\+Priority\+\_\+\+Critical~\mbox{\hyperlink{a00446_a2dd667e4dea5781f38832fd9f1725f1ba0dac14ebaf5383be39b103cacbb2eae9}{AAX\+\_\+e\+Trace\+Priority\+Host\+\_\+\+Critical}}}

\mbox{\Hypertarget{a00740_a5edd9a4ac559a4ef99a948c2ebd422db}\label{a00740_a5edd9a4ac559a4ef99a948c2ebd422db}} 
\index{AAX\_Assert.h@{AAX\_Assert.h}!kAAX\_Trace\_Priority\_High@{kAAX\_Trace\_Priority\_High}}
\index{kAAX\_Trace\_Priority\_High@{kAAX\_Trace\_Priority\_High}!AAX\_Assert.h@{AAX\_Assert.h}}
\doxysubsubsection{\texorpdfstring{kAAX\_Trace\_Priority\_High}{kAAX\_Trace\_Priority\_High}}
{\footnotesize\ttfamily \#define k\+AAX\+\_\+\+Trace\+\_\+\+Priority\+\_\+\+High~\mbox{\hyperlink{a00446_a2dd667e4dea5781f38832fd9f1725f1baac76cc64a1379931edbc2bdc0f8aad66}{AAX\+\_\+e\+Trace\+Priority\+Host\+\_\+\+High}}}

\mbox{\Hypertarget{a00740_a8a6953f26f36747357d5d95f96dcf68d}\label{a00740_a8a6953f26f36747357d5d95f96dcf68d}} 
\index{AAX\_Assert.h@{AAX\_Assert.h}!kAAX\_Trace\_Priority\_Normal@{kAAX\_Trace\_Priority\_Normal}}
\index{kAAX\_Trace\_Priority\_Normal@{kAAX\_Trace\_Priority\_Normal}!AAX\_Assert.h@{AAX\_Assert.h}}
\doxysubsubsection{\texorpdfstring{kAAX\_Trace\_Priority\_Normal}{kAAX\_Trace\_Priority\_Normal}}
{\footnotesize\ttfamily \#define k\+AAX\+\_\+\+Trace\+\_\+\+Priority\+\_\+\+Normal~\mbox{\hyperlink{a00446_a2dd667e4dea5781f38832fd9f1725f1ba327226d6962ad7f297506697c2001ce0}{AAX\+\_\+e\+Trace\+Priority\+Host\+\_\+\+Normal}}}

\mbox{\Hypertarget{a00740_abd6b80f2e0a26581086b21b7e7ad0ce9}\label{a00740_abd6b80f2e0a26581086b21b7e7ad0ce9}} 
\index{AAX\_Assert.h@{AAX\_Assert.h}!kAAX\_Trace\_Priority\_Low@{kAAX\_Trace\_Priority\_Low}}
\index{kAAX\_Trace\_Priority\_Low@{kAAX\_Trace\_Priority\_Low}!AAX\_Assert.h@{AAX\_Assert.h}}
\doxysubsubsection{\texorpdfstring{kAAX\_Trace\_Priority\_Low}{kAAX\_Trace\_Priority\_Low}}
{\footnotesize\ttfamily \#define k\+AAX\+\_\+\+Trace\+\_\+\+Priority\+\_\+\+Low~\mbox{\hyperlink{a00446_a2dd667e4dea5781f38832fd9f1725f1ba78edfc70bf7ba33fc5277e4146498c17}{AAX\+\_\+e\+Trace\+Priority\+Host\+\_\+\+Low}}}

\mbox{\Hypertarget{a00740_a68d0297c90a8d294e19ea781f8cda96a}\label{a00740_a68d0297c90a8d294e19ea781f8cda96a}} 
\index{AAX\_Assert.h@{AAX\_Assert.h}!kAAX\_Trace\_Priority\_Lowest@{kAAX\_Trace\_Priority\_Lowest}}
\index{kAAX\_Trace\_Priority\_Lowest@{kAAX\_Trace\_Priority\_Lowest}!AAX\_Assert.h@{AAX\_Assert.h}}
\doxysubsubsection{\texorpdfstring{kAAX\_Trace\_Priority\_Lowest}{kAAX\_Trace\_Priority\_Lowest}}
{\footnotesize\ttfamily \#define k\+AAX\+\_\+\+Trace\+\_\+\+Priority\+\_\+\+Lowest~\mbox{\hyperlink{a00446_a2dd667e4dea5781f38832fd9f1725f1baf101af483c232de54b31eba274a07c4c}{AAX\+\_\+e\+Trace\+Priority\+Host\+\_\+\+Lowest}}}

\mbox{\Hypertarget{a00740_ac2aa820ece56bb59140ad561218db4b3}\label{a00740_ac2aa820ece56bb59140ad561218db4b3}} 
\index{AAX\_Assert.h@{AAX\_Assert.h}!AAX\_TRACE\_RELEASE@{AAX\_TRACE\_RELEASE}}
\index{AAX\_TRACE\_RELEASE@{AAX\_TRACE\_RELEASE}!AAX\_Assert.h@{AAX\_Assert.h}}
\doxysubsubsection{\texorpdfstring{AAX\_TRACE\_RELEASE}{AAX\_TRACE\_RELEASE}}
{\footnotesize\ttfamily \#define AAX\+\_\+\+TRACE\+\_\+\+RELEASE(\begin{DoxyParamCaption}\item[{}]{i\+Priority,  }\item[{}]{... }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \{\ \(\backslash\)}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ AAX\_CHostServices::Trace\ (\ iPriority,\ \_\_VA\_ARGS\_\_\ );\ \(\backslash\)}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \};}

\end{DoxyCode}


Print a trace statement to the log. 

Use this macro to print a trace statement to the log file. This macro will be included in all builds of the plug-\/in.

{\bfseries{Notes }}
\begin{DoxyItemize}
\item This macro is compatible with bost host and embedded (\mbox{\hyperlink{a00948}{AAX}} DSP) environments
\item Subject to a total line limit of 256 chars
\end{DoxyItemize}

{\bfseries{Usage }} Each invocation of this macro takes a trace priority and a {\ttfamily printf}-\/style logging string.

Because output from this macro will be enabled on end users\textquotesingle{} systems under certain tracing configurations, logs should always be formatted with some standard information to avoid confusion between logs from different plug-\/ins. This is the recommended formatting for AAX\+\_\+\+TRACE\+\_\+\+RELEASE logs\+:

{\ttfamily \mbox{[}Manufacturer name\mbox{]} \mbox{[}Plug-\/in name\mbox{]} \mbox{[}Plug-\/in version\mbox{]}\mbox{[}logging text (indented)\mbox{]} }

For example\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{a00740_ac2aa820ece56bb59140ad561218db4b3}{AAX\_TRACE\_RELEASE}}(\mbox{\hyperlink{a00740_a8a6953f26f36747357d5d95f96dcf68d}{kAAX\_Trace\_Priority\_Normal}},\ \textcolor{stringliteral}{"{}\%s\ \%s\ \%s;\(\backslash\)tMy\ float:\ \%f,\ My\ C-\/string:\ \%s"{}},}
\DoxyCodeLine{\ \ \ \ \textcolor{stringliteral}{"{}MyCompany"{}},\ \textcolor{stringliteral}{"{}MyPlugIn"{}},\ \textcolor{stringliteral}{"{}1.0.2"{}},\ myFloat,\ myCString);}

\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{a00930}{Digi\+Trace Guide}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{a00740_a51f7dcc4ce960ab8855ec97f031a1463}\label{a00740_a51f7dcc4ce960ab8855ec97f031a1463}} 
\index{AAX\_Assert.h@{AAX\_Assert.h}!AAX\_STACKTRACE\_RELEASE@{AAX\_STACKTRACE\_RELEASE}}
\index{AAX\_STACKTRACE\_RELEASE@{AAX\_STACKTRACE\_RELEASE}!AAX\_Assert.h@{AAX\_Assert.h}}
\doxysubsubsection{\texorpdfstring{AAX\_STACKTRACE\_RELEASE}{AAX\_STACKTRACE\_RELEASE}}
{\footnotesize\ttfamily \#define AAX\+\_\+\+STACKTRACE\+\_\+\+RELEASE(\begin{DoxyParamCaption}\item[{}]{i\+Priority,  }\item[{}]{... }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \{\ \(\backslash\)}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ AAX\_CHostServices::StackTrace\ (\ iPriority,\ iPriority,\ \_\_VA\_ARGS\_\_\ );\ \(\backslash\)}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \};}

\end{DoxyCode}


Print a stack trace statement to the log. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{a00740_ac2aa820ece56bb59140ad561218db4b3}{AAX\+\_\+\+TRACE\+\_\+\+RELEASE}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{a00740_a74f610a8e4359a5fc3eae89be3eb3a4b}\label{a00740_a74f610a8e4359a5fc3eae89be3eb3a4b}} 
\index{AAX\_Assert.h@{AAX\_Assert.h}!AAX\_TRACEORSTACKTRACE\_RELEASE@{AAX\_TRACEORSTACKTRACE\_RELEASE}}
\index{AAX\_TRACEORSTACKTRACE\_RELEASE@{AAX\_TRACEORSTACKTRACE\_RELEASE}!AAX\_Assert.h@{AAX\_Assert.h}}
\doxysubsubsection{\texorpdfstring{AAX\_TRACEORSTACKTRACE\_RELEASE}{AAX\_TRACEORSTACKTRACE\_RELEASE}}
{\footnotesize\ttfamily \#define AAX\+\_\+\+TRACEORSTACKTRACE\+\_\+\+RELEASE(\begin{DoxyParamCaption}\item[{}]{i\+Trace\+Priority,  }\item[{}]{i\+Stack\+Trace\+Priority,  }\item[{}]{... }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \{\ \(\backslash\)}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ AAX\_CHostServices::StackTrace\ (\ iTracePriority,\ iStackTracePriority,\ \_\_VA\_ARGS\_\_\ );\ \(\backslash\)}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \};}

\end{DoxyCode}


Print a trace statement with an optional stack trace to the log. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Trace\+Priority} & The log priority at which the trace statement will be printed \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Stack\+Trace\+Priority} & The log priority at which the stack trace will be printed\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{a00740_ac2aa820ece56bb59140ad561218db4b3}{AAX\+\_\+\+TRACE\+\_\+\+RELEASE}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{a00740_a168ee44fd7a5485ab50160db36fb2988}\label{a00740_a168ee44fd7a5485ab50160db36fb2988}} 
\index{AAX\_Assert.h@{AAX\_Assert.h}!AAX\_ASSERT@{AAX\_ASSERT}}
\index{AAX\_ASSERT@{AAX\_ASSERT}!AAX\_Assert.h@{AAX\_Assert.h}}
\doxysubsubsection{\texorpdfstring{AAX\_ASSERT}{AAX\_ASSERT}}
{\footnotesize\ttfamily \#define AAX\+\_\+\+ASSERT(\begin{DoxyParamCaption}\item[{}]{condition }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \{\ \(\backslash\)}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ if(\ !\ (\ condition\ )\ )\ \{\ \(\backslash\)}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ AAX\_CHostServices::HandleAssertFailure(\ \_\_FILE\_\_,\ \_\_LINE\_\_,\ \#condition,\ (int32\_t)\mbox{\hyperlink{a00446_ab87a565fcd58c3d860d50a210b264985a1c2b5df0614f69507692c604a83e76f4}{AAX\_eAssertFlags\_Log}}\ );\ \(\backslash\)}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \(\backslash\)}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \};}

\end{DoxyCode}


Asserts that a condition is true and logs an error if the condition is false. 

{\bfseries{Notes }}
\begin{DoxyItemize}
\item This macro will be compiled out of release builds.
\item This macro is compatible with bost host and embedded (\mbox{\hyperlink{a00948}{AAX}} DSP) environments.
\end{DoxyItemize}

{\bfseries{Usage }} Each invocation of this macro takes a single argument, which is interpreted as a {\ttfamily bool}.


\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{a00740_a168ee44fd7a5485ab50160db36fb2988}{AAX\_ASSERT}}(desiredValue\ ==\ variableUnderTest);}

\end{DoxyCode}
 \mbox{\Hypertarget{a00740_aa0253bd2994036fcfd6629ecf465d543}\label{a00740_aa0253bd2994036fcfd6629ecf465d543}} 
\index{AAX\_Assert.h@{AAX\_Assert.h}!AAX\_DEBUGASSERT@{AAX\_DEBUGASSERT}}
\index{AAX\_DEBUGASSERT@{AAX\_DEBUGASSERT}!AAX\_Assert.h@{AAX\_Assert.h}}
\doxysubsubsection{\texorpdfstring{AAX\_DEBUGASSERT}{AAX\_DEBUGASSERT}}
{\footnotesize\ttfamily \#define AAX\+\_\+\+DEBUGASSERT(\begin{DoxyParamCaption}\item[{}]{condition }\end{DoxyParamCaption})~do \{ ; \} while (0)}



Asserts that a condition is true and logs an error if the condition is false (debug plug-\/in builds only) 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{a00740_a168ee44fd7a5485ab50160db36fb2988}{AAX\+\_\+\+ASSERT}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{a00740_ab53f1d6a94f8b6ebb3a101f71bfe4e82}\label{a00740_ab53f1d6a94f8b6ebb3a101f71bfe4e82}} 
\index{AAX\_Assert.h@{AAX\_Assert.h}!AAX\_TRACE@{AAX\_TRACE}}
\index{AAX\_TRACE@{AAX\_TRACE}!AAX\_Assert.h@{AAX\_Assert.h}}
\doxysubsubsection{\texorpdfstring{AAX\_TRACE}{AAX\_TRACE}}
{\footnotesize\ttfamily \#define AAX\+\_\+\+TRACE(\begin{DoxyParamCaption}\item[{}]{i\+Priority,  }\item[{}]{... }\end{DoxyParamCaption})~do \{ ; \} while (0)}



Print a trace statement to the log (debug plug-\/in builds only) 

Use this macro to print a trace statement to the log file from debug builds of a plug-\/in.

{\bfseries{Notes }}
\begin{DoxyItemize}
\item This macro will be compiled out of release builds
\item This macro is compatible with bost host and embedded (\mbox{\hyperlink{a00948}{AAX}} DSP) environments
\item Subject to a total line limit of 256 chars
\end{DoxyItemize}

{\bfseries{Usage }} Each invocation of this macro takes a trace priority and a {\ttfamily printf}-\/style logging string. For example\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{a00740_ab53f1d6a94f8b6ebb3a101f71bfe4e82}{AAX\_TRACE}}(\mbox{\hyperlink{a00740_a8a6953f26f36747357d5d95f96dcf68d}{kAAX\_Trace\_Priority\_Normal}},\ \textcolor{stringliteral}{"{}My\ float:\ \%f,\ My\ C-\/string:\ \%s"{}},\ myFloat,\ myCString);}

\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{a00930}{Digi\+Trace Guide}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{a00740_ae871829dd7297e4a5ae6c7094f6b5398}\label{a00740_ae871829dd7297e4a5ae6c7094f6b5398}} 
\index{AAX\_Assert.h@{AAX\_Assert.h}!AAX\_STACKTRACE@{AAX\_STACKTRACE}}
\index{AAX\_STACKTRACE@{AAX\_STACKTRACE}!AAX\_Assert.h@{AAX\_Assert.h}}
\doxysubsubsection{\texorpdfstring{AAX\_STACKTRACE}{AAX\_STACKTRACE}}
{\footnotesize\ttfamily \#define AAX\+\_\+\+STACKTRACE(\begin{DoxyParamCaption}\item[{}]{i\+Priority,  }\item[{}]{... }\end{DoxyParamCaption})~do \{ ; \} while (0)}



Print a stack trace statement to the log (debug builds only) 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{a00740_ab53f1d6a94f8b6ebb3a101f71bfe4e82}{AAX\+\_\+\+TRACE}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{a00740_a96862f9cb28b6a49eb5dbd6da9975ed1}\label{a00740_a96862f9cb28b6a49eb5dbd6da9975ed1}} 
\index{AAX\_Assert.h@{AAX\_Assert.h}!AAX\_TRACEORSTACKTRACE@{AAX\_TRACEORSTACKTRACE}}
\index{AAX\_TRACEORSTACKTRACE@{AAX\_TRACEORSTACKTRACE}!AAX\_Assert.h@{AAX\_Assert.h}}
\doxysubsubsection{\texorpdfstring{AAX\_TRACEORSTACKTRACE}{AAX\_TRACEORSTACKTRACE}}
{\footnotesize\ttfamily \#define AAX\+\_\+\+TRACEORSTACKTRACE(\begin{DoxyParamCaption}\item[{}]{i\+Trace\+Priority,  }\item[{}]{i\+Stack\+Trace\+Priority,  }\item[{}]{... }\end{DoxyParamCaption})~do \{ ; \} while (0)}



Print a trace statement with an optional stack trace to the log (debug builds only) 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Trace\+Priority} & The log priority at which the trace statement will be printed \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Stack\+Trace\+Priority} & The log priority at which the stack trace will be printed\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{a00740_ab53f1d6a94f8b6ebb3a101f71bfe4e82}{AAX\+\_\+\+TRACE}} 
\end{DoxySeeAlso}


\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{a00740_a28ae6ea1f243f005a891c5c77a5a5211}\label{a00740_a28ae6ea1f243f005a891c5c77a5a5211}} 
\index{AAX\_Assert.h@{AAX\_Assert.h}!AAX\_ETracePriority@{AAX\_ETracePriority}}
\index{AAX\_ETracePriority@{AAX\_ETracePriority}!AAX\_Assert.h@{AAX\_Assert.h}}
\doxysubsubsection{\texorpdfstring{AAX\_ETracePriority}{AAX\_ETracePriority}}
{\footnotesize\ttfamily typedef \mbox{\hyperlink{a00446_a2dd667e4dea5781f38832fd9f1725f1b}{AAX\+\_\+\+ETrace\+Priority\+Host}} \mbox{\hyperlink{a00446_a2dd667e4dea5781f38832fd9f1725f1b}{AAX\+\_\+\+ETrace\+Priority}}}

