[gs-longan](../README.md) / Stack

# Class: Stack\<T\>

## Type parameters

| Name |
| :------ |
| `T` |

## Table of contents

### Constructors

- [constructor](Stack.md#constructor)

### Properties

- [index](Stack.md#index)
- [items](Stack.md#items)
- [typeName](Stack.md#typename)

### Accessors

- [count](Stack.md#count)

### Methods

- [add](Stack.md#add)
- [forEach](Stack.md#foreach)
- [get](Stack.md#get)
- [peek](Stack.md#peek)
- [peekDirect](Stack.md#peekdirect)
- [peekPrev](Stack.md#peekprev)
- [pop](Stack.md#pop)
- [push](Stack.md#push)

## Constructors

### constructor

• **new Stack**\<`T`\>(`len?`): [`Stack`](Stack.md)\<`T`\>

#### Type parameters

| Name |
| :------ |
| `T` |

#### Parameters

| Name | Type |
| :------ | :------ |
| `len?` | `number` |

#### Returns

[`Stack`](Stack.md)\<`T`\>

## Properties

### index

• **index**: `number` = `-1`

___

### items

• **items**: `T`[]

___

### typeName

• **typeName**: `string` = `"Stack"`

## Accessors

### count

• `get` **count**(): `number`

#### Returns

`number`

## Methods

### add

▸ **add**(`elem`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `elem` | `T` |

#### Returns

`void`

___

### forEach

▸ **forEach**(`callback`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `callback` | (`value`: `T`) => `any` |

#### Returns

`void`

___

### get

▸ **get**(`index`): `T`

#### Parameters

| Name | Type |
| :------ | :------ |
| `index` | `number` |

#### Returns

`T`

___

### peek

▸ **peek**(): `T`

#### Returns

`T`

___

### peekDirect

▸ **peekDirect**(): `T`

#### Returns

`T`

___

### peekPrev

▸ **peekPrev**(): `T`

#### Returns

`T`

___

### pop

▸ **pop**(): `T`

#### Returns

`T`

___

### push

▸ **push**(`elem`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `elem` | `T` |

#### Returns

`void`
