moonbitstack/moonstl/seq does not have a README file
test {
let set : @seq.BitSet = @seq.BitSet::new()
@test.assert_eq(set.insert(3), true)
@test.assert_eq(set.insert(3), false)
@test.assert_eq(set.contains(3), true)
@test.assert_eq(set.length(), 1)
@test.assert_eq(set.select(0), Some(3))
@test.assert_eq(set.rank(4), 1)
}test {
let bits : @seq.BitVec = @seq.BitVec::new()
bits.push(true)
bits.push(false)
bits.push(true)
@test.assert_eq(bits.length(), 3)
@test.assert_eq(bits.get(2), Some(true))
@test.assert_eq(bits.count_ones(), 2)
}test {
let buffer : @seq.GapBuffer[Int32] = @seq.GapBuffer::new()
buffer.insert(0, 1)
buffer.insert(1, 3)
buffer.insert(1, 2)
@test.assert_eq(buffer.to_array(), [1, 2, 3])
@test.assert_eq(buffer.remove(1), Some(2))
@test.assert_eq(buffer.to_array(), [1, 3])
}test {
let list : @seq.LinkedList[Int32] = @seq.LinkedList::new()
list.push_back(1)
list.push_back(2)
list.push_front(0)
@test.assert_eq(list.to_array(), [0, 1, 2])
@test.assert_eq(list.pop_front(), Some(0))
@test.assert_eq(list.length(), 2)
}impl Eq for RingBuffer[T]impl Hash for RingBuffer[T]impl Show for RingBuffer[T]impl Debug for RingBuffer[T]fn[T] RingBuffer::from_array(capacity~ : Int, values : ArrayView[T], overflow? : Overflow) -> RingBuffer[T] raise Refusedfn[T] RingBuffer::from_iter(capacity~ : Int, values : Iter[T], overflow? : Overflow) -> RingBuffer[T] raise Refusedtest {
let buffer : @seq.RingBuffer[Int32] = @seq.RingBuffer::new(capacity=2)
@test.assert_eq(buffer.capacity(), 2)
assert_true(buffer.is_empty())
}test {
let set : @seq.SparseSet[String] = @seq.SparseSet::new()
@test.assert_eq(set.insert("a"), true)
@test.assert_eq(set.insert("a"), false)
@test.assert_eq(set.contains("a"), true)
@test.assert_eq(set.to_array(), ["a"])
}Install
Download zipData structures and algorithms the MoonBit core library leaves out.