You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

130 lines
2.8 KiB

export default LinkedList;
export type Item = {
/**
* Previous.
*/
prev?: Item | undefined;
/**
* Next.
*/
next?: Item | undefined;
/**
* Data.
*/
data: unknown;
};
/**
* @module ol/structs/LinkedList
*/
/**
* @typedef {Object} Item
* @property {Item} [prev] Previous.
* @property {Item} [next] Next.
* @property {?} data Data.
*/
/**
* @classdesc
* Creates an empty linked list structure.
*/
declare class LinkedList {
/**
* @param {boolean} [circular] The last item is connected to the first one,
* and the first item to the last one. Default is true.
*/
constructor(circular?: boolean | undefined);
/**
* @private
* @type {Item|undefined}
*/
private first_;
/**
* @private
* @type {Item|undefined}
*/
private last_;
/**
* @private
* @type {Item|undefined}
*/
private head_;
/**
* @private
* @type {boolean}
*/
private circular_;
/**
* @private
* @type {number}
*/
private length_;
/**
* Inserts an item into the linked list right after the current one.
*
* @param {?} data Item data.
*/
insertItem(data: unknown): void;
/**
* Removes the current item from the list. Sets the cursor to the next item,
* if possible.
*/
removeItem(): void;
/**
* Sets the cursor to the first item, and returns the associated data.
*
* @return {?} Item data.
*/
firstItem(): unknown;
/**
* Sets the cursor to the last item, and returns the associated data.
*
* @return {?} Item data.
*/
lastItem(): unknown;
/**
* Sets the cursor to the next item, and returns the associated data.
*
* @return {?} Item data.
*/
nextItem(): unknown;
/**
* Returns the next item's data without moving the cursor.
*
* @return {?} Item data.
*/
getNextItem(): unknown;
/**
* Sets the cursor to the previous item, and returns the associated data.
*
* @return {?} Item data.
*/
prevItem(): unknown;
/**
* Returns the previous item's data without moving the cursor.
*
* @return {?} Item data.
*/
getPrevItem(): unknown;
/**
* Returns the current item's data.
*
* @return {?} Item data.
*/
getCurrItem(): unknown;
/**
* Sets the first item of the list. This only works for circular lists, and sets
* the last item accordingly.
*/
setFirstItem(): void;
/**
* Concatenates two lists.
* @param {LinkedList} list List to merge into the current list.
*/
concat(list: LinkedList): void;
/**
* Returns the current length of the list.
*
* @return {number} Length.
*/
getLength(): number;
}
//# sourceMappingURL=LinkedList.d.ts.map