New implementation of long variable names. Each variable has a
[pspp-builds.git] / src / algorithm.h
index 5482de1532ae094a896eb94abaa96e7d15532853..10e589a1e4f43eb147062f33e2644c5b1ece38ac 100644 (file)
@@ -107,6 +107,13 @@ void remove_range (void *array, size_t count, size_t size,
 void remove_element (void *array, size_t count, size_t size,
                      size_t idx);
 
+/* Moves an element in ARRAY, which consists of COUNT elements of
+   SIZE bytes each, from OLD_IDX to NEW_IDX, shifting around
+   other elements as needed.  Runs in O(abs(OLD_IDX - NEW_IDX))
+   time. */
+void move_element (void *array, size_t count, size_t size,
+                   size_t old_idx, size_t new_idx);
+
 /* Removes elements equal to ELEMENT from ARRAY, which consists
    of COUNT elements of SIZE bytes each.  Returns the number of
    remaining elements.  AUX is passed to COMPARE as auxiliary