Skip to content
Permalink
Browse files

Add Sort and SortCustom to ArrayList methodmap (#1003)

  • Loading branch information...
JoinedSenses authored and asherkin committed May 9, 2019
1 parent 9cd2a74 commit 26462f284823a656b4d99fc5f85497de05dd5a48
Showing with 28 additions and 8 deletions.
  1. +12 −8 core/logic/smn_sorting.cpp
  2. +16 −0 plugins/include/adt_array.inc
@@ -584,12 +584,16 @@ static cell_t sm_SortADTArrayCustom(IPluginContext *pContext, const cell_t *para

REGISTER_NATIVES(sortNatives)
{
{"SortIntegers", sm_SortIntegers},
{"SortFloats", sm_SortFloats},
{"SortStrings", sm_SortStrings},
{"SortCustom1D", sm_SortCustom1D},
{"SortCustom2D", sm_SortCustom2D},
{"SortADTArray", sm_SortADTArray},
{"SortADTArrayCustom", sm_SortADTArrayCustom},
{NULL, NULL},
{"SortIntegers", sm_SortIntegers},
{"SortFloats", sm_SortFloats},
{"SortStrings", sm_SortStrings},
{"SortCustom1D", sm_SortCustom1D},
{"SortCustom2D", sm_SortCustom2D},
{"SortADTArray", sm_SortADTArray},
{"SortADTArrayCustom", sm_SortADTArrayCustom},

{"ArrayList.Sort", sm_SortADTArray},
{"ArrayList.SortCustom", sm_SortADTArrayCustom},

{NULL, NULL},
};
@@ -208,6 +208,22 @@ methodmap ArrayList < Handle {
// @error Invalid block index
public native int FindValue(any item, int block=0);

/**
* Sort an ADT Array. Specify the type as Integer, Float, or String.
*
* @param order Sort order to use, same as other sorts.
* @param type Data type stored in the ADT Array
*/
public native void Sort(SortOrder order, SortType type);

/**
* Custom sorts an ADT Array. You must pass in a comparison function.
*
* @param sortfunc Sort comparison function to use
* @param hndl Optional Handle to pass through the comparison calls.
*/
public native void SortCustom(SortFuncADTArray sortfunc, Handle hndl=INVALID_HANDLE);

// Retrieve the size of the array.
property int Length {
public native get();

0 comments on commit 26462f2

Please sign in to comment.
You can’t perform that action at this time.