\doxysection{List Functions}
\hypertarget{group__list__functions}{}\label{group__list__functions}\index{List Functions@{List Functions}}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{bool}} \mbox{\hyperlink{group__list__functions_ga776993c1408e78f466e9b11aff7ecc46}{Qore\+::inlist}} ()
\begin{DoxyCompactList}\small\item\em This function variant does nothing at all. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{bool}} \mbox{\hyperlink{group__list__functions_ga67118489d63343ab95f887d785157c51}{Qore\+::inlist}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{any}} arg, \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{nothing}} \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{x}})
\begin{DoxyCompactList}\small\item\em This function variant does nothing at all. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{bool}} \mbox{\hyperlink{group__list__functions_ga1fa8462e9bb051d40f5e60de8504fc85}{Qore\+::inlist}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} arg, \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{softlist}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}})
\begin{DoxyCompactList}\small\item\em Returns \doxysectlink{basic_data_types_True}{True}{2} if the first argument is a member of the second argument list using soft comparisons (with implicit type conversions), \doxysectlink{basic_data_types_False}{False}{2} if not. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{bool}} \mbox{\hyperlink{group__list__functions_ga1fdf41e61754093da9f8a3b40e2a9cea}{Qore\+::inlist\+\_\+hard}} ()
\begin{DoxyCompactList}\small\item\em This function variant does nothing at all. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{bool}} \mbox{\hyperlink{group__list__functions_ga4668ef52b2c07e8768118bc7c8638414}{Qore\+::inlist\+\_\+hard}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{any}} arg, \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{nothing}} \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{x}})
\begin{DoxyCompactList}\small\item\em This function variant does nothing at all. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{bool}} \mbox{\hyperlink{group__list__functions_ga15056f0f1b38aff845c6ca3dfefd3c54}{Qore\+::inlist\+\_\+hard}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} arg, \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{softlist}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}})
\begin{DoxyCompactList}\small\item\em Returns \doxysectlink{basic_data_types_True}{True}{2} if the first argument is a member of the second argument list using hard comparisons (without any implicit type conversions), \doxysectlink{basic_data_types_False}{False}{2} if not. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} \mbox{\hyperlink{group__list__functions_ga67a04aa765442456f353bf8b38b50e0e}{Qore\+::max}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}})
\begin{DoxyCompactList}\small\item\em Returns the maximum value in a list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} \mbox{\hyperlink{group__list__functions_ga1b2222960f25089fffe260cbc66b3fcb}{Qore\+::max}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{func}})
\begin{DoxyCompactList}\small\item\em Returns the maximum value in a list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} \mbox{\hyperlink{group__list__functions_ga3cff204a3ac62a6fd5690805caba38d0}{Qore\+::max}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, code \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{f}})
\begin{DoxyCompactList}\small\item\em Returns the maximum value in a list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} \mbox{\hyperlink{group__list__functions_ga748c43cafa3ab5aef9e24d983e89f047}{Qore\+::max}} (...)
\begin{DoxyCompactList}\small\item\em Returns the maximum value of the arguments passed to the function. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} \mbox{\hyperlink{group__list__functions_ga82c657a31963077edb54dd9b54b4683a}{Qore\+::min}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}})
\begin{DoxyCompactList}\small\item\em Returns the minumum value in a list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} \mbox{\hyperlink{group__list__functions_gacb7f83f203b362521f60a2ffeada3658}{Qore\+::min}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{func}})
\begin{DoxyCompactList}\small\item\em Returns the minumum value in a list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} \mbox{\hyperlink{group__list__functions_gacdcdbb97650be35e84a44a86ebf1deed}{Qore\+::min}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, code \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{f}})
\begin{DoxyCompactList}\small\item\em Returns the minumum value in a list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} \mbox{\hyperlink{group__list__functions_gadd91030761ee2fa0b1783f76b2ea467c}{Qore\+::min}} (...)
\begin{DoxyCompactList}\small\item\em Returns the minumum value of the arguments passed to the function. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} $>$ \mbox{\hyperlink{group__list__functions_ga0bf214ec2c777032a6078bd979637e69}{Qore\+::range}} (\mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{start}}, \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} stop, \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{step}}=1)
\begin{DoxyCompactList}\small\item\em Returns a list containing an arithmetic progression of integers. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} $>$ \mbox{\hyperlink{group__list__functions_ga74a1dd2ee35e7ae10f3bccb68b56e9ea}{Qore\+::range}} (\mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} stop)
\begin{DoxyCompactList}\small\item\em Returns a list containing an arithmetic progression of integers with start = 0 and step = 1. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{nothing}} \mbox{\hyperlink{group__list__functions_ga8d6317ddd1278a3a8ee255ec160333c3}{Qore\+::reverse}} ()
\begin{DoxyCompactList}\small\item\em This function variant does nothing at all. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_gadf24f99f9547d317e081f8d26c31decb}{Qore\+::reverse}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}})
\begin{DoxyCompactList}\small\item\em Reverses a list and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} \mbox{\hyperlink{group__list__functions_gaff8cac5bd5ffb29fb750e273e4e8fe92}{Qore\+::sort}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} arg)
\begin{DoxyCompactList}\small\item\em This function variant does nothing at all. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_ga7bc9cde41c96aae005878b9ba8b50996}{Qore\+::sort}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}})
\begin{DoxyCompactList}\small\item\em Performs an unstable sort in ascending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_gab5f32852ee7c739a46136859a28edaa8}{Qore\+::sort}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{func}})
\begin{DoxyCompactList}\small\item\em Performs an unstable sort in ascending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_ga203d9ab4f39a7779dcb666f6f9477ffb}{Qore\+::sort}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, code \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{f}})
\begin{DoxyCompactList}\small\item\em Performs an unstable sort in ascending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} \mbox{\hyperlink{group__list__functions_gad9e205ca0a43f52a1388611b54521c19}{Qore\+::sort\+Descending}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} arg)
\begin{DoxyCompactList}\small\item\em This function variant does nothing at all. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_gad54b8a02d2c883f047e664c49211bf11}{Qore\+::sort\+Descending}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}})
\begin{DoxyCompactList}\small\item\em Performs an unstable sort in descending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_gae9395c79d35b26bfb8347ed88346b9a2}{Qore\+::sort\+Descending}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{func}})
\begin{DoxyCompactList}\small\item\em Performs an unstable sort in descending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_ga0c5c62c898a87542db7fc6f24b4f5302}{Qore\+::sort\+Descending}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, code \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{f}})
\begin{DoxyCompactList}\small\item\em Performs an unstable sort in descending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} \mbox{\hyperlink{group__list__functions_gacd07eea87f385a0bb8764a9fa5b47075}{Qore\+::sort\+Descending\+Stable}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} arg)
\begin{DoxyCompactList}\small\item\em This function variant does nothing at all. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_gaaa91d21c4ca952412d24c5e56dc234d9}{Qore\+::sort\+Descending\+Stable}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}})
\begin{DoxyCompactList}\small\item\em Performs a stable sort in descending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_gad2f335f27dbcf04054d81f722d501523}{Qore\+::sort\+Descending\+Stable}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{func}})
\begin{DoxyCompactList}\small\item\em Performs a stable sort in descending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_ga86422aa7024efb5758b7eca0fe60064a}{Qore\+::sort\+Descending\+Stable}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, code \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{f}})
\begin{DoxyCompactList}\small\item\em Performs a stable sort in descending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} \mbox{\hyperlink{group__list__functions_ga6202469e6119631474b685952cefe11f}{Qore\+::sort\+Stable}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} arg)
\begin{DoxyCompactList}\small\item\em This function variant does nothing at all. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_ga235144befca6fe42001133e65568a54d}{Qore\+::sort\+Stable}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}})
\begin{DoxyCompactList}\small\item\em Performs a stable sort in ascending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_ga69d2747df7b021b83da4c40222caddb0}{Qore\+::sort\+Stable}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{func}})
\begin{DoxyCompactList}\small\item\em Performs a stable sort in ascending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_gaaefd1b7c506736541e306517cfd9d228}{Qore\+::sort\+Stable}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, code \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{f}})
\begin{DoxyCompactList}\small\item\em Performs a stable sort in ascending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} \mbox{\hyperlink{group__list__functions_ga0149391f4fb2c97dd4ad2080f9240753}{Qore\+::sort\+\_\+descending}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} arg)
\begin{DoxyCompactList}\small\item\em This function variant does nothing at all. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_ga6af37f0b528729df1a88b614727d7894}{Qore\+::sort\+\_\+descending}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}})
\begin{DoxyCompactList}\small\item\em Performs an unstable sort in descending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_gaaa5c91fb80b8fbb196deea9706c53637}{Qore\+::sort\+\_\+descending}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{func}})
\begin{DoxyCompactList}\small\item\em Performs an unstable sort in descending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_gaf1a4d22195c41fbae7a177f8033ab83b}{Qore\+::sort\+\_\+descending}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, code \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{f}})
\begin{DoxyCompactList}\small\item\em Performs an unstable sort in descending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} \mbox{\hyperlink{group__list__functions_ga59bf2466a7bd64db585ad1b2b5f7ae7d}{Qore\+::sort\+\_\+descending\+\_\+stable}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} arg)
\begin{DoxyCompactList}\small\item\em This function variant does nothing at all. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_ga37d7c190707fdb7d88f72c2eb0c7bad8}{Qore\+::sort\+\_\+descending\+\_\+stable}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}})
\begin{DoxyCompactList}\small\item\em Performs a stable sort in descending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_ga30e016ca1469bd2502df83fb07e2bd88}{Qore\+::sort\+\_\+descending\+\_\+stable}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{func}})
\begin{DoxyCompactList}\small\item\em Performs a stable sort in descending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_ga624b46ceb80f6e86d867d0e3db79b346}{Qore\+::sort\+\_\+descending\+\_\+stable}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, code \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{f}})
\begin{DoxyCompactList}\small\item\em Performs a stable sort in descending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} \mbox{\hyperlink{group__list__functions_gad03629b1133f3a6b47a2f33792801dbf}{Qore\+::sort\+\_\+stable}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} arg)
\begin{DoxyCompactList}\small\item\em This function variant does nothing at all. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_ga0cee8fcfee6501a7de9510c6a89fbfb0}{Qore\+::sort\+\_\+stable}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}})
\begin{DoxyCompactList}\small\item\em Performs a stable sort in ascending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_gacda245ada866f057bcce740031b66245}{Qore\+::sort\+\_\+stable}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{func}})
\begin{DoxyCompactList}\small\item\em Performs a stable sort in ascending order and returns the new list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__list__functions_ga776f8d8c6883c0aa792031c095cf8fba}{Qore\+::sort\+\_\+stable}} (\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{l}}, code \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{f}})
\begin{DoxyCompactList}\small\item\em Performs a stable sort in ascending order and returns the new list. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
List functions 

