econ
Version:
Event Collections
82 lines (81 loc) • 2.37 kB
TypeScript
import * as std from "tstl";
import { ICollection } from "../basic/ICollection";
import { CollectionEvent } from "../basic/CollectionEvent";
export declare class Deque<T> extends std.Deque<T> implements ICollection<T, std.Deque<T>, std.Deque.Iterator<T>, std.Deque.ReverseIterator<T>> {
/**
* @hidden
*/
private dispatcher_;
clear(): void;
/**
* @inheritdoc
*/
push_front(val: T): void;
/**
* @inheritdoc
*/
push_back(val: T): void;
/**
* @hidden
*/
protected _Insert_by_range<U extends T, InputIterator extends std.IForwardIterator<U, InputIterator>>(pos: std.Deque.Iterator<T>, first: InputIterator, last: InputIterator): std.Deque.Iterator<T>;
/**
* @inheritdoc
*/
pop_front(): void;
/**
* @inheritdoc
*/
pop_back(): void;
/**
* @hidden
*/
protected _Erase_by_range(first: std.Deque.Iterator<T>, last: std.Deque.Iterator<T>): std.Deque.Iterator<T>;
/**
* @inheritdoc
*/
set(index: number, val: T): void;
/**
* @inheritdoc
*/
refresh(): void;
/**
* @inheritdoc
*/
refresh(it: std.Deque.Iterator<T>): void;
/**
* @inheritdoc
*/
refresh(first: std.Deque.Iterator<T>, last: std.Deque.Iterator<T>): void;
/**
* @inheritdoc
*/
dispatchEvent(event: Deque.Event<T>): void;
/**
* @hidden
*/
private _Notify_insert(first, last);
/**
* @hidden
*/
private _Notify_erase(first, last);
/**
* @inheritdoc
*/
hasEventListener(type: CollectionEvent.Type): boolean;
/**
* @inheritdoc
*/
addEventListener(type: CollectionEvent.Type, listener: Deque.Listener<T>): void;
/**
* @inheritdoc
*/
removeEventListener(type: CollectionEvent.Type, listener: Deque.Listener<T>): void;
}
export declare namespace Deque {
type Event<T> = CollectionEvent<T, std.Deque<T>, std.Deque.Iterator<T>, std.Deque.ReverseIterator<T>>;
type Listener<T> = CollectionEvent.Listener<T, std.Deque<T>, std.Deque.Iterator<T>, std.Deque.ReverseIterator<T>>;
const Event: typeof CollectionEvent;
export import Iterator = std.Deque.Iterator;
export import ReverseIterator = std.Deque.ReverseIterator;
}