etl/20.38.10

A C++ template library for embedded applications
Recipe info
2023-12-13

Available packages
Header Only

Install
Add the following line to your conanfile.txt:
[requires]
etl/20.38.10

Using etl

Note

If you are new with Conan, we recommend to read the section how to consume packages.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
etl/20.38.10
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("etl/20.38.10")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): etl
  • CMake target name(s): etl::etl
  • pkg-config file name(s): etl.pc

A simple use case using the CMake file name and the global target:

# ...
find_package(etl REQUIRED)
# ...
target_link_libraries(YOUR_TARGET etl::etl)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the etl homepage listed above:

#include "etl/absolute.h"
#include "etl/algorithm.h"
#include "etl/alignment.h"
#include "etl/array.h"
#include "etl/array_view.h"
#include "etl/array_wrapper.h"
#include "etl/atomic.h"
#include "etl/atomic/atomic_arm.h"
#include "etl/atomic/atomic_clang_sync.h"
#include "etl/atomic/atomic_gcc_sync.h"
#include "etl/atomic/atomic_std.h"
#include "etl/base64.h"
#include "etl/basic_format_spec.h"
#include "etl/basic_string.h"
#include "etl/basic_string_stream.h"
#include "etl/binary.h"
#include "etl/bip_buffer_spsc_atomic.h"
#include "etl/bit.h"
#include "etl/bit_stream.h"
#include "etl/bitset.h"
#include "etl/bloom_filter.h"
#include "etl/bresenham_line.h"
#include "etl/buffer_descriptors.h"
#include "etl/byte.h"
#include "etl/byte_stream.h"
#include "etl/callback.h"
#include "etl/callback_service.h"
#include "etl/callback_timer.h"
#include "etl/callback_timer_atomic.h"
#include "etl/callback_timer_interrupt.h"
#include "etl/callback_timer_locked.h"
#include "etl/char_traits.h"
#include "etl/checksum.h"
#include "etl/circular_buffer.h"
#include "etl/circular_iterator.h"
#include "etl/combinations.h"
#include "etl/compare.h"
#include "etl/constant.h"
#include "etl/container.h"
#include "etl/correlation.h"
#include "etl/covariance.h"
#include "etl/crc.h"
#include "etl/crc1.h"
#include "etl/crc16.h"
#include "etl/crc16_a.h"
#include "etl/crc16_arc.h"
#include "etl/crc16_aug_ccitt.h"
#include "etl/crc16_buypass.h"
#include "etl/crc16_ccitt.h"
#include "etl/crc16_cdma2000.h"
#include "etl/crc16_dds110.h"
#include "etl/crc16_dectr.h"
#include "etl/crc16_dectx.h"
#include "etl/crc16_dnp.h"
#include "etl/crc16_en13757.h"
#include "etl/crc16_genibus.h"
#include "etl/crc16_kermit.h"
#include "etl/crc16_m17.h"
#include "etl/crc16_maxim.h"
#include "etl/crc16_mcrf4xx.h"
#include "etl/crc16_modbus.h"
#include "etl/crc16_profibus.h"
#include "etl/crc16_riello.h"
#include "etl/crc16_t10dif.h"
#include "etl/crc16_teledisk.h"
#include "etl/crc16_tms37157.h"
#include "etl/crc16_usb.h"
#include "etl/crc16_x25.h"
#include "etl/crc16_xmodem.h"
#include "etl/crc32.h"
#include "etl/crc32_bzip2.h"
#include "etl/crc32_c.h"
#include "etl/crc32_d.h"
#include "etl/crc32_jamcrc.h"
#include "etl/crc32_mpeg2.h"
#include "etl/crc32_posix.h"
#include "etl/crc32_q.h"
#include "etl/crc32_xfer.h"
#include "etl/crc64_ecma.h"
#include "etl/crc8_ccitt.h"
#include "etl/crc8_cdma2000.h"
#include "etl/crc8_darc.h"
#include "etl/crc8_dvbs2.h"
#include "etl/crc8_ebu.h"
#include "etl/crc8_icode.h"
#include "etl/crc8_itu.h"
#include "etl/crc8_maxim.h"
#include "etl/crc8_rohc.h"
#include "etl/crc8_wcdma.h"
#include "etl/cstring.h"
#include "etl/cyclic_value.h"
#include "etl/debounce.h"
#include "etl/debug_count.h"
#include "etl/delegate.h"
#include "etl/delegate_observer.h"
#include "etl/delegate_service.h"
#include "etl/deprecated/factory.h"
#include "etl/deque.h"
#include "etl/doxygen.h"
#include "etl/endianness.h"
#include "etl/enum_type.h"
#include "etl/error_handler.h"
#include "etl/exception.h"
#include "etl/expected.h"
#include "etl/experimental/bit_cast.h"
#include "etl/experimental/class_traits.h"
#include "etl/experimental/icache.h"
#include "etl/experimental/mem_cast.h"
#include "etl/experimental/singleton.h"
#include "etl/factorial.h"
#include "etl/fibonacci.h"
#include "etl/file_error_numbers.h"
#include "etl/fixed_iterator.h"
#include "etl/fixed_sized_memory_block_allocator.h"
#include "etl/flags.h"
#include "etl/flat_map.h"
#include "etl/flat_multimap.h"
#include "etl/flat_multiset.h"
#include "etl/flat_set.h"
#include "etl/fnv_1.h"
#include "etl/format_spec.h"
#include "etl/forward_list.h"
#include "etl/frame_check_sequence.h"
#include "etl/fsm.h"
#include "etl/function.h"
#include "etl/functional.h"
#include "etl/gamma.h"
#include "etl/generators/fsm_generator.h"
#include "etl/generators/largest_generator.h"
#include "etl/generators/message_packet_generator.h"
#include "etl/generators/message_router_generator.h"
#include "etl/generators/smallest_generator.h"
#include "etl/generators/type_lookup_generator.h"
#include "etl/generators/type_select_generator.h"
#include "etl/generators/type_traits_generator.h"
#include "etl/generators/variant_pool_generator.h"
#include "etl/generic_pool.h"
#include "etl/hash.h"
#include "etl/hfsm.h"
#include "etl/histogram.h"
#include "etl/ihash.h"
#include "etl/imemory_block_allocator.h"
#include "etl/indirect_vector.h"
#include "etl/initializer_list.h"
#include "etl/instance_count.h"
#include "etl/integral_limits.h"
#include "etl/intrusive_forward_list.h"
#include "etl/intrusive_links.h"
#include "etl/intrusive_list.h"
#include "etl/intrusive_queue.h"
#include "etl/intrusive_stack.h"
#include "etl/invert.h"
#include "etl/io_port.h"
#include "etl/ipool.h"
#include "etl/ireference_counted_message_pool.h"
#include "etl/iterator.h"
#include "etl/jenkins.h"
#include "etl/largest.h"
#include "etl/limiter.h"
#include "etl/limits.h"
#include "etl/list.h"
#include "etl/log.h"
#include "etl/macros.h"
#include "etl/map.h"
#include "etl/math.h"
#include "etl/math_constants.h"
#include "etl/mean.h"
#include "etl/mem_cast.h"
#include "etl/memory.h"
#include "etl/memory_model.h"
#include "etl/message.h"
#include "etl/message_broker.h"
#include "etl/message_bus.h"
#include "etl/message_packet.h"
#include "etl/message_router.h"
#include "etl/message_router_registry.h"
#include "etl/message_timer.h"
#include "etl/message_timer_atomic.h"
#include "etl/message_timer_interrupt.h"
#include "etl/message_timer_locked.h"
#include "etl/message_types.h"
#include "etl/multi_array.h"
#include "etl/multi_range.h"
#include "etl/multi_span.h"
#include "etl/multi_vector.h"
#include "etl/multimap.h"
#include "etl/multiset.h"
#include "etl/murmur3.h"
#include "etl/mutex.h"
#include "etl/mutex/mutex_arm.h"
#include "etl/mutex/mutex_clang_sync.h"
#include "etl/mutex/mutex_cmsis_os2.h"
#include "etl/mutex/mutex_freertos.h"
#include "etl/mutex/mutex_gcc_sync.h"
#include "etl/mutex/mutex_std.h"
#include "etl/negative.h"
#include "etl/nth_type.h"
#include "etl/null_type.h"
#include "etl/nullptr.h"
#include "etl/numeric.h"
#include "etl/observer.h"
#include "etl/optional.h"
#include "etl/overload.h"
#include "etl/packet.h"
#include "etl/parameter_pack.h"
#include "etl/parameter_type.h"
#include "etl/pearson.h"
#include "etl/permutations.h"
#include "etl/placement_new.h"
#include "etl/platform.h"
#include "etl/poly_span.h"
#include "etl/pool.h"
#include "etl/power.h"
#include "etl/priority_queue.h"
#include "etl/private/addressof.h"
#include "etl/private/bitset_legacy.h"
#include "etl/private/bitset_new.h"
#include "etl/private/choose_namespace.h"
#include "etl/private/comparator_is_transparent.h"
#include "etl/private/crc_implementation.h"
#include "etl/private/crc_parameters.h"
#include "etl/private/delegate_cpp03.h"
#include "etl/private/delegate_cpp11.h"
#include "etl/private/diagnostic_array_bounds_push.h"
#include "etl/private/diagnostic_deprecated_push.h"
#include "etl/private/diagnostic_float_equal_push.h"
#include "etl/private/diagnostic_pessimizing_move_push.h"
#include "etl/private/diagnostic_pop.h"
#include "etl/private/diagnostic_self_assign_overloaded_push.h"
#include "etl/private/diagnostic_stringop_overread_push.h"
#include "etl/private/diagnostic_uninitialized_push.h"
#include "etl/private/diagnostic_unused_function_push.h"
#include "etl/private/diagnostic_useless_cast_push.h"
#include "etl/private/dynamic_extent.h"
#include "etl/private/ivectorpointer.h"
#include "etl/private/minmax_pop.h"
#include "etl/private/minmax_push.h"
#include "etl/private/pvoidvector.h"
#include "etl/private/to_string_helper.h"
#include "etl/private/variant_legacy.h"
#include "etl/private/variant_variadic.h"
#include "etl/private/vector_base.h"
#include "etl/profiles/arduino_arm.h"
#include "etl/profiles/armv5.h"
#include "etl/profiles/armv5_no_stl.h"
#include "etl/profiles/armv6.h"
#include "etl/profiles/armv6_no_stl.h"
#include "etl/profiles/armv7.h"
#include "etl/profiles/armv7_no_stl.h"
#include "etl/profiles/auto.h"
#include "etl/profiles/clang_generic.h"
#include "etl/profiles/clang_generic_no_stl.h"
#include "etl/profiles/cpp03.h"
#include "etl/profiles/cpp03_no_stl.h"
#include "etl/profiles/cpp11.h"
#include "etl/profiles/cpp11_no_stl.h"
#include "etl/profiles/cpp14.h"
#include "etl/profiles/cpp14_no_stl.h"
#include "etl/profiles/cpp17.h"
#include "etl/profiles/cpp17_no_stl.h"
#include "etl/profiles/determine_builtin_support.h"
#include "etl/profiles/determine_compiler.h"
#include "etl/profiles/determine_compiler_language_support.h"
#include "etl/profiles/determine_compiler_version.h"
#include "etl/profiles/determine_development_os.h"
#include "etl/profiles/gcc_generic.h"
#include "etl/profiles/gcc_generic_no_stl.h"
#include "etl/profiles/gcc_linux_x86.h"
#include "etl/profiles/gcc_linux_x86_no_stl.h"
#include "etl/profiles/gcc_windows_x86.h"
#include "etl/profiles/gcc_windows_x86_no_stl.h"
#include "etl/profiles/msvc_x86.h"
#include "etl/profiles/msvc_x86_no_stl.h"
#include "etl/profiles/segger_gcc_stlport.h"
#include "etl/profiles/ticc.h"
#include "etl/profiles/ticc_no_stl.h"
#include "etl/pseudo_moving_average.h"
#include "etl/quantize.h"
#include "etl/queue.h"
#include "etl/queue_lockable.h"
#include "etl/queue_mpmc_mutex.h"
#include "etl/queue_spsc_atomic.h"
#include "etl/queue_spsc_isr.h"
#include "etl/queue_spsc_locked.h"
#include "etl/radix.h"
#include "etl/random.h"
#include "etl/ratio.h"
#include "etl/reference_counted_message.h"
#include "etl/reference_counted_message_pool.h"
#include "etl/reference_counted_object.h"
#include "etl/reference_flat_map.h"
#include "etl/reference_flat_multimap.h"
#include "etl/reference_flat_multiset.h"
#include "etl/reference_flat_set.h"
#include "etl/rescale.h"
#include "etl/result.h"
#include "etl/rms.h"
#include "etl/scaled_rounding.h"
#include "etl/scheduler.h"
#include "etl/set.h"
#include "etl/shared_message.h"
#include "etl/singleton.h"
#include "etl/smallest.h"
#include "etl/span.h"
#include "etl/sqrt.h"
#include "etl/stack.h"
#include "etl/standard_deviation.h"
#include "etl/state_chart.h"
#include "etl/static_assert.h"
#include "etl/string.h"
#include "etl/string_stream.h"
#include "etl/string_utilities.h"
#include "etl/string_view.h"
#include "etl/stringify.h"
#include "etl/successor.h"
#include "etl/task.h"
#include "etl/threshold.h"
#include "etl/timer.h"
#include "etl/to_arithmetic.h"
#include "etl/to_string.h"
#include "etl/to_u16string.h"
#include "etl/to_u32string.h"
#include "etl/to_u8string.h"
#include "etl/to_wstring.h"
#include "etl/type_def.h"
#include "etl/type_lookup.h"
#include "etl/type_select.h"
#include "etl/type_traits.h"
#include "etl/u16format_spec.h"
#include "etl/u16string.h"
#include "etl/u16string_stream.h"
#include "etl/u32format_spec.h"
#include "etl/u32string.h"
#include "etl/u32string_stream.h"
#include "etl/u8format_spec.h"
#include "etl/u8string.h"
#include "etl/u8string_stream.h"
#include "etl/unaligned_type.h"
#include "etl/unordered_map.h"
#include "etl/unordered_multimap.h"
#include "etl/unordered_multiset.h"
#include "etl/unordered_set.h"
#include "etl/user_type.h"
#include "etl/utility.h"
#include "etl/variance.h"
#include "etl/variant.h"
#include "etl/variant_pool.h"
#include "etl/vector.h"
#include "etl/version.h"
#include "etl/visitor.h"
#include "etl/wformat_spec.h"
#include "etl/wstring.h"
#include "etl/wstring_stream.h"