work on PRINT encoding
[pspp] / src / libpspp / array.h
index 3cfb245a26f7fe84d800329243d5349593503109..dc17fbd7ef56fdd3f8b1a44c532fb9c964c28c90 100644 (file)
@@ -118,7 +118,7 @@ void insert_range (void *array, size_t count, size_t size,
 /* Makes room for a new element at IDX in ARRAY, which initially
    consists of COUNT elements of SIZE bytes each, by shifting
    elements IDX...COUNT (exclusive) to the right by one
-   positions. */
+   position. */
 void insert_element (void *array, size_t count, size_t size,
                      size_t idx);
 
@@ -129,6 +129,12 @@ void insert_element (void *array, size_t count, size_t size,
 void move_element (void *array, size_t count, size_t size,
                    size_t old_idx, size_t new_idx);
 
+/* Moves N elements in ARRAY starting at OLD_IDX, which consists
+   of COUNT elements of SIZE bytes each, so that they now start
+   at NEW_IDX, shifting around other elements as needed. */
+void move_range (void *array, size_t count, size_t size,
+                 size_t old_idx, size_t new_idx, size_t n);
+
 /* 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
@@ -217,8 +223,8 @@ void sort_heap (void *array, size_t count, size_t size,
                 algo_compare_func *compare, const void *aux);
 
 /* ARRAY contains COUNT elements of SIZE bytes each.  This
-   function tests whether ARRAY is a heap and returns true if so, 
-   false otherwise.  Uses COMPARE to compare elements, passing 
+   function tests whether ARRAY is a heap and returns true if so,
+   false otherwise.  Uses COMPARE to compare elements, passing
    AUX as auxiliary data. */
 bool is_heap (const void *array, size_t count, size_t size,
              algo_compare_func *compare, const void *aux);