35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
/**
|
|
* @packageDocumentation
|
|
* @module std
|
|
*/
|
|
import { InsertIteratorBase } from "../internal/iterator/InsertIteratorBase";
|
|
import { IPushFront } from "../internal/container/partial/IPushFront";
|
|
/**
|
|
* Front insert iterator.
|
|
*
|
|
* @author Jeongho Nam - https://github.com/samchon
|
|
*/
|
|
export declare class FrontInsertIterator<Source extends IPushFront<FrontInsertIterator.ValueType<Source>>> extends InsertIteratorBase<FrontInsertIterator.ValueType<Source>, FrontInsertIterator<Source>> {
|
|
private source_;
|
|
/**
|
|
* Initializer Constructor.
|
|
*
|
|
* @param source The source container.
|
|
*/
|
|
constructor(source: Source);
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
set value(val: FrontInsertIterator.ValueType<Source>);
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
equals(obj: FrontInsertIterator<Source>): boolean;
|
|
}
|
|
export declare namespace FrontInsertIterator {
|
|
/**
|
|
* Deduct value type.
|
|
*/
|
|
type ValueType<Source extends IPushFront<any>> = Source extends IPushFront<infer T> ? T : unknown;
|
|
}
|