\doxysubsection{Function Documentation}
\Hypertarget{group__list__functions_ga776993c1408e78f466e9b11aff7ecc46}\label{group__list__functions_ga776993c1408e78f466e9b11aff7ecc46} 
\index{List Functions@{List Functions}!inlist@{inlist}}
\index{inlist@{inlist}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{inlist()}{inlist()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{bool}} Qore\+::inlist (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



This function variant does nothing at all. 

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_NOOP}{NOOP}{1}
\end{DoxyParagraph}
It is only included for backwards-\/compatibility with qore prior to version 0.\+8.\+0 for functions that would ignore type errors in arguments \Hypertarget{group__list__functions_ga67118489d63343ab95f887d785157c51}\label{group__list__functions_ga67118489d63343ab95f887d785157c51} 
\index{List Functions@{List Functions}!inlist@{inlist}}
\index{inlist@{inlist}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{inlist()}{inlist()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{bool}} Qore\+::inlist (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{any}}}]{arg,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{nothing}}}]{x }\end{DoxyParamCaption})}



This function variant does nothing at all. 

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_NOOP}{NOOP}{1}
\end{DoxyParagraph}
It is only included for backwards-\/compatibility with qore prior to version 0.\+8.\+0 for functions that would ignore type errors in arguments \Hypertarget{group__list__functions_ga1fa8462e9bb051d40f5e60de8504fc85}\label{group__list__functions_ga1fa8462e9bb051d40f5e60de8504fc85} 
\index{List Functions@{List Functions}!inlist@{inlist}}
\index{inlist@{inlist}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{inlist()}{inlist()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{bool}} Qore\+::inlist (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}}}]{arg,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{softlist}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l }\end{DoxyParamCaption})}



Returns \doxysectlink{basic_data_types_True}{True}{2} if the first argument is a member of the second argument list using soft comparisons (with implicit type conversions), \doxysectlink{basic_data_types_False}{False}{2} if not. 

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keywordflow}{if}\ (inlist(str,\ strlist))}
\DoxyCodeLine{\ \ \ \ printf(\textcolor{stringliteral}{"{}\%y\ is\ in\ \%y\(\backslash\)n"{}},\ str,\ strlist);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em arg} & the argument to look for in the list \\
\hline
{\em l} & the list to search for the first argument {\itshape arg} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxysectlink{basic_data_types_True}{True}{2} if the first argument is a member of the second argument list using soft comparisons (with implicit type conversions), \doxysectlink{basic_data_types_False}{False}{2} if not
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\doxylink{group__list__functions_ga15056f0f1b38aff845c6ca3dfefd3c54}{inlist\+\_\+hard(auto, softlist$<$auto$>$)} 
\end{DoxySeeAlso}
\Hypertarget{group__list__functions_ga1fdf41e61754093da9f8a3b40e2a9cea}\label{group__list__functions_ga1fdf41e61754093da9f8a3b40e2a9cea} 
\index{List Functions@{List Functions}!inlist\_hard@{inlist\_hard}}
\index{inlist\_hard@{inlist\_hard}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{inlist\_hard()}{inlist\_hard()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{bool}} Qore\+::inlist\+\_\+hard (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



This function variant does nothing at all. 

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_NOOP}{NOOP}{1}
\end{DoxyParagraph}
It is only included for backwards-\/compatibility with qore prior to version 0.\+8.\+0 for functions that would ignore type errors in arguments \Hypertarget{group__list__functions_ga4668ef52b2c07e8768118bc7c8638414}\label{group__list__functions_ga4668ef52b2c07e8768118bc7c8638414} 
\index{List Functions@{List Functions}!inlist\_hard@{inlist\_hard}}
\index{inlist\_hard@{inlist\_hard}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{inlist\_hard()}{inlist\_hard()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{bool}} Qore\+::inlist\+\_\+hard (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{any}}}]{arg,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{nothing}}}]{x }\end{DoxyParamCaption})}



