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
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
|