Files
rss-nostr-lambda/node_modules/tstl/container/VectorBoolean.d.ts
T

123 lines
3.6 KiB
TypeScript

/**
* @packageDocumentation
* @module std
*/
import { IArrayContainer } from "../base/container/IArrayContainer";
import { ArrayContainer } from "../internal/container/linear/ArrayContainer";
import { ArrayIterator } from "../internal/iterator/ArrayIterator";
import { ArrayReverseIterator } from "../internal/iterator/ArrayReverseIterator";
import { IForwardIterator } from "../iterator/IForwardIterator";
/**
* Vector only for `boolean`.
*
* @author Jeongho Nam - https://github.com/samchon
*/
export declare class VectorBoolean extends ArrayContainer<boolean, VectorBoolean, VectorBoolean, VectorBoolean.Iterator, VectorBoolean.ReverseIterator, boolean> implements IArrayContainer<boolean, VectorBoolean, VectorBoolean.Iterator, VectorBoolean.ReverseIterator> {
/**
* Store not full elements, but their sequence.
*
* - first: index
* - second: value
*/
private data_;
/**
* Number of elements
*/
private size_;
/**
* Default Constructor.
*/
constructor();
/**
* Initializer Constructor.
*
* @param items Items to assign.
*/
constructor(array: boolean[]);
/**
* Copy Constructor
*
* @param obj Object to copy.
*/
constructor(obj: VectorBoolean);
/**
* Fill Constructor.
*
* @param size Initial size.
* @param val Value to fill.
*/
constructor(n: number, val: boolean);
/**
* Range Constructor.
*
* @param first Input iterator of the first position.
* @param last Input iteartor of the last position.
*/
constructor(first: Readonly<IForwardIterator<boolean>>, last: Readonly<IForwardIterator<boolean>>);
/**
* @inheritDoc
*/
assign(n: number, val: boolean): void;
/**
* @inheritDoc
*/
assign<InputIterator extends Readonly<IForwardIterator<boolean, InputIterator>>>(first: InputIterator, last: InputIterator): void;
/**
* @inheritDoc
*/
clear(): void;
/**
* @inheritDoc
*/
resize(n: number): void;
/**
* Flip all values.
*/
flip(): void;
/**
* @inheritDoc
*/
swap(obj: VectorBoolean): void;
protected source(): VectorBoolean;
/**
* @inheritDoc
*/
size(): number;
protected _At(index: number): boolean;
protected _Set(index: number, val: boolean): void;
/**
* @inheritDoc
*/
nth(index: number): VectorBoolean.Iterator;
private _Find_node;
/**
* @inheritDoc
*/
push(...items: boolean[]): number;
/**
* @inheritDoc
*/
push_back(val: boolean): void;
protected _Pop_back(): void;
protected _Insert_by_repeating_val(pos: VectorBoolean.Iterator, n: number, val: boolean): VectorBoolean.Iterator;
protected _Insert_by_range<InputIterator extends Readonly<IForwardIterator<boolean, InputIterator>>>(pos: VectorBoolean.Iterator, first: InputIterator, last: InputIterator): VectorBoolean.Iterator;
private _Insert_to_middle;
private _Insert_to_end;
protected _Erase_by_range(first: VectorBoolean.Iterator, last: VectorBoolean.Iterator): VectorBoolean.Iterator;
}
/**
*
*/
export declare namespace VectorBoolean {
/**
* Iterator of {@link VectorBoolean}
*/
type Iterator = ArrayIterator<boolean, VectorBoolean>;
/**
* Reverse iterator of {@link VectorBoolean}
*/
type ReverseIterator = ArrayReverseIterator<boolean, VectorBoolean>;
const Iterator: typeof ArrayIterator;
const ReverseIterator: typeof ArrayReverseIterator;
}