This function variant does nothing at all. 

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_NOOP}{NOOP}{1}
\end{DoxyParagraph}
It is only included for backwards-\/compatibility with qore prior to version 0.\+8.\+0 for functions that would ignore type errors in arguments \Hypertarget{group__list__functions_ga15056f0f1b38aff845c6ca3dfefd3c54}\label{group__list__functions_ga15056f0f1b38aff845c6ca3dfefd3c54} 
\index{List Functions@{List Functions}!inlist\_hard@{inlist\_hard}}
\index{inlist\_hard@{inlist\_hard}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{inlist\_hard()}{inlist\_hard()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{bool}} Qore\+::inlist\+\_\+hard (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}}}]{arg,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{softlist}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l }\end{DoxyParamCaption})}



Returns \doxysectlink{basic_data_types_True}{True}{2} if the first argument is a member of the second argument list using hard comparisons (without any implicit type conversions), \doxysectlink{basic_data_types_False}{False}{2} if not. 

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keywordflow}{if}\ (inlist\_hard(str,\ strlist))}
\DoxyCodeLine{\ \ \ \ printf(\textcolor{stringliteral}{"{}\%y\ is\ in\ \%y\(\backslash\)n"{}},\ str,\ strlist);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em arg} & the argument to look for in the list \\
\hline
{\em l} & the list to search for the first argument {\itshape arg} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxysectlink{basic_data_types_True}{True}{2} if the first argument is a member of the second argument list using hard comparisons (without any implicit type conversions), \doxysectlink{basic_data_types_False}{False}{2} if not
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\doxylink{group__list__functions_ga1fa8462e9bb051d40f5e60de8504fc85}{inlist(auto, softlist$<$auto$>$)} 
\end{DoxySeeAlso}
\Hypertarget{group__list__functions_ga748c43cafa3ab5aef9e24d983e89f047}\label{group__list__functions_ga748c43cafa3ab5aef9e24d983e89f047} 
\index{List Functions@{List Functions}!max@{max}}
\index{max@{max}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{max()}{max()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} Qore\+::max (\begin{DoxyParamCaption}\item[{}]{... }\end{DoxyParamCaption})}



Returns the maximum value of the arguments passed to the function. 

This variant will only work on basic data types

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_CONSTANT}{CONSTANT}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{auto\ v\ =\ max(v1,\ v2,\ v3);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em ...} & the list of values to process given directly to the function\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the maximum value in a list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\doxylink{group__list__functions_gadd91030761ee2fa0b1783f76b2ea467c}{min(...)} 
\end{DoxySeeAlso}
\Hypertarget{group__list__functions_ga67a04aa765442456f353bf8b38b50e0e}\label{group__list__functions_ga67a04aa765442456f353bf8b38b50e0e} 
\index{List Functions@{List Functions}!max@{max}}
\index{max@{max}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{max()}{max()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} Qore\+::max (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l }\end{DoxyParamCaption})}



Returns the maximum value in a list. 

This variant will only work on basic data types

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_CONSTANT}{CONSTANT}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{auto\ v\ =\ max(l);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to process\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the maximum value in a list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
min(list) 
\end{DoxySeeAlso}
\Hypertarget{group__list__functions_ga3cff204a3ac62a6fd5690805caba38d0}\label{group__list__functions_ga3cff204a3ac62a6fd5690805caba38d0} 
\index{List Functions@{List Functions}!max@{max}}
\index{max@{max}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{max()}{max()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} Qore\+::max (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{code}]{f }\end{DoxyParamCaption})}



Returns the maximum value in a list. 

Accepts a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} to use to compare complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{code\ sort\_func\ =\ int\ sub\ (hash\ l,\ hash\ r)\ \{\ \textcolor{keywordflow}{return}\ l.id\ <=>\ r.id;\ \};}
\DoxyCodeLine{auto\ v\ =\ max(l,\ sort\_func);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em f} & a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} that accepts 2 arguments of the data type in the list; the \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the maximum value in a list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
min(list, code) 
\end{DoxySeeAlso}
\Hypertarget{group__list__functions_ga1b2222960f25089fffe260cbc66b3fcb}\label{group__list__functions_ga1b2222960f25089fffe260cbc66b3fcb} 
\index{List Functions@{List Functions}!max@{max}}
\index{max@{max}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{max()}{max()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} Qore\+::max (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{func }\end{DoxyParamCaption})}



Returns the maximum value in a list. 

Accepts the name of a function to use to compare complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{auto\ v\ =\ max(l,\ \textcolor{stringliteral}{"{}my\_sort\_function"{}});}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em func} & the name of a function accessible in the current scope that accepts 2 arguments of the data type in the list; the function must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the maximum value in a list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
min(list, string) 
\end{DoxySeeAlso}
\Hypertarget{group__list__functions_gadd91030761ee2fa0b1783f76b2ea467c}\label{group__list__functions_gadd91030761ee2fa0b1783f76b2ea467c} 
\index{List Functions@{List Functions}!min@{min}}
\index{min@{min}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{min()}{min()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} Qore\+::min (\begin{DoxyParamCaption}\item[{}]{... }\end{DoxyParamCaption})}



Returns the minumum value of the arguments passed to the function. 

This variant will only work on basic data types

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_CONSTANT}{CONSTANT}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{auto\ v\ =\ min(v1,\ v2,\ v3);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em ...} & the list of values to process given directly to the function\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the minumum value in a list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\doxylink{group__list__functions_ga748c43cafa3ab5aef9e24d983e89f047}{max(...)} 
\end{DoxySeeAlso}
\Hypertarget{group__list__functions_ga82c657a31963077edb54dd9b54b4683a}\label{group__list__functions_ga82c657a31963077edb54dd9b54b4683a} 
\index{List Functions@{List Functions}!min@{min}}
\index{min@{min}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{min()}{min()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} Qore\+::min (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l }\end{DoxyParamCaption})}



Returns the minumum value in a list. 

This variant will only work on basic data types

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_CONSTANT}{CONSTANT}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{auto\ v\ =\ min(l);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to process\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the minumum value in a list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
max(list) 
\end{DoxySeeAlso}
\Hypertarget{group__list__functions_gacdcdbb97650be35e84a44a86ebf1deed}\label{group__list__functions_gacdcdbb97650be35e84a44a86ebf1deed} 
\index{List Functions@{List Functions}!min@{min}}
\index{min@{min}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{min()}{min()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} Qore\+::min (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{code}]{f }\end{DoxyParamCaption})}



Returns the minumum value in a list. 

Accepts a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} to use to compare complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{code\ sort\_func\ =\ int\ sub\ (hash\ l,\ hash\ r)\ \{\ \textcolor{keywordflow}{return}\ l.id\ <=>\ r.id;\ \};}
\DoxyCodeLine{auto\ v\ =\ min(l,\ sort\_func);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em f} & a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} that accepts 2 arguments of the data type in the list; the \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the minumum value in a list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
max(list, code) 
\end{DoxySeeAlso}
\Hypertarget{group__list__functions_gacb7f83f203b362521f60a2ffeada3658}\label{group__list__functions_gacb7f83f203b362521f60a2ffeada3658} 
\index{List Functions@{List Functions}!min@{min}}
\index{min@{min}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{min()}{min()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} Qore\+::min (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{func }\end{DoxyParamCaption})}



Returns the minumum value in a list. 

