diff --git a/.gitignore b/.gitignore index 344d9f3c..679552e6 100644 --- a/.gitignore +++ b/.gitignore @@ -409,3 +409,4 @@ examples/UniquePtrWithPool/Makefile examples/UniquePtrWithPool/CMakeCache.txt examples/UniquePtrWithPool/UniquePtrWithPool test/vs2022/Debug Clang C++20 - Optimised -O2 +include/etl/header_file_list.txt diff --git a/include/etl/const_set.h b/include/etl/const_set.h index 20c4b67f..18f36032 100644 --- a/include/etl/const_set.h +++ b/include/etl/const_set.h @@ -445,9 +445,6 @@ namespace etl using const_iterator = typename base_t::const_iterator; using size_type = typename base_t::size_type; - /// Defines the parameter types - using const_reference = const key_type&; - static_assert((etl::is_default_constructible::value), "key_type must be default constructible"); //************************************************************************* diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 5840bb35..888fd12c 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -12,16 +12,358 @@ project(etl_unit_tests LANGUAGES CXX) add_executable(etl_tests main.cpp + murmurhash3.cpp + test_algorithm.cpp + test_alignment.cpp + test_array.cpp + test_array_view.cpp + test_array_wrapper.cpp + test_atomic.cpp + test_base64_RFC2152_decoder.cpp + test_base64_RFC2152_encoder.cpp + test_base64_RFC3501_decoder.cpp + test_base64_RFC3501_encoder.cpp + test_base64_RFC4648_decoder_with_no_padding.cpp + test_base64_RFC4648_decoder_with_padding.cpp + test_base64_RFC4648_encoder_with_no_padding.cpp + test_base64_RFC4648_encoder_with_padding.cpp + test_base64_RFC4648_URL_decoder_with_no_padding.cpp + test_base64_RFC4648_URL_decoder_with_padding.cpp + test_base64_RFC4648_URL_encoder_with_no_padding.cpp + test_base64_RFC4648_URL_encoder_with_padding.cpp + test_binary.cpp + test_bip_buffer_spsc_atomic.cpp + test_bit.cpp + test_bitset_legacy.cpp + test_bitset_new_comparisons.cpp + test_bitset_new_default_element_type.cpp + test_bitset_new_explicit_single_element_type.cpp + test_bitset_new_ext_default_element_type.cpp + test_bitset_new_ext_explicit_single_element_type.cpp + test_bit_stream.cpp + test_bit_stream_reader_big_endian.cpp + test_bit_stream_reader_little_endian.cpp + test_bit_stream_writer_big_endian.cpp + test_bit_stream_writer_little_endian.cpp + test_bloom_filter.cpp + test_bresenham_line.cpp + test_bsd_checksum.cpp + test_buffer_descriptors.cpp + test_byte.cpp + test_byte_stream.cpp + test_callback_service.cpp + test_callback_timer.cpp + test_callback_timer_atomic.cpp + test_callback_timer_deferred_locked.cpp + test_callback_timer_interrupt.cpp + test_callback_timer_locked.cpp + test_char_traits.cpp + test_checksum.cpp + test_chrono_clocks.cpp + test_chrono_day.cpp + test_chrono_duration.cpp + test_chrono_hh_mm_ss.cpp + test_chrono_literals.cpp + test_chrono_month.cpp + test_chrono_month_day.cpp + test_chrono_month_day_last.cpp + test_chrono_month_weekday.cpp + test_chrono_month_weekday_last.cpp + test_chrono_operators.cpp + test_chrono_time_point.cpp + test_chrono_weekday.cpp + test_chrono_weekday_indexed.cpp + test_chrono_weekday_last.cpp + test_chrono_year.cpp + test_chrono_year_month.cpp + test_chrono_year_month_day.cpp + test_chrono_year_month_day_last.cpp + test_chrono_year_month_weekday.cpp + test_chrono_year_month_weekday_last.cpp + test_circular_buffer.cpp + test_circular_buffer_external_buffer.cpp + test_circular_iterator.cpp + test_closure.cpp + test_closure_constexpr.cpp + test_compare.cpp + test_constant.cpp + test_const_map.cpp + test_const_map_constexpr.cpp + test_const_map_ext.cpp + test_const_map_ext_constexpr.cpp + test_const_multimap.cpp + test_const_multimap_constexpr.cpp + test_const_multimap_ext.cpp + test_const_multimap_ext_constexpr.cpp + test_const_multiset.cpp + test_const_multiset_constexpr.cpp + test_const_multiset_ext.cpp + test_const_multiset_ext_constexpr.cpp + test_const_set.cpp + test_const_set_constexpr.cpp + test_const_set_ext.cpp + test_const_set_ext_constexpr.cpp + test_container.cpp + test_correlation.cpp + test_covariance.cpp + test_crc1.cpp + test_crc16.cpp + test_crc16_a.cpp + test_crc16_arc.cpp + test_crc16_aug_ccitt.cpp + test_crc16_buypass.cpp + test_crc16_ccitt.cpp + test_crc16_cdma2000.cpp + test_crc16_dds110.cpp + test_crc16_dectr.cpp + test_crc16_dectx.cpp + test_crc16_dnp.cpp + test_crc16_en13757.cpp + test_crc16_genibus.cpp + test_crc16_kermit.cpp + test_crc16_m17.cpp + test_crc16_maxim.cpp + test_crc16_mcrf4xx.cpp + test_crc16_modbus.cpp + test_crc16_opensafety_a.cpp + test_crc16_opensafety_b.cpp + test_crc16_profibus.cpp + test_crc16_riello.cpp + test_crc16_t10dif.cpp + test_crc16_teledisk.cpp + test_crc16_tms37157.cpp + test_crc16_usb.cpp + test_crc16_x25.cpp + test_crc16_xmodem.cpp + test_crc32.cpp + test_crc32_bzip2.cpp + test_crc32_c.cpp + test_crc32_d.cpp + test_crc32_jamcrc.cpp + test_crc32_mpeg2.cpp + test_crc32_posix.cpp + test_crc32_q.cpp + test_crc32_xfer.cpp + test_crc64_ecma.cpp + test_crc64_iso.cpp + test_crc8_ccitt.cpp + test_crc8_cdma2000.cpp + test_crc8_darc.cpp + test_crc8_dvbs2.cpp + test_crc8_ebu.cpp + test_crc8_icode.cpp + test_crc8_itu.cpp + test_crc8_j1850.cpp + test_crc8_j1850_zero.cpp + test_crc8_maxim.cpp + test_crc8_nrsc5.cpp + test_crc8_opensafety.cpp + test_crc8_rohc.cpp + test_crc8_wcdma.cpp + test_cyclic_value.cpp + test_debounce.cpp + test_delegate.cpp + test_delegate_cpp03.cpp + test_delegate_observable.cpp + test_delegate_service.cpp + test_delegate_service_compile_time.cpp + test_delegate_service_cpp03.cpp + test_deque.cpp + test_endian.cpp + test_enum_type.cpp + test_error_handler.cpp + test_etl_traits.cpp + test_exception.cpp + test_expected.cpp + test_fixed_iterator.cpp + test_fixed_sized_memory_block_allocator.cpp + test_flags.cpp + test_flat_map.cpp + test_flat_multimap.cpp + test_flat_multiset.cpp + test_flat_set.cpp + test_fnv_1.cpp + test_format_spec.cpp + test_forward_list.cpp + test_forward_list_shared_pool.cpp + test_fsm.cpp + test_function.cpp + test_functional.cpp + test_function_traits.cpp + test_gamma.cpp + test_hash.cpp + test_hfsm.cpp + test_hfsm_recurse_to_inner_state_on_start.cpp + test_histogram.cpp + test_index_of_type.cpp + test_indirect_vector.cpp + test_indirect_vector_external_buffer.cpp + test_instance_count.cpp + test_integral_limits.cpp + test_intrusive_forward_list.cpp + test_intrusive_links.cpp + test_intrusive_list.cpp + test_intrusive_queue.cpp + test_intrusive_stack.cpp + test_invert.cpp + test_io_port.cpp + test_iterator.cpp + test_jenkins.cpp + test_largest.cpp + test_limiter.cpp + test_limits.cpp + test_list.cpp + test_list_shared_pool.cpp + test_macros.cpp + test_make_string.cpp + test_map.cpp + test_math.cpp + test_math_functions.cpp + test_mean.cpp + test_memory.cpp + test_mem_cast.cpp + test_mem_cast_ptr.cpp + test_message.cpp + test_message_broker.cpp + test_message_bus.cpp + test_message_packet.cpp + test_message_router.cpp + test_message_router_registry.cpp + test_message_timer.cpp + test_message_timer_atomic.cpp + test_message_timer_interrupt.cpp + test_message_timer_locked.cpp + test_multimap.cpp + test_multiset.cpp + test_multi_array.cpp + test_multi_range.cpp + test_multi_span.cpp + test_multi_vector.cpp + test_murmur3.cpp + test_not_null_pointer.cpp + test_not_null_pointer_constexpr.cpp + test_not_null_unique_pointer.cpp + test_nth_type.cpp + test_numeric.cpp + test_observer.cpp + test_optional.cpp + test_overload.cpp + test_packet.cpp + test_parameter_pack.cpp + test_parameter_type.cpp + test_parity_checksum.cpp + test_pearson.cpp + test_poly_span_dynamic_extent.cpp + test_poly_span_fixed_extent.cpp + test_pool.cpp + test_pool_external_buffer.cpp + test_priority_queue.cpp + test_pseudo_moving_average.cpp + test_quantize.cpp + test_queue.cpp + test_queue_lockable.cpp + test_queue_lockable_small.cpp + test_queue_memory_model_small.cpp + test_queue_mpmc_mutex.cpp + test_queue_mpmc_mutex_small.cpp + test_queue_spsc_atomic.cpp + test_queue_spsc_atomic_small.cpp + test_queue_spsc_isr.cpp + test_queue_spsc_isr_small.cpp + test_queue_spsc_locked.cpp + test_queue_spsc_locked_small.cpp + test_random.cpp + test_ratio.cpp + test_reference_flat_map.cpp + test_reference_flat_multimap.cpp + test_reference_flat_multiset.cpp + test_reference_flat_set.cpp + test_rescale.cpp + test_result.cpp + test_rms.cpp + test_rounded_integral_division.cpp + test_scaled_rounding.cpp + test_set.cpp + test_shared_message.cpp + test_singleton.cpp + test_singleton_base.cpp + test_smallest.cpp + test_span_dynamic_extent.cpp + test_span_fixed_extent.cpp + test_stack.cpp + test_standard_deviation.cpp + test_state_chart.cpp + test_state_chart_compile_time.cpp + test_state_chart_compile_time_with_data_parameter.cpp + test_state_chart_with_data_parameter.cpp + test_state_chart_with_rvalue_data_parameter.cpp test_string_char.cpp test_string_char_external_buffer.cpp + test_string_stream.cpp + test_string_stream_u16.cpp + test_string_stream_u32.cpp + test_string_stream_u8.cpp + test_string_stream_wchar_t.cpp test_string_u16.cpp test_string_u16_external_buffer.cpp test_string_u32.cpp test_string_u32_external_buffer.cpp test_string_u8.cpp test_string_u8_external_buffer.cpp + test_string_utilities.cpp + test_string_utilities_std.cpp + test_string_utilities_std_u16.cpp + test_string_utilities_std_u32.cpp + test_string_utilities_std_u8.cpp + test_string_utilities_std_wchar_t.cpp + test_string_utilities_u16.cpp + test_string_utilities_u32.cpp + test_string_utilities_u8.cpp + test_string_utilities_wchar_t.cpp + test_string_view.cpp test_string_wchar_t.cpp test_string_wchar_t_external_buffer.cpp + test_successor.cpp + test_task_scheduler.cpp + test_threshold.cpp + test_to_arithmetic.cpp + test_to_arithmetic_u16.cpp + test_to_arithmetic_u32.cpp + test_to_arithmetic_u8.cpp + test_to_arithmetic_wchar_t.cpp + test_to_string.cpp + test_to_u16string.cpp + test_to_u32string.cpp + test_to_u8string.cpp + test_to_wstring.cpp + test_tuple.cpp + test_type_def.cpp + test_type_list.cpp + test_type_lookup.cpp + test_type_select.cpp + test_type_traits.cpp + test_unaligned_type.cpp + test_unaligned_type_ext.cpp + test_uncopyable.cpp + test_unordered_map.cpp + test_unordered_multimap.cpp + test_unordered_multiset.cpp + test_unordered_set.cpp + test_user_type.cpp + test_utility.cpp + test_variance.cpp + test_variant_legacy.cpp + test_variant_pool.cpp + test_variant_pool_external_buffer.cpp + test_variant_variadic.cpp + test_vector.cpp + test_vector_external_buffer.cpp + test_vector_non_trivial.cpp + test_vector_pointer.cpp + test_vector_pointer_external_buffer.cpp + test_visitor.cpp + test_xor_checksum.cpp + test_xor_rotate_checksum.cpp ) target_compile_definitions(etl_tests PRIVATE -DETL_DEBUG) diff --git a/test/test_const_multiset.cpp b/test/test_const_multiset.cpp index ae97994b..4e444495 100644 --- a/test/test_const_multiset.cpp +++ b/test/test_const_multiset.cpp @@ -86,10 +86,10 @@ namespace } // Equality operator for Key != Key - constexpr bool operator !=(const Key& lhs, const Key& rhs) noexcept - { - return !(lhs.k == rhs.k); - } + //constexpr bool operator !=(const Key& lhs, const Key& rhs) noexcept + //{ + // return !(lhs.k == rhs.k); + //} #define TEST_GREATER_THAN #ifdef TEST_GREATER_THAN diff --git a/test/test_const_multiset_constexpr.cpp b/test/test_const_multiset_constexpr.cpp index d431466a..d9cba6f7 100644 --- a/test/test_const_multiset_constexpr.cpp +++ b/test/test_const_multiset_constexpr.cpp @@ -86,10 +86,10 @@ namespace } // Equality operator for Key != Key - constexpr bool operator !=(const Key& lhs, const Key& rhs) noexcept - { - return !(lhs.k == rhs.k); - } + //constexpr bool operator !=(const Key& lhs, const Key& rhs) noexcept + //{ + // return !(lhs.k == rhs.k); + //} #define TEST_GREATER_THAN #ifdef TEST_GREATER_THAN diff --git a/test/test_const_multiset_ext.cpp b/test/test_const_multiset_ext.cpp index a05fef54..44780f81 100644 --- a/test/test_const_multiset_ext.cpp +++ b/test/test_const_multiset_ext.cpp @@ -87,10 +87,10 @@ namespace } // Equality operator for Key != Key - constexpr bool operator !=(const Key& lhs, const Key& rhs) noexcept - { - return !(lhs.k == rhs.k); - } + //constexpr bool operator !=(const Key& lhs, const Key& rhs) noexcept + //{ + // return !(lhs.k == rhs.k); + //} #define TEST_GREATER_THAN #ifdef TEST_GREATER_THAN diff --git a/test/test_const_multiset_ext_constexpr.cpp b/test/test_const_multiset_ext_constexpr.cpp index da032198..6d58c18b 100644 --- a/test/test_const_multiset_ext_constexpr.cpp +++ b/test/test_const_multiset_ext_constexpr.cpp @@ -86,11 +86,11 @@ namespace return (lhs.k == rhs.k); } - // Equality operator for Key != Key - constexpr bool operator !=(const Key& lhs, const Key& rhs) noexcept - { - return !(lhs.k == rhs.k); - } + //// Equality operator for Key != Key + //constexpr bool operator !=(const Key& lhs, const Key& rhs) noexcept + //{ + // return !(lhs.k == rhs.k); + //} #define TEST_GREATER_THAN #ifdef TEST_GREATER_THAN diff --git a/test/test_const_set.cpp b/test/test_const_set.cpp index c923a3e2..6e3ec66b 100644 --- a/test/test_const_set.cpp +++ b/test/test_const_set.cpp @@ -84,10 +84,10 @@ namespace } // Equality operator for Key != Key - constexpr bool operator !=(const Key& lhs, const Key& rhs) noexcept - { - return !(lhs.k == rhs.k); - } + //constexpr bool operator !=(const Key& lhs, const Key& rhs) noexcept + //{ + // return !(lhs.k == rhs.k); + //} #define TEST_GREATER_THAN #ifdef TEST_GREATER_THAN diff --git a/test/test_const_set_constexpr.cpp b/test/test_const_set_constexpr.cpp index 0e2a0cfa..f8f7c467 100644 --- a/test/test_const_set_constexpr.cpp +++ b/test/test_const_set_constexpr.cpp @@ -84,10 +84,10 @@ namespace } // Equality operator for Key != Key - constexpr bool operator !=(const Key& lhs, const Key& rhs) noexcept - { - return !(lhs.k == rhs.k); - } + //constexpr bool operator !=(const Key& lhs, const Key& rhs) noexcept + //{ + // return !(lhs.k == rhs.k); + //} #define TEST_GREATER_THAN #ifdef TEST_GREATER_THAN @@ -1129,6 +1129,7 @@ namespace CHECK_TRUE(equal12); CHECK_FALSE(equal13); + CHECK_FALSE(equal14); } //************************************************************************* diff --git a/test/test_const_set_ext.cpp b/test/test_const_set_ext.cpp index b96fffb4..7f613308 100644 --- a/test/test_const_set_ext.cpp +++ b/test/test_const_set_ext.cpp @@ -90,10 +90,10 @@ namespace } // Equality operator for Key != Key - constexpr bool operator !=(const Key& lhs, const Key& rhs) noexcept - { - return !(lhs.k == rhs.k); - } + //constexpr bool operator !=(const Key& lhs, const Key& rhs) noexcept + //{ + // return !(lhs.k == rhs.k); + //} #define TEST_GREATER_THAN #ifdef TEST_GREATER_THAN diff --git a/test/test_const_set_ext_constexpr.cpp b/test/test_const_set_ext_constexpr.cpp index feb15cc7..13ce5216 100644 --- a/test/test_const_set_ext_constexpr.cpp +++ b/test/test_const_set_ext_constexpr.cpp @@ -90,10 +90,10 @@ namespace } // Equality operator for Key != Key - constexpr bool operator !=(const Key& lhs, const Key& rhs) noexcept - { - return !(lhs.k == rhs.k); - } + //constexpr bool operator !=(const Key& lhs, const Key& rhs) noexcept + //{ + // return !(lhs.k == rhs.k); + //} #define TEST_GREATER_THAN #ifdef TEST_GREATER_THAN