- Update list of tests according to CMakeLists.txt content.
- Update compiler args :
- Add same arguments as in CMakeLists.txt.
- Remove non-vitual-dtor warnings (code need to be fixed before enabling this warning).
- Enable sanatizer.
- Add unittest-cpp subproject as a wrap dependency.
- Add `meson test`target to start the `etl_unit_tests` program.
* Provide cmake library for UnitTest++.
Prefer cmake target_* commands.
* Replace wrong cmake link options with compile
* We need the sanitize flags also in linker
* Add back_inserter implementation
- Mainly a copy of the STL implementation found in LLVM.
- Add test_back_insert_iterator unit test.
* Add documentation and use ETL_OR_STD macro
* Add MIT License in header
* Move back_insert_iterator into iterator.h
* Remove unused code
* Strictly follow the C++ STL naming
https://en.cppreference.com/w/cpp/iterator/back_insert_iterator
Strictly following the C++ STL would have container_ be container.
* Make the check for C++11 clearer
* Run the unit test only for C++11
* Add front_insert_iterator
- Make back_insert_iterator available to C++03
- Add ETL_CONSTEXPR17,ETL_NODISCARD and ETL_USING_CPP11
- Replace std:move usage by etl::move
- Update doc
* Use explicit namespace for adressof() and move().
* Special case check for hashing 0 floating point numbers
* Update test_hash.cpp
Co-authored-by: Jesse <jli@planarmotor.com>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
* Move __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS before `#include <stdint.h>`. (#601)
Macros must be defined before first include of stdint.h. Else they have no effect.
* Replace ETL_COMPILER_ICCAVR by ETL_COMPILER_IAR. (#602)
The current definition mechanism for ETL_COMPILER_ICCAVR does not work. Both IAR compilers, for ARM and AVR define `__IAR_SYSTEMS_ICC__`. Thus `ETL_COMPILER_TYPE_DETECTED` will be defined in line before ETL_COMPILER_ICCAVR is defined. This switch will never be entered.
Currently I see no reason for differentiating both compilers (`__ICCARM__` and `__ICCAVR__`). The condition for the IAR compiler platform (`__IAR_SYSTEMS_ICC__`) is sufficient (combined with <C++11 detection).
At the moment ETL_COMPILER_ICCAVR is used as a switch condition for using `#pragma push_macro`. But actually IAR ARM and IAR AVR have no such macro defined. ETL_COMPILER_IAR is defined for both compilers. Thus the switch condition is replaced with ETL_COMPILER_IAR.
* Fix 'maybe-uninitialized' g++ error on macos (#600)
* Add documentation to the pair class
* Add test directory to the EXAMPLE_PATH
* Update .gitignore
- Remove duplicate entries
- Add doxygen output directories
* Add Select1st and Select2nd functors
* Merge select1st and select2nd into utility.h
Co-authored-by: David Hebbeker <dhebbeker@users.noreply.github.com>
* #227 Hash function for enums
* Move enum hash definition to bottom, so gcc doesn't complain about it
* Explicitly specify etl hash
Co-authored-by: Jesse <jli@planarmotor.com>