mirror of
https://github.com/ETLCPP/etl.git
synced 2026-10-28 18:07:10 +08:00
Removed the 32 type limit for visitor and operator visits
Deleted variant_select_do_operator and variant_select_do_visitor headers
This commit is contained in:
parent
edad83299e
commit
ecdf1b3db8
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -381,11 +381,6 @@ namespace etl
|
||||
template <typename T, typename... VTypes>
|
||||
ETL_CONSTEXPR14 const T&& get(const etl::variant<VTypes...>&& v);
|
||||
|
||||
#if ETL_NOT_USING_CPP17
|
||||
#include "variant_select_do_operator.h"
|
||||
#include "variant_select_do_visitor.h"
|
||||
#endif
|
||||
|
||||
constexpr bool operator>(etl::monostate, etl::monostate) ETL_NOEXCEPT
|
||||
{
|
||||
return false;
|
||||
@ -1573,25 +1568,6 @@ namespace etl
|
||||
{
|
||||
(attempt_visitor<I>(visitor) || ...);
|
||||
}
|
||||
#else
|
||||
//***************************************************************************
|
||||
/// Call the relevant visitor.
|
||||
//***************************************************************************
|
||||
template <size_t NTypes, typename TVisitor>
|
||||
void do_visitor(TVisitor& visitor)
|
||||
{
|
||||
etl::private_variant::select_do_visitor<NTypes>::do_visitor(*this, visitor);
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Call the relevant visitor.
|
||||
//***************************************************************************
|
||||
template <size_t NTypes, typename TVisitor>
|
||||
void do_visitor(TVisitor& visitor) const
|
||||
{
|
||||
etl::private_variant::select_do_visitor<NTypes>::do_visitor(*this, visitor);
|
||||
}
|
||||
#endif
|
||||
|
||||
//***************************************************************************
|
||||
/// Attempt to call a visitor.
|
||||
@ -1635,6 +1611,74 @@ namespace etl
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
//***************************************************************************
|
||||
/// Call the relevant visitor.
|
||||
//***************************************************************************
|
||||
template <size_t NTypes, typename TVisitor>
|
||||
void do_visitor(TVisitor& visitor)
|
||||
{
|
||||
do_visitor_at(visitor, etl::make_index_sequence<NTypes>{});
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Call the relevant visitor.
|
||||
//***************************************************************************
|
||||
template <size_t NTypes, typename TVisitor>
|
||||
void do_visitor(TVisitor& visitor) const
|
||||
{
|
||||
do_visitor_at(visitor, etl::make_index_sequence<NTypes>{});
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Base case: exactly one index remains, so it's assumed to be the match.
|
||||
//***************************************************************************
|
||||
template <typename TVisitor, size_t Index>
|
||||
void do_visitor_at(TVisitor& visitor, etl::index_sequence<Index>)
|
||||
{
|
||||
visitor.visit(etl::get<Index>(*this));
|
||||
}
|
||||
|
||||
template <typename TVisitor, size_t Index>
|
||||
void do_visitor_at(TVisitor& visitor, etl::index_sequence<Index>) const
|
||||
{
|
||||
visitor.visit(etl::get<Index>(*this));
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Recursive case: check Index against this->index(), otherwise defer.
|
||||
//***************************************************************************
|
||||
template <typename TVisitor, size_t Index, size_t Index2, size_t... Rest>
|
||||
void do_visitor_at(TVisitor& visitor, etl::index_sequence<Index, Index2, Rest...>)
|
||||
{
|
||||
if (this->index() == Index)
|
||||
{
|
||||
visitor.visit(etl::get<Index>(*this));
|
||||
}
|
||||
else
|
||||
{
|
||||
do_visitor_at(visitor, etl::index_sequence<Index2, Rest...>{});
|
||||
}
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Recursive case: check Index against this->index(), otherwise defer.
|
||||
//***************************************************************************
|
||||
template <typename TVisitor, size_t Index, size_t Index2, size_t... Rest>
|
||||
void do_visitor_at(TVisitor& visitor, etl::index_sequence<Index, Index2, Rest...>) const
|
||||
{
|
||||
if (this->index() == Index)
|
||||
{
|
||||
visitor.visit(etl::get<Index>(*this));
|
||||
}
|
||||
else
|
||||
{
|
||||
do_visitor_at(visitor, etl::index_sequence<Index2, Rest...>{});
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ETL_USING_CPP17 && !defined(ETL_VARIANT_FORCE_CPP11)
|
||||
//***************************************************************************
|
||||
/// Call the relevant visitor by attempting each one.
|
||||
@ -1653,53 +1697,6 @@ namespace etl
|
||||
{
|
||||
(attempt_operator<I>(visitor) || ...);
|
||||
}
|
||||
#else
|
||||
//***************************************************************************
|
||||
/// Call the relevant operator.
|
||||
//***************************************************************************
|
||||
template <size_t NTypes, typename TVisitor>
|
||||
void do_operator(TVisitor& visitor)
|
||||
{
|
||||
#if defined(ETL_VARIANT_CPP11_MAX_8_TYPES)
|
||||
ETL_STATIC_ASSERT(sizeof...(TTypes) <= 8U, "ETL_VARIANT_CPP11_MAX_8_TYPES - Only a maximum of 8 types are allowed in this variant");
|
||||
#endif
|
||||
|
||||
#if defined(ETL_VARIANT_CPP11_MAX_16_TYPES)
|
||||
ETL_STATIC_ASSERT(sizeof...(TTypes) <= 16U, "ETL_VARIANT_CPP11_MAX_16_TYPES - Only a maximum of 16 types are allowed in this variant");
|
||||
#endif
|
||||
|
||||
#if defined(ETL_VARIANT_CPP11_MAX_24_TYPES)
|
||||
ETL_STATIC_ASSERT(sizeof...(TTypes) <= 24U, "ETL_VARIANT_CPP11_MAX_24_TYPES - Only a maximum of 24 types are allowed in this variant");
|
||||
#endif
|
||||
|
||||
ETL_STATIC_ASSERT(sizeof...(TTypes) <= 32U, "A maximum of 32 types are allowed in this variant");
|
||||
|
||||
etl::private_variant::select_do_operator<NTypes>::do_operator(*this, visitor);
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Call the relevant operator.
|
||||
//***************************************************************************
|
||||
template <size_t NTypes, typename TVisitor>
|
||||
void do_operator(TVisitor& visitor) const
|
||||
{
|
||||
#if defined(ETL_VARIANT_CPP11_MAX_8_TYPES)
|
||||
ETL_STATIC_ASSERT(sizeof...(TTypes) <= 8U, "ETL_VARIANT_CPP11_MAX_8_TYPES - Only a maximum of 8 types are allowed in this variant");
|
||||
#endif
|
||||
|
||||
#if defined(ETL_VARIANT_CPP11_MAX_16_TYPES)
|
||||
ETL_STATIC_ASSERT(sizeof...(TTypes) <= 16U, "ETL_VARIANT_CPP11_MAX_16_TYPES - Only a maximum of 16 types are allowed in this variant");
|
||||
#endif
|
||||
|
||||
#if defined(ETL_VARIANT_CPP11_MAX_24_TYPES)
|
||||
ETL_STATIC_ASSERT(sizeof...(TTypes) <= 24U, "ETL_VARIANT_CPP11_MAX_24_TYPES - Only a maximum of 24 types are allowed in this variant");
|
||||
#endif
|
||||
|
||||
ETL_STATIC_ASSERT(sizeof...(TTypes) <= 32U, "A maximum of 32 types are allowed in this variant");
|
||||
|
||||
etl::private_variant::select_do_operator<NTypes>::do_operator(*this, visitor);
|
||||
}
|
||||
#endif
|
||||
|
||||
//***************************************************************************
|
||||
/// Attempt to call a visitor.
|
||||
@ -1737,6 +1734,74 @@ namespace etl
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
//***************************************************************************
|
||||
/// Call the relevant visitor.
|
||||
//***************************************************************************
|
||||
template <size_t NTypes, typename TVisitor>
|
||||
void do_operator(TVisitor& visitor)
|
||||
{
|
||||
do_operator_at(visitor, etl::make_index_sequence<NTypes>{});
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Call the relevant visitor.
|
||||
//***************************************************************************
|
||||
template <size_t NTypes, typename TVisitor>
|
||||
void do_operator(TVisitor& visitor) const
|
||||
{
|
||||
do_operator_at(visitor, etl::make_index_sequence<NTypes>{});
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Base case: exactly one index remains, so it's assumed to be the match.
|
||||
//***************************************************************************
|
||||
template <typename TVisitor, size_t Index>
|
||||
void do_operator_at(TVisitor& visitor, etl::index_sequence<Index>)
|
||||
{
|
||||
visitor(etl::get<Index>(*this));
|
||||
}
|
||||
|
||||
template <typename TVisitor, size_t Index>
|
||||
void do_operator_at(TVisitor& visitor, etl::index_sequence<Index>) const
|
||||
{
|
||||
visitor(etl::get<Index>(*this));
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Recursive case: check Index against this->index(), otherwise defer.
|
||||
//***************************************************************************
|
||||
template <typename TVisitor, size_t Index, size_t Index2, size_t... Rest>
|
||||
void do_operator_at(TVisitor& visitor, etl::index_sequence<Index, Index2, Rest...>)
|
||||
{
|
||||
if (this->index() == Index)
|
||||
{
|
||||
visitor(etl::get<Index>(*this));
|
||||
}
|
||||
else
|
||||
{
|
||||
do_operator_at(visitor, etl::index_sequence<Index2, Rest...>{});
|
||||
}
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Recursive case: check Index against this->index(), otherwise defer.
|
||||
//***************************************************************************
|
||||
template <typename TVisitor, size_t Index, size_t Index2, size_t... Rest>
|
||||
void do_operator_at(TVisitor& visitor, etl::index_sequence<Index, Index2, Rest...>) const
|
||||
{
|
||||
if (this->index() == Index)
|
||||
{
|
||||
visitor(etl::get<Index>(*this));
|
||||
}
|
||||
else
|
||||
{
|
||||
do_operator_at(visitor, etl::index_sequence<Index2, Rest...>{});
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
//***************************************************************************
|
||||
/// Get a reference to the stored value by index.
|
||||
/// For trivially destructible types, accesses the variadic_union directly.
|
||||
@ -2206,7 +2271,7 @@ namespace etl
|
||||
static ETL_CONSTEXPR14 TReturn do_visit_at(TCallable&& f, TVariant&& v, index_sequence<tIndex>, TVarRest&&... variants)
|
||||
{
|
||||
return do_visit_single<TReturn, TCallable, TVariant, tIndex, TVarRest...>(static_cast<TCallable&&>(f), static_cast<TVariant&&>(v),
|
||||
static_cast<TVarRest&&>(variants)...);
|
||||
static_cast<TVarRest&&>(variants)...);
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
@ -2219,12 +2284,12 @@ namespace etl
|
||||
if (v.index() == tIndex)
|
||||
{
|
||||
return do_visit_single<TReturn, TCallable, TVariant, tIndex, TVarRest...>(static_cast<TCallable&&>(f), static_cast<TVariant&&>(v),
|
||||
static_cast<TVarRest&&>(variants)...);
|
||||
static_cast<TVarRest&&>(variants)...);
|
||||
}
|
||||
else
|
||||
{
|
||||
return do_visit_at<TReturn, TCallable, TVariant>(static_cast<TCallable&&>(f), static_cast<TVariant&&>(v), index_sequence<tIndex2, tRest...>{},
|
||||
static_cast<TVarRest&&>(variants)...);
|
||||
static_cast<TVarRest&&>(variants)...);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2237,18 +2302,17 @@ namespace etl
|
||||
ETL_ASSERT(!v.valueless_by_exception(), ETL_ERROR(bad_variant_access));
|
||||
|
||||
return do_visit_at<TReturn, TCallable, TVariant>(static_cast<TCallable&&>(f), static_cast<TVariant&&>(v), seq,
|
||||
static_cast<TVarRest&&>(variants)...);
|
||||
static_cast<TVarRest&&>(variants)...);
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
///
|
||||
//***************************************************************************
|
||||
template <typename TReturn, typename TCallable, typename TVariant, typename... TVarRest>
|
||||
static ETL_CONSTEXPR14 TReturn visit(TCallable&& f, TVariant&& v, TVarRest&&... vs)
|
||||
template <typename TReturn, typename TCallable, typename TVariant, typename... TVs>
|
||||
static ETL_CONSTEXPR14 TReturn visit(TCallable&& f, TVariant&& v, TVs&&... vs)
|
||||
{
|
||||
constexpr size_t variants = etl::variant_size<typename remove_reference<TVariant>::type>::value;
|
||||
return do_visit<TReturn>(static_cast<TCallable&&>(f), static_cast<TVariant&&>(v), make_index_sequence<variants>{},
|
||||
static_cast<TVarRest&&>(vs)...);
|
||||
return do_visit<TReturn>(static_cast<TCallable&&>(f), static_cast<TVariant&&>(v), make_index_sequence<variants>{}, static_cast<TVs&&>(vs)...);
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
|
||||
@ -12,377 +12,7 @@ project(etl_unit_tests LANGUAGES CXX)
|
||||
|
||||
add_executable(etl_tests
|
||||
main.cpp
|
||||
murmurhash3.cpp
|
||||
test_algorithm.cpp
|
||||
test_algorithm_ranges.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_with_default_delegate.cpp
|
||||
test_closure_with_default_delegate_constexpr.cpp
|
||||
test_closure_with_inplace_function.cpp
|
||||
test_compare.cpp
|
||||
test_concepts.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_clamped_value.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_assert.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.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_hfsm_transition_on_enter.cpp
|
||||
test_histogram.cpp
|
||||
test_index_of_type.cpp
|
||||
test_indirect_vector.cpp
|
||||
test_indirect_vector_external_buffer.cpp
|
||||
test_inplace_function.cpp
|
||||
test_instance_count.cpp
|
||||
test_integral_limits.cpp
|
||||
test_intrusive_avl_tree.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_invoke.cpp
|
||||
test_io_port.cpp
|
||||
test_is_invocable.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_manchester.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_print.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_ranges.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_signal.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_vector_function_pointer.cpp
|
||||
test_vector_function_pointer_external_buffer.cpp
|
||||
test_vector_member_function_pointer.cpp
|
||||
test_vector_member_function_pointer_external_buffer.cpp
|
||||
test_visitor.cpp
|
||||
test_xor_checksum.cpp
|
||||
test_xor_rotate_checksum.cpp
|
||||
)
|
||||
|
||||
target_compile_definitions(etl_tests PRIVATE -DETL_DEBUG)
|
||||
|
||||
@ -3596,8 +3596,6 @@
|
||||
<ClInclude Include="..\..\include\etl\private\diagnostic_unused_function_push.h" />
|
||||
<ClInclude Include="..\..\include\etl\private\tuple_element.h" />
|
||||
<ClInclude Include="..\..\include\etl\private\tuple_size.h" />
|
||||
<ClInclude Include="..\..\include\etl\private\variant_select_do_operator.h" />
|
||||
<ClInclude Include="..\..\include\etl\private\variant_select_do_visitor.h" />
|
||||
<ClInclude Include="..\..\include\etl\pseudo_moving_average.h" />
|
||||
<ClInclude Include="..\..\include\etl\delegate.h" />
|
||||
<ClInclude Include="..\..\include\etl\delegate_service.h" />
|
||||
@ -11807,4 +11805,4 @@
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
@ -1407,12 +1407,6 @@
|
||||
<ClInclude Include="..\..\include\etl\index_of_type.h">
|
||||
<Filter>ETL\Utilities</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\etl\private\variant_select_do_visitor.h">
|
||||
<Filter>ETL\Private</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\etl\private\variant_select_do_operator.h">
|
||||
<Filter>ETL\Private</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\etl\monostate.h">
|
||||
<Filter>ETL\Utilities</Filter>
|
||||
</ClInclude>
|
||||
@ -4124,4 +4118,4 @@
|
||||
<Filter>Resource Files\Images</Filter>
|
||||
</Image>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
Loading…
x
Reference in New Issue
Block a user