stl 0.1.3
stl: ^0.1.3 copied to clipboard
A performance-oriented implementation of STL patterns (Vector, List, algorithms) for Dart.
0.0.1 #
- Initial release and project structure.
- Reserving the
stlpackage name.
0.1.0 #
Added #
- Introduced the core
Vector<T>class. - Overloaded
operator ==andhashCodefor deep value-based equality matching instead of default reference equality. - Implemented C++ STL-style lexicographical comparison operators (
<,<=,>,>=) andcompareToby enforcingT extends Comparable. - Re-added random element access (
operator []andoperator []=) with strict memory safety and bounds checking. - Overridden
toString()for beautifully formatted array-like console output. - Implemented core container modifiers (
push_back,pop_back,clear,insert) with underlying bounds validation. - Made the
Vectorcompletely compatible with Dart standard iterables by introducingIterableMixin, granting dozens of built-in loop operations (.map,.where,reduce,for-inblocks).
Changed #
- Completely rewrote
Vector<T>to establish a clean slate and focus on strictconstandfinallist initialization semantics. - Temporarily removed all extended operations (
+,-,*,at(),toList(), etc.) for architectural redesign.
0.1.1 #
- Documentation update: Fixed installation instructions in README.
0.1.2 #
Added #
- Added
operator +for vector concatenation. - Added
operator *for vector multiplication with an integer. - Added
operator -for vector subtraction. - Added
~for conversion to List.
0.1.3 #
- Added
at()method for safe random access with bounds checking. - Added
front()method for accessing the first element with bounds checking. - Added
back()method for accessing the last element with bounds checking. - Added
empty()method for checking if the vector is empty. - Added
size()method for getting the size of the vector. - Added
sort()method for sorting the vector. - Added
reverse()method for reversing the vector. - Added
shuffle()method for shuffling the vector. - Added
contains()method for checking if the vector contains an element. - Added
indexOf()method for getting the index of an element. - Added
remove()method for removing an element. - Added
removeAt()method for removing an element at a specific index. - Added
removeLast()method for removing the last element. - Added
removeRange()method for removing a range of elements. - Added
removeWhere()method for removing elements that satisfy a condition. - Added
retainWhere()method for retaining elements that satisfy a condition.