\hypertarget{md_doc_decisions_null_pointer_checks_autotoc_md2062}{}\doxysection{Problem}\label{md_doc_decisions_null_pointer_checks_autotoc_md2062}
Currently all functions do proper argument checking which might degrade performance.\hypertarget{md_doc_decisions_null_pointer_checks_autotoc_md2063}{}\doxysection{Constraints}\label{md_doc_decisions_null_pointer_checks_autotoc_md2063}
\hypertarget{md_doc_decisions_null_pointer_checks_autotoc_md2064}{}\doxysection{Assumptions}\label{md_doc_decisions_null_pointer_checks_autotoc_md2064}
\hypertarget{md_doc_decisions_null_pointer_checks_autotoc_md2065}{}\doxysection{Considered Alternatives}\label{md_doc_decisions_null_pointer_checks_autotoc_md2065}

\begin{DoxyItemize}
\item Removing all null pointer checks and do assert on debug code
\item Removing some null pointer checks
\item adding functional high-\/level methods that avoid most null pointer checks
\end{DoxyItemize}\hypertarget{md_doc_decisions_null_pointer_checks_autotoc_md2066}{}\doxysection{Decision}\label{md_doc_decisions_null_pointer_checks_autotoc_md2066}
Rejected (keep checks) due to time constraints\hypertarget{md_doc_decisions_null_pointer_checks_autotoc_md2067}{}\doxysection{Rationale}\label{md_doc_decisions_null_pointer_checks_autotoc_md2067}

\begin{DoxyItemize}
\item should have consistent, defined behavior
\end{DoxyItemize}\hypertarget{md_doc_decisions_null_pointer_checks_autotoc_md2068}{}\doxysection{Implications}\label{md_doc_decisions_null_pointer_checks_autotoc_md2068}

\begin{DoxyItemize}
\item ABI, API
\end{DoxyItemize}\hypertarget{md_doc_decisions_null_pointer_checks_autotoc_md2069}{}\doxysection{Related Decisions}\label{md_doc_decisions_null_pointer_checks_autotoc_md2069}
\hypertarget{md_doc_decisions_null_pointer_checks_autotoc_md2070}{}\doxysection{Notes}\label{md_doc_decisions_null_pointer_checks_autotoc_md2070}

\begin{DoxyItemize}
\item Benchmarks needed 
\end{DoxyItemize}