Merge pull request 'FixedArrayList compile time assert' (#740) from eive/fsfw:container_additional_assert into development

Reviewed-on: fsfw/fsfw#740
This commit is contained in:
Ulrich Mohr 2023-05-08 14:04:56 +02:00
commit bbfc1b2b34
2 changed files with 5 additions and 0 deletions

View File

@ -13,6 +13,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- PUS Health Service: Size check for set health command. - PUS Health Service: Size check for set health command.
- PUS Health Service: Perform operation completion for announce health command. - PUS Health Service: Perform operation completion for announce health command.
## Changed
- Assert that `FixedArrayList` is larger than 0 at compile time.
# [v6.0.0] 2023-02-10 # [v6.0.0] 2023-02-10
## Fixes ## Fixes

View File

@ -12,6 +12,7 @@ template <typename T, size_t MAX_SIZE, typename count_t = uint8_t>
class FixedArrayList : public ArrayList<T, count_t> { class FixedArrayList : public ArrayList<T, count_t> {
static_assert(MAX_SIZE <= std::numeric_limits<count_t>::max(), static_assert(MAX_SIZE <= std::numeric_limits<count_t>::max(),
"count_t is not large enough to hold MAX_SIZE"); "count_t is not large enough to hold MAX_SIZE");
static_assert(MAX_SIZE > 0, "MAX_SIZE is 0");
private: private:
T data[MAX_SIZE]; T data[MAX_SIZE];