astl

0.0.15 • Public • Published

AssemblyScript Standard Template Library

logo

GitHub license npm version Downloads Build Status

Implementation of STL (Standard Template Library) for the AssemblyScript.

  • Containers
  • Iterators
  • Algorithms
  • Functors

ASTL is an open-source project providing features of the STL, migrated from the C++ to the AssemblyScript. You can enjoy those STL's own specific containers, algorithms and functors in the AssemblyScript.

Below components are list of the provided objects in the ASTL.

Features

Containers

  • Linear Conatainers
    • Vector
    • Deque
    • List
    • ForwardList
    • VectorBoolean
  • Associative Containers
    • Tree-structured ontainers
      • TreeMap
      • TreeMultiMap
      • TreeMultiSet
      • TreeSet
    • Hash-buckets based containers
      • HashMap
      • HashMultiMap
      • HashMultiSet
      • HashSet
  • Adaptor Containers
    • Linear adaptors
      • Stack
      • Queue
      • PriorityQueue
    • Associative adaptors
      • experimental.FlatMap
      • experimental.FlatMultiMap
      • experimental.FlatMultiSet
      • experimental.FlatSet
      • experimental.LightMap
      • experimental.LightSet

Algorithms

  • <algorithm>
    • binary_search
    • heap
    • iterations
    • mathematics
    • merge
    • modifiers
    • partition
    • sorting
    • union_set

Functors

  • <exception>
    • Exception
      • LogicError
      • RntimeError
  • <functional>
    • comparators
    • hash
  • <numeric>
    • operators
    • operations
    • special_math
  • <utility>

Installation

NPM Module

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

npm install --save astl

Usage

import std from "astl";

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

    map.emplace(1, "First");
    map.emplace(4, "Fourth");
    map.emplace(5, "Fifth");
    map.set(9, "Nineth");

    for (let it = map.begin(); it != map.end(); it = it.next())
        trace(it.first.toString() + ", " + it.second);

    const it: std.TreeMap.Iterator<i32, string> = map.lower_bound(3);
    trace("lower_bound() of 3 is: " + it.first.toString());
}
main();

Dependencies (0)

    Dev Dependencies (2)

    Package Sidebar

    Install

    npm i astl

    Weekly Downloads

    1

    Version

    0.0.15

    License

    MIT

    Unpacked Size

    385 kB

    Total Files

    131

    Last publish

    Collaborators

    • samchon