Skip to content

3.0.0 Pre 1

Pre-release
Pre-release
Compare
Choose a tag to compare
@nkaaf nkaaf released this 29 Oct 18:58
5e4efee

Warning: This is a Pre-Release. It is not intended to be used in production system because of (maybe) decreased/isolated functionality. Pre-Releases are published to be tested and reviewed by the audience.

Intention

This pre-release aims to prove the functionality of immutable SingleLinkedLists (aka. List). Actions involving rvalues (primitives and classes) and lvalues (classes) are important.

Non functional

  • Mutable SingleLinkedLists
  • (Im)Mutable DoubleLInkedLists
  • toArray, fromArray, sort - methods in all lists

Documentation

Please note, that the documentation might not be on-point, and changed on the way to the 3.0.0 Release.

Breaking Changes

  • Get Function
    • get -> returning immutable value (replacement for getValue)
    • getMutable -> returning mutable pointer (replacement for getPointer)

New API

  • void addAll(int index , T *arr, size_t arrSize) - add all entries from the array to the list at the index.

Internal changed

  • T objects are now saved in the Entries instead of "pointer to T objects"
    • This is because of the scoped memory allocation of an object during the add-process. Otherwise the object would be free'd after running out of the add-method scope.
  • remove macro for the creation of final values due to the fact, that 'memcpy' does not work on objects of classes
  • add pre-processor checks for rvalue-functions (only available in C++11 or later; and earlier by defining a macro)
  • change some int to size_t where it makes logical sense
  • more correct equals check for mutable lists (not only value equal, but object/reference equal)

Further changes

  • Comment out toArray function in example file
  • clearer documentation
  • add Tests for immutable SingleLinkedList with PlatformIO Unity-Engine

Full Changelog: v2.1.4...v3.0.0pre1