6 Commits

Author SHA1 Message Date
Roland Reichwein
8a782cc7f1
Add more constexpr to constructors (#1450)
* Add more constexpr to ctors

* Adjust operator!=() in fixed_iterator.h

Instead of taking an iterator by reference, take it by value as
done in the other operators and overloads.

* Initialize move_iterator() current member

Prevent indeterminate values

* Fix fixed_iterator::operator* return type

fixed_iterator::operator* returned value_type by value, so writes like *it = ...
modified a temporary rather than the underlying location. This broke the
iterator’s intended use (e.g., writing to a fixed register/memory location).
Now returning iterator_traits<TIterator>::reference instead (const and
non-const overloads).

* Fixed move_iterator::operator+= and operator-= return type

move_iterator::operator+= / operator-= returned by value, but RandomAccessIterator
requirements (and std::move_iterator) expect these to return move_iterator&.
Returning by value also added an unnecessary copy and could break generic code
expecting reference semantics.
2026-05-31 19:32:38 +01:00
John Wellbelove
aeb8e4f734 Formatted source files 2026-04-02 14:11:45 +01:00
John Wellbelove
d884719098 Fixed all 'extra semicolon' warnings 2025-12-16 09:15:26 +00:00
John Wellbelove
baa47d1c33 Updated copyright notice 2022-06-10 21:45:37 +01:00
CanastraRF
7c0f169b66
literal with suffix (#416) 2021-08-23 11:01:18 +01:00
John Wellbelove
1ac0311cfb Unit tests for algorithms and functors 2021-04-10 15:21:16 +01:00