Accepts the name of a function to use to compare complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{auto\ v\ =\ min(l,\ \textcolor{stringliteral}{"{}my\_sort\_function"{}});}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em func} & the name of a function accessible in the current scope that accepts 2 arguments of the data type in the list; the function must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the minumum value in a list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
max(list, string) 
\end{DoxySeeAlso}
\Hypertarget{group__list__functions_ga0bf214ec2c777032a6078bd979637e69}\label{group__list__functions_ga0bf214ec2c777032a6078bd979637e69} 
\index{List Functions@{List Functions}!range@{range}}
\index{range@{range}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{range()}{range()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} $>$ Qore\+::range (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}}}]{start,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}}}]{stop,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}}}]{step = {\ttfamily 1} }\end{DoxyParamCaption})}



Returns a list containing an arithmetic progression of integers. 

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{range(2,\ 5);\ \textcolor{comment}{\#\ (2,\ 3,\ 4,\ 5)}}
\DoxyCodeLine{range(2,\ -\/2);\ \textcolor{comment}{\#\ (2,\ 1,\ 0,\ -\/1,\ -\/2)}}
\DoxyCodeLine{range(1,\ 10,\ 5);\ \textcolor{comment}{\#\ (1,\ 6)}}
\DoxyCodeLine{range(0,\ 10,\ 5);\ \textcolor{comment}{\#\ (0,\ 5,\ 10)}}
\DoxyCodeLine{range(-\/10,\ 10,\ 5);\ \textcolor{comment}{\#\ (-\/10,\ -\/5,\ 0,\ 5,\ 10)}}
\DoxyCodeLine{range(10,\ -\/10,\ 5);\ \textcolor{comment}{\#\ (10,\ 5,\ 0,\ -\/5,\ -\/10)}}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em start} & the initial value \\
\hline
{\em stop} & the upper limit \\
\hline
{\em step} & the step; the default is 1; must be greater than 0; the function throws a {\ttfamily RANGE-\/\+ERROR} exception when this argument is \texorpdfstring{$<$}{<} 1\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns a list containing an arithmetic progression of integers.
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em RANGE-\/\+ERROR} & this exception is thrown if {\ttfamily step} \texorpdfstring{$<$}{<} 1\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\doxylink{group__range__functions_gad5b4d3ad3f6c36d2e714bc6ed757a507}{xrange}
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
the main difference between \doxylink{group__list__functions_ga0bf214ec2c777032a6078bd979637e69}{range()} and \doxylink{group__range__functions_gad5b4d3ad3f6c36d2e714bc6ed757a507}{xrange()} is that range returns real list and xrange returns a \doxylink{class_qore_1_1_range_iterator}{Range\+Iterator}
\end{DoxyNote}
\begin{DoxySince}{Since}

\begin{DoxyItemize}
\item Qore 0.\+8.\+6
\item Qore 0.\+9.\+5 does not include the upper limit in the range unless \doxysectlink{parse_directives_broken-range}{\%broken-\/range}{1} is set 
\end{DoxyItemize}
\end{DoxySince}
\Hypertarget{group__list__functions_ga74a1dd2ee35e7ae10f3bccb68b56e9ea}\label{group__list__functions_ga74a1dd2ee35e7ae10f3bccb68b56e9ea} 
\index{List Functions@{List Functions}!range@{range}}
\index{range@{range}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{range()}{range()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}} $>$ Qore\+::range (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga2de8717e92c5f97ccc6511f6062d6502}{int}}}]{stop }\end{DoxyParamCaption})}



Returns a list containing an arithmetic progression of integers with start = 0 and step = 1. 

This is an overloaded version of \doxylink{group__list__functions_ga0bf214ec2c777032a6078bd979637e69}{range(int, int, int)} meaning {\ttfamily range}(0, {\ttfamily stop}, 1)

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_CONSTANT}{CONSTANT}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{range(1);\ \textcolor{comment}{\#\ (0,\ 1)}}
\DoxyCodeLine{range(-\/3);\ \textcolor{comment}{\#\ (0,\ -\/1,\ -\/2,\ -\/3)}}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em stop} & the final value\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns a list containing an arithmetic progression of integers with start = 0 and step = 1.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\doxylink{group__range__functions_gad5b4d3ad3f6c36d2e714bc6ed757a507}{xrange}
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
the main difference between \doxylink{group__list__functions_ga0bf214ec2c777032a6078bd979637e69}{range()} and \doxylink{group__range__functions_gad5b4d3ad3f6c36d2e714bc6ed757a507}{xrange()} is that range returns real list and xrange returns a \doxylink{class_qore_1_1_range_iterator}{Range\+Iterator}
\end{DoxyNote}
\begin{DoxySince}{Since}

\begin{DoxyItemize}
\item Qore 0.\+8.\+6
\item Qore 0.\+9.\+5 does not include the upper limit in the range unless \doxysectlink{parse_directives_broken-range}{\%broken-\/range}{1} is set 
\end{DoxyItemize}
\end{DoxySince}
\Hypertarget{group__list__functions_ga8d6317ddd1278a3a8ee255ec160333c3}\label{group__list__functions_ga8d6317ddd1278a3a8ee255ec160333c3} 
\index{List Functions@{List Functions}!reverse@{reverse}}
\index{reverse@{reverse}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{reverse()}{reverse()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{nothing}} Qore\+::reverse (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



This function variant does nothing at all. 

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_NOOP}{NOOP}{1}
\end{DoxyParagraph}
It is only included for backwards-\/compatibility with qore prior to version 0.\+8.\+0 for functions that would ignore type errors in arguments \Hypertarget{group__list__functions_gadf24f99f9547d317e081f8d26c31decb}\label{group__list__functions_gadf24f99f9547d317e081f8d26c31decb} 
\index{List Functions@{List Functions}!reverse@{reverse}}
\index{reverse@{reverse}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{reverse()}{reverse()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::reverse (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l }\end{DoxyParamCaption})}



Reverses a list and returns the new list. 

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_CONSTANT}{CONSTANT}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{list<auto>\ nl\ =\ reverse(l);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to reverse\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the given list with all elements in reverse order
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
reverse(string) 
\end{DoxySeeAlso}
\Hypertarget{group__list__functions_gaff8cac5bd5ffb29fb750e273e4e8fe92}\label{group__list__functions_gaff8cac5bd5ffb29fb750e273e4e8fe92} 
\index{List Functions@{List Functions}!sort@{sort}}
\index{sort@{sort}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sort()}{sort()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} Qore\+::sort (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}}}]{arg }\end{DoxyParamCaption})}



This function variant does nothing at all. 

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_NOOP}{NOOP}{1}
\end{DoxyParagraph}
it is only included for backwards-\/compatibility with qore prior to version 0.\+8.\+0 for functions that would ignore type errors in arguments \Hypertarget{group__list__functions_ga7bc9cde41c96aae005878b9ba8b50996}\label{group__list__functions_ga7bc9cde41c96aae005878b9ba8b50996} 
\index{List Functions@{List Functions}!sort@{sort}}
\index{sort@{sort}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sort()}{sort()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l }\end{DoxyParamCaption})}



Performs an unstable sort in ascending order and returns the new list. 

This variant will only sort basic data types

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_CONSTANT}{CONSTANT}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{list<auto>\ nl\ =\ sort(l);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function uses an internal recursive quicksort algorithm that uses excessive stack space with large lists, therefore when the list size is \texorpdfstring{$>$}{>} 1000 element, mergesort is used instead, which is equivalent to \doxylink{group__list__functions_gad03629b1133f3a6b47a2f33792801dbf}{sort\+\_\+stable()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort\+Stable(list)
\item sort\+Descending\+Stable(list)
\item sort\+Descending(list) 
\end{DoxyItemize}
\end{DoxySeeAlso}
\Hypertarget{group__list__functions_ga203d9ab4f39a7779dcb666f6f9477ffb}\label{group__list__functions_ga203d9ab4f39a7779dcb666f6f9477ffb} 
\index{List Functions@{List Functions}!sort@{sort}}
\index{sort@{sort}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sort()}{sort()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{code}]{f }\end{DoxyParamCaption})}



Performs an unstable sort in ascending order and returns the new list. 

Accepts a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} to use to sort complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{code\ sort\_func\ =\ int\ sub\ (hash\ l,\ hash\ r)\ \{\ \textcolor{keywordflow}{return}\ l.id\ <=>\ r.id;\ \};}
\DoxyCodeLine{list<auto>\ nl\ =\ sort(l,\ sort\_func);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em f} & a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} that accepts 2 arguments of the data type in the list; the code must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function uses an internal recursive quicksort algorithm that uses excessive stack space with large lists, therefore when the list size is \texorpdfstring{$>$}{>} 1000 element, mergesort is used instead, which is equivalent to \doxylink{group__list__functions_gad03629b1133f3a6b47a2f33792801dbf}{sort\+\_\+stable()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort\+Stable(list, code)
\item sort\+Descending\+Stable(list, code)
\item sort\+Descending(list, code) 
\end{DoxyItemize}
\end{DoxySeeAlso}
\Hypertarget{group__list__functions_gab5f32852ee7c739a46136859a28edaa8}\label{group__list__functions_gab5f32852ee7c739a46136859a28edaa8} 
\index{List Functions@{List Functions}!sort@{sort}}
\index{sort@{sort}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sort()}{sort()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{func }\end{DoxyParamCaption})}



