/tstl

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

Primary LanguageTypeScriptMIT LicenseMIT

TypeScript Standard Template Library

Build Status npm version Downloads FOSSA Status 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

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");

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

    // 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}`);
}
main();

Appendix