Awesome
AssemblyScript Standard Template Library
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
- Tree-structured ontainers
- Adaptor Containers
- Linear adaptors
Stack
Queue
PriorityQueue
- Associative adaptors
experimental.FlatMap
experimental.FlatMultiMap
experimental.FlatMultiSet
experimental.FlatSet
experimental.LightMap
experimental.LightSet
- Linear adaptors
Algorithms
<algorithm>
- binary_search
- heap
- iterations
- mathematics
- merge
- modifiers
- partition
- sorting
- union_set
Functors
<exception>
- Exception
- LogicError
- RntimeError
- Exception
<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();