Performs an unstable sort in ascending order and returns the new list. 

Accepts the name of a function to use to sort complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{list<auto>\ nl\ =\ sort(l,\ \textcolor{stringliteral}{"{}my\_sort\_function"{}});}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em func} & the name of a function accessible in the current scope that accepts 2 arguments of the data type in the list; the function must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function uses an internal recursive quicksort algorithm that uses excessive stack space with large lists, therefore when the list size is \texorpdfstring{$>$}{>} 1000 element, mergesort is used instead, which is equivalent to \doxylink{group__list__functions_gad03629b1133f3a6b47a2f33792801dbf}{sort\+\_\+stable()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort\+Stable(list, string)
\item sort\+Descending\+Stable(list, string)
\item sort\+Descending(list, string) 
\end{DoxyItemize}
\end{DoxySeeAlso}
\Hypertarget{group__list__functions_ga0149391f4fb2c97dd4ad2080f9240753}\label{group__list__functions_ga0149391f4fb2c97dd4ad2080f9240753} 
\index{List Functions@{List Functions}!sort\_descending@{sort\_descending}}
\index{sort\_descending@{sort\_descending}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sort\_descending()}{sort\_descending()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} Qore\+::sort\+\_\+descending (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}}}]{arg }\end{DoxyParamCaption})}



This function variant does nothing at all. 

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_NOOP}{NOOP}{1}
\end{DoxyParagraph}
It is only included for backwards-\/compatibility with qore prior to version 0.\+8.\+0 for functions that would ignore type errors in arguments \Hypertarget{group__list__functions_ga6af37f0b528729df1a88b614727d7894}\label{group__list__functions_ga6af37f0b528729df1a88b614727d7894} 
\index{List Functions@{List Functions}!sort\_descending@{sort\_descending}}
\index{sort\_descending@{sort\_descending}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sort\_descending()}{sort\_descending()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+\_\+descending (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l }\end{DoxyParamCaption})}



Performs an unstable sort in descending order and returns the new list. 

This variant will only sort basic data types

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_CONSTANT}{CONSTANT}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{list<auto>\ nl\ =\ sort\_descending(l);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function uses an internal recursive quicksort algorithm that uses excessive stack space with large lists, therefore when the list size is \texorpdfstring{$>$}{>} 1000 element, mergesort is used instead, which is equivalent to \doxylink{group__list__functions_gad03629b1133f3a6b47a2f33792801dbf}{sort\+\_\+stable()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort(list)
\item sort\+Descending\+Stable(list)
\item sort\+Stable(list)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
Qore 0.\+8.\+12 as a replacement for deprecated camel-\/case \doxylink{group__list__functions_gad9e205ca0a43f52a1388611b54521c19}{sort\+Descending()} 
\end{DoxySince}
\Hypertarget{group__list__functions_gaf1a4d22195c41fbae7a177f8033ab83b}\label{group__list__functions_gaf1a4d22195c41fbae7a177f8033ab83b} 
\index{List Functions@{List Functions}!sort\_descending@{sort\_descending}}
\index{sort\_descending@{sort\_descending}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sort\_descending()}{sort\_descending()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+\_\+descending (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{code}]{f }\end{DoxyParamCaption})}



Performs an unstable sort in descending order and returns the new list. 

Accepts a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} to use to sort complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{code\ sort\_func\ =\ int\ sub\ (hash\ l,\ hash\ r)\ \{\ \textcolor{keywordflow}{return}\ l.id\ <=>\ r.id;\ \};}
\DoxyCodeLine{list<auto>\ nl\ =\ sort\_descending(l,\ sort\_func);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em f} & a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} that accepts 2 arguments of the data type in the list; the code must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function uses an internal recursive quicksort algorithm that uses excessive stack space with large lists, therefore when the list size is \texorpdfstring{$>$}{>} 1000 element, mergesort is used instead, which is equivalent to \doxylink{group__list__functions_gad03629b1133f3a6b47a2f33792801dbf}{sort\+\_\+stable()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort\+\_\+stable(list, code)
\item sort\+\_\+descending\+Stable(list, code)
\item sort(list, code)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
Qore 0.\+8.\+12 as a replacement for deprecated camel-\/case \doxylink{group__list__functions_gad9e205ca0a43f52a1388611b54521c19}{sort\+Descending()} 
\end{DoxySince}
\Hypertarget{group__list__functions_gaaa5c91fb80b8fbb196deea9706c53637}\label{group__list__functions_gaaa5c91fb80b8fbb196deea9706c53637} 
\index{List Functions@{List Functions}!sort\_descending@{sort\_descending}}
\index{sort\_descending@{sort\_descending}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sort\_descending()}{sort\_descending()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+\_\+descending (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{func }\end{DoxyParamCaption})}



Performs an unstable sort in descending order and returns the new list. 

Accepts the name of a function to use to sort complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_CONSTANT}{CONSTANT}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{list<auto>\ nl\ =\ sort\_descending(l,\ \textcolor{stringliteral}{"{}my\_sort\_function"{}});}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em func} & the name of a function accessible in the current scope that accepts 2 arguments of the data type in the list; the function must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function uses an internal recursive quicksort algorithm that uses excessive stack space with large lists, therefore when the list size is \texorpdfstring{$>$}{>} 1000 element, mergesort is used instead, which is equivalent to \doxylink{group__list__functions_gad03629b1133f3a6b47a2f33792801dbf}{sort\+\_\+stable()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort\+\_\+stable(list, string)
\item sort\+\_\+descending\+Stable(list, string)
\item sort(list, string)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
Qore 0.\+8.\+12 as a replacement for deprecated camel-\/case \doxylink{group__list__functions_gad9e205ca0a43f52a1388611b54521c19}{sort\+Descending()} 
\end{DoxySince}
\Hypertarget{group__list__functions_ga59bf2466a7bd64db585ad1b2b5f7ae7d}\label{group__list__functions_ga59bf2466a7bd64db585ad1b2b5f7ae7d} 
\index{List Functions@{List Functions}!sort\_descending\_stable@{sort\_descending\_stable}}
\index{sort\_descending\_stable@{sort\_descending\_stable}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sort\_descending\_stable()}{sort\_descending\_stable()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} Qore\+::sort\+\_\+descending\+\_\+stable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}}}]{arg }\end{DoxyParamCaption})}



