stl 0.2.0 copy "stl: ^0.2.0" to clipboard
stl: ^0.2.0 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 stl package name.

0.1.0 #

Added #

  • Introduced the core Vector<T> class.
  • Overloaded operator == and hashCode for deep value-based equality matching instead of default reference equality.
  • Implemented C++ STL-style lexicographical comparison operators (<, <=, >, >=) and compareTo by enforcing T extends Comparable.
  • Re-added random element access (operator [] and operator []=) 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 Vector completely compatible with Dart standard iterables by introducing IterableMixin, granting dozens of built-in loop operations (.map, .where, reduce, for-in blocks).

Changed #

  • Completely rewrote Vector<T> to establish a clean slate and focus on strict const and final list 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.

0.1.4 #

  • Added stl.collections for more collection types.
  • Moved Vector to stl.collections.
  • Removed stl_base.dart.

0.1.5 #

  • Cleaned up duplicate vector.dart source file.

0.1.6 #

  • Added Deque collection.

0.1.7 #

  • Added Deque example showcase.

0.1.8 #

  • Added Stack collection.
  • Added unit tests for Stack collection.
  • Added unit test for Vector collection.
  • Added unit test for Deque collection.
  • Removed stl_test.dart.
  • Added ForwardList collection.

0.1.9 #

  • Updated Readme.md
  • Added test for ForwardList collection.

0.2.0 #

Added #

  • Expanded Vector<T> with strictly identical C++ style operations: assign(), resize(), insertAll(), and swap().
  • Enhanced Deque<T> by natively mixing in IterableMixin<T>, enabling dozens of standard iterable operations.
  • Appended missing C++ aliases to Deque<T> (push_back(), push_front(), pop_back(), pop_front(), front(), back()).
  • Added index-based random access array functionality (operator [], operator []=, at()) and swap() method to Deque<T>.
  • Greatly expanded ForwardList<T> singly-linked manipulation algorithms: remove(), remove_if(), insert_after(), erase_after(), and unique().
  • Implemented state swap() adapter for Stack<T>.
2
likes
0
points
805
downloads

Publisher

verified publishertekinu.ai

Weekly Downloads

A performance-oriented implementation of STL patterns (Vector, List, algorithms) for Dart.

Repository (GitHub)
View/report issues

License

unknown (license)

More

Packages that depend on stl