* Deduce underlying storage size when constructing string_ext from char[].
This removes the need for passing sizeof(storage) to the constructor.
* Add array constructors for the other string types.
- u16string_ext
- u32string_ext
- u8string_ext
- wstring_ext
* Add additional constructors to match existing API.
* Fix inconsistent test argument order.
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
* Remove AppVeyor build status badge
Removed AppVeyor build status badge from README.
* Update README.md
* Update CONTRIBUTING.md
Updated the instructions for contributing.
* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)
* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Add support for size_t and unsigned long to etl::format
* Document list of supported types in etl::supported_format_types
* Add further types and tests for etl::format
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
* Remove AppVeyor build status badge
Removed AppVeyor build status badge from README.
* Update README.md
* Update CONTRIBUTING.md
Updated the instructions for contributing.
* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)
* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* feat: use ref-qualifiers for basic_format_spec
Converted the l-value methods to ref-qualified and also added r-value ref-qualified methods.
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
* Deduce underlying storage size when constructing string_ext from char[].
This removes the need for passing sizeof(storage) to the constructor.
* Add array constructors for the other string types.
- u16string_ext
- u32string_ext
- u8string_ext
- wstring_ext
* Add additional constructors to match existing API.
* Fix inconsistent test argument order.
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
* Remove AppVeyor build status badge
Removed AppVeyor build status badge from README.
* Update README.md
* Update CONTRIBUTING.md
Updated the instructions for contributing.
* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)
* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Add support for size_t and unsigned long to etl::format
* Document list of supported types in etl::supported_format_types
* Add further types and tests for etl::format
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
* Remove AppVeyor build status badge
Removed AppVeyor build status badge from README.
* Update README.md
* Update CONTRIBUTING.md
Updated the instructions for contributing.
* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)
* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* feat: use ref-qualifiers for basic_format_spec
Converted the l-value methods to ref-qualified and also added r-value ref-qualified methods.
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
* Allow string as format arg
* Remove AppVeyor build status badge
Removed AppVeyor build status badge from README.
* Update README.md
* Update CONTRIBUTING.md
Updated the instructions for contributing.
* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)
* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Added test string escaped
* Add temporary string test
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
* Remove AppVeyor build status badge
Removed AppVeyor build status badge from README.
* Update README.md
* Update CONTRIBUTING.md
Updated the instructions for contributing.
* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)
* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Make typed_storage constructor constexpr
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
* Remove AppVeyor build status badge
Removed AppVeyor build status badge from README.
* Update README.md
* Update CONTRIBUTING.md
Updated the instructions for contributing.
* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)
* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Move comparison operators of etl::expected to namespace etl
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
* Remove AppVeyor build status badge
Removed AppVeyor build status badge from README.
* Update README.md
* Update CONTRIBUTING.md
Updated the instructions for contributing.
* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)
* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Add missing includes
Before this change, the includes needed to be done explicitly by
files using basic_string_stream.h, and be included first. This
was error prone, especially if includes are reordered (e.g. via
the currently defined clang-format rules).
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
* Remove AppVeyor build status badge
Removed AppVeyor build status badge from README.
* Update README.md
* Update CONTRIBUTING.md
Updated the instructions for contributing.
* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)
* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Remove advance() on static spans
Since the size of a static span is constant, we can't reasonably
advance() on it.
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
* Fix etl::tuple template signature error in pair assignment operator
* Remove AppVeyor build status badge
Removed AppVeyor build status badge from README.
* Update README.md
* Update etl::tuple to explicitly use etl::pair or std::pair in assignment operator
* Added tests for etl::tuple assignment from pair
---------
Co-authored-by: Bryton Flecker <bflecker@swe.com>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
* Update C++26 deprecated constructs to ensure future standard compliance
I replaced std::is_trivial with a combination of std::is_trivially_default_constructible and std::is_trivially_copyable. Additionally, I added the required comma before the ellipsis in variadic functions to match updated language specifications.
* Some additional is_trivial related changes not found directly when compiling tests in C++26
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Some of the tests' UB are detectable by Gcc15 and thus give a compile error due to warnings-as-error flag.
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
A missing 'const' in the etl::as_bytes implementation was causing a
compile-time error when etl::as_bytes was called on a span of const
values.
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Some interfaces need to be implemented in every project
or platform using the ETL:
* etl_get_high_resolution_clock
* etl_get_system_clock
* etl_get_steady_clock
* etl_putchar
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
* Create span from vector deduction
* Use ivector for deduction. Add vector_ext to test
* Add vector pointer to test
* Finish tests
* Initialize pdata_ext and others
* Fix & add more tests for year_month arithmetic
* Minor addtions to previous commit
* More missing values to be uninitialized
* Update the default constructors to = default and correct default constructor tests accordingly
* Fix & add more tests for year_month arithmetic
* Minor addtions to previous commit
* More missing values to be uninitialized
* Update the default constructors to = default and correct default constructor tests accordingly
* Restore default constructor behavior for chrono calender
* Allow string as format arg
* Remove AppVeyor build status badge
Removed AppVeyor build status badge from README.
* Update README.md
* Update CONTRIBUTING.md
Updated the instructions for contributing.
* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)
* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Added test string escaped
* Add temporary string test
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
* Remove AppVeyor build status badge
Removed AppVeyor build status badge from README.
* Update README.md
* Update CONTRIBUTING.md
Updated the instructions for contributing.
* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)
* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Make typed_storage constructor constexpr
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
* Remove AppVeyor build status badge
Removed AppVeyor build status badge from README.
* Update README.md
* Update CONTRIBUTING.md
Updated the instructions for contributing.
* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)
* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Move comparison operators of etl::expected to namespace etl
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
* Remove AppVeyor build status badge
Removed AppVeyor build status badge from README.
* Update README.md
* Update CONTRIBUTING.md
Updated the instructions for contributing.
* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)
* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.
* Add missing includes
Before this change, the includes needed to be done explicitly by
files using basic_string_stream.h, and be included first. This
was error prone, especially if includes are reordered (e.g. via
the currently defined clang-format rules).
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>