This function variant does nothing at all. 

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_NOOP}{NOOP}{1}
\end{DoxyParagraph}
It is only included for backwards-\/compatibility with qore prior to version 0.\+8.\+0 for functions that would ignore type errors in arguments \Hypertarget{group__list__functions_ga37d7c190707fdb7d88f72c2eb0c7bad8}\label{group__list__functions_ga37d7c190707fdb7d88f72c2eb0c7bad8} 
\index{List Functions@{List Functions}!sort\_descending\_stable@{sort\_descending\_stable}}
\index{sort\_descending\_stable@{sort\_descending\_stable}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sort\_descending\_stable()}{sort\_descending\_stable()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+\_\+descending\+\_\+stable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l }\end{DoxyParamCaption})}



Performs a stable sort in descending order and returns the new list. 

This variant will only sort basic data types

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_CONSTANT}{CONSTANT}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{list<auto>\ nl\ =\ sort\_descending\_stable(l);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort\+\_\+stable(list, code)
\item sort\+\_\+descending\+\_\+stable(list, code)
\item sort(list, code)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
Qore 0.\+8.\+12 as a replacement for deprecated camel-\/case \doxylink{group__list__functions_gacd07eea87f385a0bb8764a9fa5b47075}{sort\+Descending\+Stable()} 
\end{DoxySince}
\Hypertarget{group__list__functions_ga624b46ceb80f6e86d867d0e3db79b346}\label{group__list__functions_ga624b46ceb80f6e86d867d0e3db79b346} 
\index{List Functions@{List Functions}!sort\_descending\_stable@{sort\_descending\_stable}}
\index{sort\_descending\_stable@{sort\_descending\_stable}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sort\_descending\_stable()}{sort\_descending\_stable()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+\_\+descending\+\_\+stable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{code}]{f }\end{DoxyParamCaption})}



Performs a stable sort in descending order and returns the new list. 

Accepts a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} to use to sort complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{code\ sort\_func\ =\ int\ sub\ (hash\ l,\ hash\ r)\ \{\ \textcolor{keywordflow}{return}\ l.id\ <=>\ r.id;\ \};}
\DoxyCodeLine{list<auto>\ nl\ =\ sort\_descending\_stable(l,\ sort\_func);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em f} & a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} that accepts 2 arguments of the data type in the list; the code must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort\+\_\+stable(list, code)
\item sort\+\_\+descending\+\_\+stable(list, code)
\item sort(list, code)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
Qore 0.\+8.\+12 as a replacement for deprecated camel-\/case \doxylink{group__list__functions_gacd07eea87f385a0bb8764a9fa5b47075}{sort\+Descending\+Stable()} 
\end{DoxySince}
\Hypertarget{group__list__functions_ga30e016ca1469bd2502df83fb07e2bd88}\label{group__list__functions_ga30e016ca1469bd2502df83fb07e2bd88} 
\index{List Functions@{List Functions}!sort\_descending\_stable@{sort\_descending\_stable}}
\index{sort\_descending\_stable@{sort\_descending\_stable}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sort\_descending\_stable()}{sort\_descending\_stable()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+\_\+descending\+\_\+stable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{func }\end{DoxyParamCaption})}



Performs a stable sort in descending order and returns the new list. 

Accepts the name of a function to use to sort complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{list<auto>\ nl\ =\ sort\_descending\_stable(l,\ \textcolor{stringliteral}{"{}my\_sort\_function"{}});}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em func} & the name of a function accessible in the current scope that accepts 2 arguments of the data type in the list; the function must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort\+\_\+stable(list, code)
\item sort\+\_\+descending\+\_\+stable(list, code)
\item sort(list, code)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
Qore 0.\+8.\+12 as a replacement for deprecated camel-\/case \doxylink{group__list__functions_gacd07eea87f385a0bb8764a9fa5b47075}{sort\+Descending\+Stable()} 
\end{DoxySince}
\Hypertarget{group__list__functions_gad03629b1133f3a6b47a2f33792801dbf}\label{group__list__functions_gad03629b1133f3a6b47a2f33792801dbf} 
\index{List Functions@{List Functions}!sort\_stable@{sort\_stable}}
\index{sort\_stable@{sort\_stable}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sort\_stable()}{sort\_stable()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} Qore\+::sort\+\_\+stable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}}}]{arg }\end{DoxyParamCaption})}



This function variant does nothing at all. 

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_NOOP}{NOOP}{1}
\end{DoxyParagraph}
It is only included for backwards-\/compatibility with qore prior to version 0.\+8.\+0 for functions that would ignore type errors in arguments \Hypertarget{group__list__functions_ga0cee8fcfee6501a7de9510c6a89fbfb0}\label{group__list__functions_ga0cee8fcfee6501a7de9510c6a89fbfb0} 
\index{List Functions@{List Functions}!sort\_stable@{sort\_stable}}
\index{sort\_stable@{sort\_stable}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sort\_stable()}{sort\_stable()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+\_\+stable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l }\end{DoxyParamCaption})}



Performs a stable sort in ascending order and returns the new list. 

This variant will only sort basic data types

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_CONSTANT}{CONSTANT}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{list<auto>\ nl\ =\ sort\_stable(l);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort(list, string)
\item sort\+\_\+descending(list, string)
\item sort\+\_\+descending\+\_\+stable(list, string)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
Qore 0.\+8.\+12 as a replacement for deprecated camel-\/case \doxylink{group__list__functions_ga6202469e6119631474b685952cefe11f}{sort\+Stable()} 
\end{DoxySince}
\Hypertarget{group__list__functions_ga776f8d8c6883c0aa792031c095cf8fba}\label{group__list__functions_ga776f8d8c6883c0aa792031c095cf8fba} 
\index{List Functions@{List Functions}!sort\_stable@{sort\_stable}}
\index{sort\_stable@{sort\_stable}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sort\_stable()}{sort\_stable()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+\_\+stable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{code}]{f }\end{DoxyParamCaption})}



Performs a stable sort in ascending order and returns the new list. 

Accepts a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} to use to sort complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{code\ sort\_func\ =\ int\ sub\ (hash<auto>\ l,\ hash<auto>\ r)\ \{\ \textcolor{keywordflow}{return}\ l.id\ <=>\ r.id;\ \};}
\DoxyCodeLine{list<auto>\ nl\ =\ sort\_stable(l,\ sort\_func);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em f} & a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} that accepts 2 arguments of the data type in the list; the code must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort(list, string)
\item sort\+\_\+descending(list, string)
\item sort\+\_\+descending\+\_\+stable(list, string)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
Qore 0.\+8.\+12 as a replacement for deprecated camel-\/case \doxylink{group__list__functions_ga6202469e6119631474b685952cefe11f}{sort\+Stable()} 
\end{DoxySince}
\Hypertarget{group__list__functions_gacda245ada866f057bcce740031b66245}\label{group__list__functions_gacda245ada866f057bcce740031b66245} 
\index{List Functions@{List Functions}!sort\_stable@{sort\_stable}}
\index{sort\_stable@{sort\_stable}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sort\_stable()}{sort\_stable()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+\_\+stable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{func }\end{DoxyParamCaption})}



