Skip to content

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

License

Notifications You must be signed in to change notification settings

The-Peso-G/tstl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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++)

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 99.4%
  • C++ 0.6%