JSPM

tstl

1.8.0-dev.20180524-2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 16458
  • Score
    100M100P100Q136235F
  • License BSD-3-Clause

TypeScript-STL (Standard Template Library, migrated from C++)

Package Exports

  • tstl

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (tstl) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

TypeScript Standard Template Library

Build Status npm version Downloads DeepScan grade Chat on Gitter

Implementation of STL (Standard Template Library) in TypeScript.

  • Containers
  • Iterators
  • Algorithms
  • Functors

TSTL is an open-source project providing features of STL, migrated from C++ to TypeScript. You can enjoy the STL's own specific containers, algorithms and functors in the JavaScript. If TypeScript, you also can take advantage of type restrictions and generic programming with the TypeScript.

Below components are list of provided objects in the TSTL. If you want to know more about the TSTL, then please read the Guide Documents.

Features

Containers

ECOL

Extension of TSTL Containers dispatching Events.

ECOL is an extension module of TSTL, providing special collections dispatching events. The special collections are almost similar with the original STL Containers, but you also can observe elements' I/O events with the special collections.

Types of the event dispatched by the special collections are "insert", "erase" and "refresh".

Algorithms

Functors

Installation

NPM Module

Installing TSTL in NodeJS is very easy. Just install with the npm

# Install TSTL from the NPM module
npm install --save tstl

Usage

import std = require("tstl");

let map: std.TreeMap<number, string> = new std.TreeMap<number, string>();

// INSERT ITEMS
map.insert(std.make_pair(1, "First")); // Via tuple
map.emplace(4, "Fourth"); // C++11 Feature
map.insert_or_assign(5, "Fifth"); // C++17 Feature
map.set(9, "Nineth"); // Instead of the operetor[](Key)

// ITERATION
for (let it = map.begin(); !it.equals(map.end()); it = it.next())
    console.log(it.first, it.second); // (key => number, value => string)

// LOWER_BOUND
let x = map.lower_bound(3);
console.log(`lower bound of 3 is: ${x.first}, ${x.second}`);

References