Performs a stable sort in ascending order and returns the new list. 

Accepts the name of a function to use to sort complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{list<auto>\ nl\ =\ sort\_stable(l,\ \textcolor{stringliteral}{"{}my\_sort\_function"{}});}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em func} & the name of a function accessible in the current scope that accepts 2 arguments of the data type in the list; the function must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort(list, string)
\item sort\+\_\+descending(list, string)
\item sort\+\_\+descending\+\_\+stable(list, string)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
Qore 0.\+8.\+12 as a replacement for deprecated camel-\/case \doxylink{group__list__functions_ga6202469e6119631474b685952cefe11f}{sort\+Stable()} 
\end{DoxySince}
\Hypertarget{group__list__functions_gad9e205ca0a43f52a1388611b54521c19}\label{group__list__functions_gad9e205ca0a43f52a1388611b54521c19} 
\index{List Functions@{List Functions}!sortDescending@{sortDescending}}
\index{sortDescending@{sortDescending}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sortDescending()}{sortDescending()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} Qore\+::sort\+Descending (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}}}]{arg }\end{DoxyParamCaption})}



This function variant does nothing at all. 

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_NOOP}{NOOP}{1}, \doxysectlink{code_flags_DEPRECATED}{DEPRECATED}{1}
\end{DoxyParagraph}
It is only included for backwards-\/compatibility with qore prior to version 0.\+8.\+0 for functions that would ignore type errors in arguments \Hypertarget{group__list__functions_gad54b8a02d2c883f047e664c49211bf11}\label{group__list__functions_gad54b8a02d2c883f047e664c49211bf11} 
\index{List Functions@{List Functions}!sortDescending@{sortDescending}}
\index{sortDescending@{sortDescending}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sortDescending()}{sortDescending()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+Descending (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l }\end{DoxyParamCaption})}



Performs an unstable sort in descending order and returns the new list. 

This variant will only sort basic data types

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_CONSTANT}{CONSTANT}{1}, \doxysectlink{code_flags_DEPRECATED}{DEPRECATED}{1}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function uses an internal recursive quicksort algorithm that uses excessive stack space with large lists, therefore when the list size is \texorpdfstring{$>$}{>} 1000 element, mergesort is used instead, which is equivalent to \doxylink{group__list__functions_gad03629b1133f3a6b47a2f33792801dbf}{sort\+\_\+stable()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort(list)
\item sort\+Descending\+Stable(list)
\item sort\+Stable(list)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000028}{Deprecated}}]use \doxylink{group__list__functions_ga0149391f4fb2c97dd4ad2080f9240753}{sort\+\_\+descending()}; camel-\/case function names were deprecated in Qore 0.\+8.\+12 \end{DoxyRefDesc}
\Hypertarget{group__list__functions_ga0c5c62c898a87542db7fc6f24b4f5302}\label{group__list__functions_ga0c5c62c898a87542db7fc6f24b4f5302} 
\index{List Functions@{List Functions}!sortDescending@{sortDescending}}
\index{sortDescending@{sortDescending}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sortDescending()}{sortDescending()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+Descending (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{code}]{f }\end{DoxyParamCaption})}



Performs an unstable sort in descending order and returns the new list. 

Accepts a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} to use to sort complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}, \doxysectlink{code_flags_DEPRECATED}{DEPRECATED}{1}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em f} & a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} that accepts 2 arguments of the data type in the list; the code must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function uses an internal recursive quicksort algorithm that uses excessive stack space with large lists, therefore when the list size is \texorpdfstring{$>$}{>} 1000 element, mergesort is used instead, which is equivalent to \doxylink{group__list__functions_gad03629b1133f3a6b47a2f33792801dbf}{sort\+\_\+stable()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort\+Stable(list, code)
\item sort\+Descending\+Stable(list, code)
\item sort(list, code)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000030}{Deprecated}}]use \doxylink{group__list__functions_ga0149391f4fb2c97dd4ad2080f9240753}{sort\+\_\+descending()}; camel-\/case function names were deprecated in Qore 0.\+8.\+12 \end{DoxyRefDesc}
\Hypertarget{group__list__functions_gae9395c79d35b26bfb8347ed88346b9a2}\label{group__list__functions_gae9395c79d35b26bfb8347ed88346b9a2} 
\index{List Functions@{List Functions}!sortDescending@{sortDescending}}
\index{sortDescending@{sortDescending}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sortDescending()}{sortDescending()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+Descending (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{func }\end{DoxyParamCaption})}



Performs an unstable sort in descending order and returns the new list. 

Accepts the name of a function to use to sort complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_CONSTANT}{CONSTANT}{1}, \doxysectlink{code_flags_DEPRECATED}{DEPRECATED}{1}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em func} & the name of a function accessible in the current scope that accepts 2 arguments of the data type in the list; the function must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function uses an internal recursive quicksort algorithm that uses excessive stack space with large lists, therefore when the list size is \texorpdfstring{$>$}{>} 1000 element, mergesort is used instead, which is equivalent to \doxylink{group__list__functions_gad03629b1133f3a6b47a2f33792801dbf}{sort\+\_\+stable()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort\+Stable(list, string)
\item sort\+Descending\+Stable(list, string)
\item sort(list, string)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000029}{Deprecated}}]use \doxylink{group__list__functions_ga0149391f4fb2c97dd4ad2080f9240753}{sort\+\_\+descending()}; camel-\/case function names were deprecated in Qore 0.\+8.\+12 \end{DoxyRefDesc}
\Hypertarget{group__list__functions_gacd07eea87f385a0bb8764a9fa5b47075}\label{group__list__functions_gacd07eea87f385a0bb8764a9fa5b47075} 
\index{List Functions@{List Functions}!sortDescendingStable@{sortDescendingStable}}
\index{sortDescendingStable@{sortDescendingStable}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sortDescendingStable()}{sortDescendingStable()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} Qore\+::sort\+Descending\+Stable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}}}]{arg }\end{DoxyParamCaption})}



This function variant does nothing at all. 

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_NOOP}{NOOP}{1}, \doxysectlink{code_flags_DEPRECATED}{DEPRECATED}{1}
\end{DoxyParagraph}
It is only included for backwards-\/compatibility with qore prior to version 0.\+8.\+0 for functions that would ignore type errors in arguments \Hypertarget{group__list__functions_gaaa91d21c4ca952412d24c5e56dc234d9}\label{group__list__functions_gaaa91d21c4ca952412d24c5e56dc234d9} 
\index{List Functions@{List Functions}!sortDescendingStable@{sortDescendingStable}}
\index{sortDescendingStable@{sortDescendingStable}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sortDescendingStable()}{sortDescendingStable()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+Descending\+Stable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l }\end{DoxyParamCaption})}



Performs a stable sort in descending order and returns the new list. 

This variant will only sort basic data types

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_CONSTANT}{CONSTANT}{1}, \doxysectlink{code_flags_DEPRECATED}{DEPRECATED}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{list<auto>\ nl\ =\ sortDescendingStable(l);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort\+\_\+stable(list, code)
\item sort\+\_\+descending\+\_\+stable(list, code)
\item sort(list, code)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000031}{Deprecated}}]use \doxylink{group__list__functions_ga59bf2466a7bd64db585ad1b2b5f7ae7d}{sort\+\_\+descending\+\_\+stable()}; camel-\/case function names were deprecated in Qore 0.\+8.\+12 \end{DoxyRefDesc}
\Hypertarget{group__list__functions_ga86422aa7024efb5758b7eca0fe60064a}\label{group__list__functions_ga86422aa7024efb5758b7eca0fe60064a} 
\index{List Functions@{List Functions}!sortDescendingStable@{sortDescendingStable}}
\index{sortDescendingStable@{sortDescendingStable}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sortDescendingStable()}{sortDescendingStable()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+Descending\+Stable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{code}]{f }\end{DoxyParamCaption})}



