\hypertarget{group__api}{}\section{A\+PI Proposals for Elektra}
\label{group__api}\index{A\+P\+I Proposals for Elektra@{A\+P\+I Proposals for Elektra}}


for kdb.\+h.  


Collaboration diagram for A\+PI Proposals for Elektra\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{group__api}
\end{center}
\end{figure}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
ssize\+\_\+t \hyperlink{group__api_ga812eb6c4f506dafa5733bf531c52199c}{key\+Set\+StringF} (Key $\ast$key, const char $\ast$format,...)
\begin{DoxyCompactList}\small\item\em Set a formatted string. \end{DoxyCompactList}\item 
Key\+Set $\ast$ \hyperlink{group__api_ga48120f254e09e0c5cceff4864f110ceb}{elektra\+Key\+Get\+Meta\+Key\+Set} (const Key $\ast$key)
\begin{DoxyCompactList}\small\item\em Return metadata as keyset. \end{DoxyCompactList}\item 
Key $\ast$ \hyperlink{group__api_ga144904407e2014d5d597c10f4041738e}{ks\+Pop\+At\+Cursor} (Key\+Set $\ast$ks, elektra\+Cursor pos)
\begin{DoxyCompactList}\small\item\em Pop key at given cursor position. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
for kdb.\+h. 

\begin{DoxyWarning}{Warning}
Do not use these methods if you do not want to depend on exactly the Elektra version your binary was built for.
\end{DoxyWarning}
These methods are a technical preview of what might be added in future Elektra releases. It is a requirement that methods are first added here, before they are added to the public A\+PI.

Usually, names in proposal stage should be prefixed with elektra to clearly mark that the signature is likely to be changed and not yet A\+BI compatible. 

\subsection{Function Documentation}
\mbox{\Hypertarget{group__api_ga48120f254e09e0c5cceff4864f110ceb}\label{group__api_ga48120f254e09e0c5cceff4864f110ceb}} 
\index{A\+P\+I Proposals for Elektra@{A\+P\+I Proposals for Elektra}!elektra\+Key\+Get\+Meta\+Key\+Set@{elektra\+Key\+Get\+Meta\+Key\+Set}}
\index{elektra\+Key\+Get\+Meta\+Key\+Set@{elektra\+Key\+Get\+Meta\+Key\+Set}!A\+P\+I Proposals for Elektra@{A\+P\+I Proposals for Elektra}}
\subsubsection{\texorpdfstring{elektra\+Key\+Get\+Meta\+Key\+Set()}{elektraKeyGetMetaKeySet()}}
{\footnotesize\ttfamily Key\+Set$\ast$ elektra\+Key\+Get\+Meta\+Key\+Set (\begin{DoxyParamCaption}\item[{const Key $\ast$}]{key }\end{DoxyParamCaption})}



Return metadata as keyset. 


\begin{DoxyParams}{Parameters}
{\em key} & the key object to work with\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a duplication of the keyset representing the metadata 
\end{DoxyReturn}
\mbox{\Hypertarget{group__api_ga812eb6c4f506dafa5733bf531c52199c}\label{group__api_ga812eb6c4f506dafa5733bf531c52199c}} 
\index{A\+P\+I Proposals for Elektra@{A\+P\+I Proposals for Elektra}!key\+Set\+StringF@{key\+Set\+StringF}}
\index{key\+Set\+StringF@{key\+Set\+StringF}!A\+P\+I Proposals for Elektra@{A\+P\+I Proposals for Elektra}}
\subsubsection{\texorpdfstring{key\+Set\+String\+F()}{keySetStringF()}}
{\footnotesize\ttfamily ssize\+\_\+t key\+Set\+StringF (\begin{DoxyParamCaption}\item[{Key $\ast$}]{key,  }\item[{const char $\ast$}]{format,  }\item[{}]{... }\end{DoxyParamCaption})}



Set a formatted string. 


\begin{DoxyParams}{Parameters}
{\em key} & the key to set the string value \\
\hline
{\em format} & N\+U\+L\+L-\/terminated text format string \\
\hline
{\em ...} & more arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the size of the string as set (with including 0) 
\end{DoxyReturn}
\mbox{\Hypertarget{group__api_ga144904407e2014d5d597c10f4041738e}\label{group__api_ga144904407e2014d5d597c10f4041738e}} 
\index{A\+P\+I Proposals for Elektra@{A\+P\+I Proposals for Elektra}!ks\+Pop\+At\+Cursor@{ks\+Pop\+At\+Cursor}}
\index{ks\+Pop\+At\+Cursor@{ks\+Pop\+At\+Cursor}!A\+P\+I Proposals for Elektra@{A\+P\+I Proposals for Elektra}}
\subsubsection{\texorpdfstring{ks\+Pop\+At\+Cursor()}{ksPopAtCursor()}}
{\footnotesize\ttfamily Key$\ast$ ks\+Pop\+At\+Cursor (\begin{DoxyParamCaption}\item[{Key\+Set $\ast$}]{ks,  }\item[{elektra\+Cursor}]{pos }\end{DoxyParamCaption})}



Pop key at given cursor position. 


\begin{DoxyParams}{Parameters}
{\em ks} & the keyset to pop key from \\
\hline
{\em c} & where to pop\\
\hline
\end{DoxyParams}
The internal cursor will be rewinded using \hyperlink{group__keyset_gabe793ff51f1728e3429c84a8a9086b70}{ks\+Rewind()}. You can use \hyperlink{group__keyset_gace0444eb8ec958a429794f8586fc72e7}{ks\+Get\+Cursor()} and \hyperlink{group__keyset_ga28b2a7d13c620b3c9d4815a0608c738f}{ks\+Set\+Cursor()} jump back to the previous position. e.\+g. to pop at current position within \hyperlink{group__keyset_ga317321c9065b5a4b3e33fe1c399bcec9}{ks\+Next()} loop\+: 
\begin{DoxyCode}
elektraCursor c = \hyperlink{group__keyset_gace0444eb8ec958a429794f8586fc72e7}{ksGetCursor}(ks);
\hyperlink{group__key_ga3df95bbc2494e3e6703ece5639be5bb1}{keyDel} (\hyperlink{group__api_ga144904407e2014d5d597c10f4041738e}{ksPopAtCursor}(ks, c));
\hyperlink{group__keyset_ga28b2a7d13c620b3c9d4815a0608c738f}{ksSetCursor}(ks, c);
ksPrev(ks); \textcolor{comment}{// to have correct key after next ksNext()}
\end{DoxyCode}


\begin{DoxyWarning}{Warning}
do not use, will be superseded by external iterator A\+PI
\end{DoxyWarning}
\begin{DoxyReturn}{Returns}
the popped key 
\end{DoxyReturn}

\begin{DoxyRetVals}{Return values}
{\em 0} & if ks is 0 \\
\hline
\end{DoxyRetVals}
