* [base64] initial Base-64 re-implementation
* Add BufferView._assertBounds() functions
- they act the same as the _checkBounds() functions
- but only in debug mode
* Improve BufferView slicing
- when all the necessary checking has been done, the BufferView initializer doesn’t need to validate the buffer length another time.
* remove premature reference to typealias
* add the `unsafe` particle to an initializer argument label
* [base64] modify Base64 with `OutputBuffer` and `BufferView`
* remove unused bits in OutputBuffer
* express a cascaded if statement as a switch
* make internal decoding initializer failable
* Update Sources/FoundationEssentials/Data/Data+Base64.swift
Co-authored-by: Elliot Knight <63256761+Harry-KNIGHT@users.noreply.github.com>
---------
Co-authored-by: Elliot Knight <63256761+Harry-KNIGHT@users.noreply.github.com>
This reverts a change in the internal representation of `BufferView` which has potentially significant performance consequences. We might want to make this change, but we need to carefully evaluate the performance consequences first.
This reverts commit 6900c61344048242878ccbb9b79b0a47b2b75e80.
* Refactor BufferView to use typealias "Index" for Collection protocol methods
* Refactor BufferView to use "Index" consistently both within and outside of Collection extension methods.
* Remove comments in BufferView
* Revert the position defined of Index and make it clear that it is part of the Collection conformance in BufferView
* Move count among the Collection conformance in BufferView