Never-ending Pumpkin Mulch

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

    Install

    npm i astl

    DownloadsWeekly Downloads

    7

    Version

    0.0.15

    License

    MIT

    Unpacked Size

    385 kB

    Total Files

    131

    Last publish

    Collaborators

    • samchon