ol
Version:
OpenLayers mapping library
121 lines • 2.72 kB
TypeScript
export default LinkedList;
export type Item = {
prev?: Item;
next?: Item;
data: any;
};
/**
* @module ol/structs/LinkedList
*/
/**
* @typedef {Object} Item
* @property {Item} [prev]
* @property {Item} [next]
* @property {?} data
*/
/**
* @classdesc
* Creates an empty linked list structure.
*/
declare class LinkedList {
/**
* @param {boolean=} opt_circular The last item is connected to the first one,
* and the first item to the last one. Default is true.
*/
constructor(opt_circular?: boolean);
/**
* @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: any): 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(): any;
/**
* Sets the cursor to the last item, and returns the associated data.
*
* @return {?} Item data.
*/
lastItem(): any;
/**
* Sets the cursor to the next item, and returns the associated data.
*
* @return {?} Item data.
*/
nextItem(): any;
/**
* Returns the next item's data without moving the cursor.
*
* @return {?} Item data.
*/
getNextItem(): any;
/**
* Sets the cursor to the previous item, and returns the associated data.
*
* @return {?} Item data.
*/
prevItem(): any;
/**
* Returns the previous item's data without moving the cursor.
*
* @return {?} Item data.
*/
getPrevItem(): any;
/**
* Returns the current item's data.
*
* @return {?} Item data.
*/
getCurrItem(): any;
/**
* 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