The-Peso-G / tstl

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

Home Page:https://github.com/The-Peso-G/tstl.git

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TypeScript Standard Template Library

Make STL Great Again

Financial Contributors on Open Collective GitHub license npm version Downloads Build Status FOSSA Status 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

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

About

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

https://github.com/The-Peso-G/tstl.git

License:MIT License


Languages

Language:TypeScript 99.4%Language:C++ 0.6%