\label{doc_usecases_core_UC_keyset_index_access_md_md_doc_usecases_core_UC_keyset_index_access}%
\Hypertarget{doc_usecases_core_UC_keyset_index_access_md_md_doc_usecases_core_UC_keyset_index_access}%
 \hypertarget{doc_usecases_core_UC_keyset_index_access_md_autotoc_md4826}{}\doxysection{Summary}\label{doc_usecases_core_UC_keyset_index_access_md_autotoc_md4826}

\begin{DoxyItemize}
\item {\bfseries{Scope\+:}} {\ttfamily libelektra-\/core}
\item {\bfseries{Level\+:}} Developer Goal
\item {\bfseries{Actors\+:}} Core, Caller
\item {\bfseries{Brief\+:}} Caller accesses contents of {\ttfamily Key\+Set} by index
\end{DoxyItemize}\hypertarget{doc_usecases_core_UC_keyset_index_access_md_autotoc_md4827}{}\doxysection{Scenarios}\label{doc_usecases_core_UC_keyset_index_access_md_autotoc_md4827}

\begin{DoxyItemize}
\item {\bfseries{Precondition\+:}}
\begin{DoxyItemize}
\item \mbox{\hyperlink{doc_usecases_core_UC_keyset_create_md}{\`{}\+Key\+Set\`{} has been created}}.
\item \mbox{\hyperlink{doc_usecases_core_UC_keyset_insert_md}{\`{}\+Key\`{} has been inserted into \`{}\+Key\+Set\`{}}}.
\end{DoxyItemize}
\item {\bfseries{Main success scenario\+:}}
\begin{DoxyItemize}
\item Caller requests {\ttfamily Key} at valid index ({\ttfamily 0 $<$= i $<$ size}) from {\ttfamily Key\+Set}
\item Core returns {\ttfamily Key $\ast$} for {\ttfamily Key} at index
\end{DoxyItemize}
\item {\bfseries{Alternative scenario\+:}} -\/
\item {\bfseries{Error scenario\+:}}
\begin{DoxyItemize}
\item Caller requests {\ttfamily Key} at invalid index ({\ttfamily i $<$ 0 $\vert$$\vert$ i $>$= size}) from {\ttfamily Key\+Set}
\item Core returns {\ttfamily NULL}
\end{DoxyItemize}
\item {\bfseries{Postcondition\+:}}
\begin{DoxyItemize}
\item The returned {\ttfamily Key $\ast$} MUST be valid until the {\ttfamily Key} is removed from the {\ttfamily Key\+Set}.
\end{DoxyItemize}
\item {\bfseries{Non-\/functional Constraints\+:}} -\/ 
\end{DoxyItemize}