Performs a stable sort in descending order and returns the new list. 

Accepts a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} to use to sort complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}, \doxysectlink{code_flags_DEPRECATED}{DEPRECATED}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{code\ sort\_func\ =\ int\ sub\ (hash\ l,\ hash\ r)\ \{\ \textcolor{keywordflow}{return}\ l.id\ <=>\ r.id;\ \};}
\DoxyCodeLine{list<auto>\ nl\ =\ sortDescending(l,\ sort\_func);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em f} & a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} that accepts 2 arguments of the data type in the list; the code must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort\+\_\+stable(list, code)
\item sort\+\_\+descending\+\_\+stable(list, code)
\item sort(list, code)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000033}{Deprecated}}]use \doxylink{group__list__functions_ga59bf2466a7bd64db585ad1b2b5f7ae7d}{sort\+\_\+descending\+\_\+stable()}; camel-\/case function names were deprecated in Qore 0.\+8.\+12 \end{DoxyRefDesc}
\Hypertarget{group__list__functions_gad2f335f27dbcf04054d81f722d501523}\label{group__list__functions_gad2f335f27dbcf04054d81f722d501523} 
\index{List Functions@{List Functions}!sortDescendingStable@{sortDescendingStable}}
\index{sortDescendingStable@{sortDescendingStable}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sortDescendingStable()}{sortDescendingStable()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+Descending\+Stable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{func }\end{DoxyParamCaption})}



Performs a stable sort in descending order and returns the new list. 

Accepts the name of a function to use to sort complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}, \doxysectlink{code_flags_DEPRECATED}{DEPRECATED}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{list<auto>\ nl\ =\ sortDescending(l,\ \textcolor{stringliteral}{"{}my\_sort\_function"{}});}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em func} & the name of a function accessible in the current scope that accepts 2 arguments of the data type in the list; the function must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort\+\_\+stable(list, code)
\item sort\+\_\+descending\+\_\+stable(list, code)
\item sort(list, code)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000032}{Deprecated}}]use \doxylink{group__list__functions_ga59bf2466a7bd64db585ad1b2b5f7ae7d}{sort\+\_\+descending\+\_\+stable()}; camel-\/case function names were deprecated in Qore 0.\+8.\+12 \end{DoxyRefDesc}
\Hypertarget{group__list__functions_ga6202469e6119631474b685952cefe11f}\label{group__list__functions_ga6202469e6119631474b685952cefe11f} 
\index{List Functions@{List Functions}!sortStable@{sortStable}}
\index{sortStable@{sortStable}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sortStable()}{sortStable()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} Qore\+::sort\+Stable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}}}]{arg }\end{DoxyParamCaption})}



This function variant does nothing at all. 

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_NOOP}{NOOP}{1}, \doxysectlink{code_flags_DEPRECATED}{DEPRECATED}{1}
\end{DoxyParagraph}
It is only included for backwards-\/compatibility with qore prior to version 0.\+8.\+0 for functions that would ignore type errors in arguments \Hypertarget{group__list__functions_ga235144befca6fe42001133e65568a54d}\label{group__list__functions_ga235144befca6fe42001133e65568a54d} 
\index{List Functions@{List Functions}!sortStable@{sortStable}}
\index{sortStable@{sortStable}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sortStable()}{sortStable()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+Stable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l }\end{DoxyParamCaption})}



Performs a stable sort in ascending order and returns the new list. 

This variant will only sort basic data types

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_CONSTANT}{CONSTANT}{1}, \doxysectlink{code_flags_DEPRECATED}{DEPRECATED}{1}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort(list, string)
\item sort\+\_\+descending(list, string)
\item sort\+\_\+descending\+\_\+stable(list, string)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000034}{Deprecated}}]use \doxylink{group__list__functions_gad03629b1133f3a6b47a2f33792801dbf}{sort\+\_\+stable()}; camel-\/case function names were deprecated in Qore 0.\+8.\+12 \end{DoxyRefDesc}
\Hypertarget{group__list__functions_gaaefd1b7c506736541e306517cfd9d228}\label{group__list__functions_gaaefd1b7c506736541e306517cfd9d228} 
\index{List Functions@{List Functions}!sortStable@{sortStable}}
\index{sortStable@{sortStable}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sortStable()}{sortStable()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+Stable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{code}]{f }\end{DoxyParamCaption})}



Performs a stable sort in ascending order and returns the new list. 

Accepts a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} to use to sort complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}, \doxysectlink{code_flags_DEPRECATED}{DEPRECATED}{1}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{code\ sort\_func\ =\ int\ sub\ (hash\ l,\ hash\ r)\ \{\ \textcolor{keywordflow}{return}\ l.id\ <=>\ r.id;\ \};}
\DoxyCodeLine{list<auto>\ nl\ =\ sortStable(l,\ sort\_func);}

\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em f} & a \doxysectlink{expressions_call_reference}{call reference}{1} or a \doxysectlink{expressions_closure}{closure}{1} that accepts 2 arguments of the data type in the list; the code must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort(list, string)
\item sort\+\_\+descending(list, string)
\item sort\+\_\+descending\+\_\+stable(list, string)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000036}{Deprecated}}]use \doxylink{group__list__functions_gad03629b1133f3a6b47a2f33792801dbf}{sort\+\_\+stable()}; camel-\/case function names were deprecated in Qore 0.\+8.\+12 \end{DoxyRefDesc}
\Hypertarget{group__list__functions_ga69d2747df7b021b83da4c40222caddb0}\label{group__list__functions_ga69d2747df7b021b83da4c40222caddb0} 
\index{List Functions@{List Functions}!sortStable@{sortStable}}
\index{sortStable@{sortStable}!List Functions@{List Functions}}
\doxysubsubsection{\texorpdfstring{sortStable()}{sortStable()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$ Qore\+::sort\+Stable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{list}}$<$ \mbox{\hyperlink{group__type__conversion__functions_ga9a401e5112c58f63c05e7ee1e15968ef}{auto}} $>$}]{l,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{func }\end{DoxyParamCaption})}



Performs a stable sort in ascending order and returns the new list. 

Accepts the name of a function to use to sort complex data types or to give a special sort order

\begin{DoxyParagraph}{Code Flags\+:}
\doxysectlink{code_flags_RET_VALUE_ONLY}{RET\+\_\+\+VALUE\+\_\+\+ONLY}{1}, \doxysectlink{code_flags_DEPRECATED}{DEPRECATED}{1}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em l} & the list to sort \\
\hline
{\em func} & the name of a function accessible in the current scope that accepts 2 arguments of the data type in the list; the function must return -\/1, 0, or 1 if the first is less than the second, if the first and second are equal, or if the first is greater than the second, respectively\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the sorted list
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item sort(list, string)
\item sort\+\_\+descending(list, string)
\item sort\+\_\+descending\+\_\+stable(list, string)
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000035}{Deprecated}}]use \doxylink{group__list__functions_gad03629b1133f3a6b47a2f33792801dbf}{sort\+\_\+stable()}; camel-\/case function names were deprecated in Qore 0.\+8.\+12 \end{DoxyRefDesc}
