etl/docs/utilities
John Wellbelove a2da3ed940
Optimise cyclic value (#1607)
* Updated ignore for hard link for CLion

* Initial working version

* Optimised advance template call

* Further optimsed advance

Updated docs and tests

* Moved comparison operators out of the class.

* Implement spaceship operator <=> for No-STL case (#1604)

This was disabled explicitly in recent commit
232c948674cff1b4b72c2d6b3acfa7342d096dd1 to prevent using
the <compare> header from STL.

Now, re-enabling by implementing an ETL version of it in compare.h

* Sponsorship message updates

* Fix duplicated check runs

* Refactored the advance function to fix issues with signed unsigned mod operations.

* clang-format

* Updated documentation for cyclic_value

* Modified code comments

* Fixed a logic issue in advance() where a less than maximum step from the minimum value for a cyclic value covering the full type's range would take the wrong logical path (Step would roll over), although calculating the correct result.

This could be cofusing to someone debugging cyclc_value.

* Added runtime ans static asserts for reverse ordered limts.

* clang-format

* Spelling fix 'fast' -> 'last'

* Code review updates

* clang-format

* Code review updates

* Code review updates

---------

Co-authored-by: John Wellbelove <john.wellbelove@etlcpp.com>
Co-authored-by: Roland Reichwein <Roland.Reichwein@bmw.de>
2026-10-09 17:39:04 +01:00
..
_index.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
algorithms.md Fix code examples in documentation (#1471) 2026-06-23 18:11:17 +01:00
alignment.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
atomic.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
bit-stream-reader.md Various fixes and cleanup (#1507) 2026-07-20 11:19:41 +02:00
bit-stream-writer.md Various fixes and cleanup (#1507) 2026-07-20 11:19:41 +02:00
byte-stream-reader.md Separate bit order and endianness in bit_stream.h (#1495) 2026-07-08 09:22:25 +01:00
byte-stream-writer.md Separate bit order and endianness in bit_stream.h (#1495) 2026-07-08 09:22:25 +01:00
clamped-value.md Add referenced clamped values with shared ranges (#1597) 2026-09-26 10:45:48 +01:00
compare.md Implement spaceship operator <=> for No-STL case (#1604) 2026-09-17 12:38:18 +02:00
constant.md Separate bit order and endianness in bit_stream.h (#1495) 2026-07-08 09:22:25 +01:00
cyclic-value.md Optimise cyclic value (#1607) 2026-10-09 17:39:04 +01:00
debug-count.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
endian.md Various fixes and cleanup (#1507) 2026-07-20 11:19:41 +02:00
enum-type.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
error-handler.md Various fixes and cleanup (#1507) 2026-07-20 11:19:41 +02:00
etl-traits.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
exceptions.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
expected.md Allow expected to be constructed from a convertible value or expected (#1587) 2026-09-07 16:23:20 +02:00
function-traits.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
functional.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
infinite-loop.md Add etl::infinite_loop (#1458) 2026-06-12 08:04:24 +01:00
initializer-list.md Various fixes and cleanup (#1507) 2026-07-20 11:19:41 +02:00
instance-count.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
integral-limits.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
intrusive-links.md Add docs and tutorial for etl::intrusive_avl_tree (#1608) 2026-09-27 09:42:34 +01:00
limits.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
mem_cast.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
memory-model.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
memory.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
mutex.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
not-null.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
nth-type.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
null-type.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
nullptr.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
numeric.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
optional.md For optional monadic operations, add docs, tests, and complete type (#1568) 2026-08-27 13:17:43 +02:00
parameter-pack.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
parameter-type.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
reference-counted-objects.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
result.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
static-assert.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00
utility.md Absolute and casting updates (#1583) 2026-09-03 14:38:51 +02:00
versions.md Issue/add hugo support for documentation (#1449) 2026-06-06 13:12:44 +01:00