Class List
Here are the classes, structs, unions and interfaces with brief descriptions:

utl | STL's core language concepts
_1wire_i_det |
is_1wire_ | Primary template to catch any non 1-wire interface types
is_1wire_< _Tp, meta::void_t< void > > | Template to catch a proper 1-wire interface type
common_impl |
__common_ref_ |
__common_ref_< T &&, U &&, meta::void_t< __common_ref< T &, U & >, meta::when< ConvertibleTo< T &&, __rref_res< T, U > > >, meta::when< ConvertibleTo< U &&, __rref_res< T, U > > > > > |
__common_ref_< T &&, U &, meta::void_t< __common_ref< const T &, U & >, meta::when< ConvertibleTo< T &&, __common_ref< const T &, U & > > > > > |
__common_ref_< T &, U &&, meta::void_t< __common_ref< T &, const U & >, meta::when< ConvertibleTo< U &&, __common_ref< T &, const U & > > > > > |
__common_ref_< T &, U &, meta::void_t< __lref_res< T, U >, meta::when< std::is_reference< __lref_res< T, U > >::value > > > |
__common_reference |
__common_reference2 |
__common_reference2< T, U, meta::void_t< __basic_common_reference_t< T, U > > > |
__common_reference3 |
__common_reference3< T, U, meta::void_t< __cond_res< T, U > > > |
__common_reference< T, U, meta::when< std::is_reference< T >::value &&std::is_reference< U >::value > > |
__copy_cv_ |
__copy_cv_< const From > |
__copy_cv_< const volatile From > |
__copy_cv_< volatile From > |
__xref |
__xref< const T > |
__xref< const volatile T > |
__xref< T & > |
__xref< T && > |
__xref< volatile T > |
basic_common_reference |
common_reference |
common_reference< T > |
common_reference< T, U > |
common_reference< T, U, V, W... > |
detail |
invoke_result_ |
invoke_result_< true, _Callable, _Args... > |
is_ref_wrapper |
is_ref_wrapper< std::reference_wrapper< U > > |
try_invoke |
details |
is_boolean_ |

is_boolean_< B, meta::void_t< meta::use_if_same_t< bool, decltype(!std::declval< cref_< B >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< B >>()==std::declval< cref_< B >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< B >>() !=std::declval< cref_< B >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< B >>() &&std::declval< cref_< B >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< B >>()||std::declval< cref_< B >>())> > >

is_strict_totally_ordered_ |

is_strict_totally_ordered_< T, meta::void_t< meta::use_if_same_t< bool, decltype(std::declval< cref_< T >>()< std::declval< cref_< T >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< T >>() > std::declval< cref_< T >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< T >>()<=std::declval< cref_< T >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< T >>() >=std::declval< cref_< T >>())> > >

is_strict_totally_ordered_with_ |

is_strict_totally_ordered_with_< T, U, meta::void_t< meta::use_if_same_t< bool, decltype(std::declval< cref_< T >>()< std::declval< cref_< U >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< T >>() > std::declval< cref_< U >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< T >>()<=std::declval< cref_< U >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< T >>() >=std::declval< cref_< U >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< U >>()< std::declval< cref_< T >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< U >>() > std::declval< cref_< T >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< U >>()<=std::declval< cref_< T >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< U >>() >=std::declval< cref_< T >>())> > >

is_weakly_equality_comparable_with_ |

is_weakly_equality_comparable_with_< T, U, meta::void_t< meta::use_if_same_t< bool, decltype(std::declval< cref_< T >>()==std::declval< cref_< U >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< T >>() !=std::declval< cref_< U >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< U >>()==std::declval< cref_< T >>())>, meta::use_if_same_t< bool, decltype(std::declval< cref_< U >>() !=std::declval< cref_< T >>())> > >

i2c_i_details |
is_i2c_ | Primary template to catch any non I2C interface types
is_i2c_< _Tp, meta::void_t< typename _Tp::Sequence, void > > | Template to catch a proper I2C interface type
idx_dev_details |
is_idx_dev_ | Primary template to catch any non input device types

is_idx_dev_< _Tp, void_t< typename _Tp::data_type, typename _Tp::pointer_type, typename _Tp::iterator, typename _Tp::const_iterator, use_if_same_t< try_get1_t< _Tp >, size_t >, use_if_same_t< try_get2_t< _Tp >, size_t >, use_if_same_t< try_begin_t< _Tp >, typename _Tp::iterator >, use_if_same_t< tryc_begin_t< _Tp >, typename _Tp::const_iterator >, use_if_same_t< try_cbegin_t< _Tp >, typename _Tp::const_iterator >, use_if_same_t< try_end_t< _Tp >, typename _Tp::iterator >, use_if_same_t< tryc_end_t< _Tp >, typename _Tp::const_iterator >, use_if_same_t< try_cend_t< _Tp >, typename _Tp::const_iterator > > >

Template to catch a proper input device type

idxdev_it_details |
is_idxdev_it_ | Primary template to catch any non SPI interface types
is_idxdev_it_< _Tp, meta::void_t< typename _Tp::value_type, typename _Tp::difference_type, typename _Tp::pointer, typename _Tp::reference, void > > | Template to catch a proper SPI interface type
in_dev_details |
is_in_dev_ | Primary template to catch any non input device types

is_in_dev_< _Tp, void_t< typename _Tp::data_type, typename _Tp::pointer_type, typename _Tp::iterator, typename _Tp::const_iterator, use_if_same_t< try_get1_t< _Tp >, size_t >, use_if_same_t< try_get2_t< _Tp >, size_t >, use_if_same_t< try_begin_t< _Tp >, typename _Tp::iterator >, use_if_same_t< tryc_begin_t< _Tp >, typename _Tp::const_iterator >, use_if_same_t< try_cbegin_t< _Tp >, typename _Tp::const_iterator >, use_if_same_t< try_end_t< _Tp >, typename _Tp::iterator >, use_if_same_t< tryc_end_t< _Tp >, typename _Tp::const_iterator >, use_if_same_t< try_cend_t< _Tp >, typename _Tp::const_iterator > > >

Template to catch a proper input device type

inbuf_dev_details |
is_inbuf_dev_ | Primary template to catch any non input device types

is_inbuf_dev_< _Tp, void_t< typename _Tp::data_type, typename _Tp::pointer_type, typename _Tp::iterator, typename _Tp::const_iterator, use_if_same_t< try_get1_t< _Tp >, size_t >, use_if_same_t< try_get2_t< _Tp >, size_t >, use_if_same_t< try_begin_t< _Tp >, typename _Tp::iterator >, use_if_same_t< tryc_begin_t< _Tp >, typename _Tp::const_iterator >, use_if_same_t< try_cbegin_t< _Tp >, typename _Tp::const_iterator >, use_if_same_t< try_end_t< _Tp >, typename _Tp::iterator >, use_if_same_t< tryc_end_t< _Tp >, typename _Tp::const_iterator >, use_if_same_t< try_cend_t< _Tp >, typename _Tp::const_iterator > > >

Template to catch a proper input device type

indev_it_details |
is_indev_it_ | Primary template to catch any non SPI interface types
is_indev_it_< _Tp, meta::void_t< typename _Tp::value_type, typename _Tp::difference_type, typename _Tp::pointer, typename _Tp::reference, void > > | Template to catch a proper SPI interface type
meta |
apply_impl |
apply_ |
apply_< Fn, integer_sequence< T, Is... > > | Sequence == integer_sequence<>
apply_< Fn, typelist< List... > > | `Sequence` == typelist<>
at_impl |
_add_pointer |
at_ |
at_< typelist< List... >, N > |
at_head_ |
at_head_< typelist< voids... > > |
back_impl |
back_ |
back_< typelist< Head, Tail... > > |
cat_impl |
cat_ |
cat_< typelist< L1... > > |
cat_< typelist< L1... >, typelist< L2... > > |
cat_< typelist< L1... >, typelist< L2... >, Ln... > |
cat_<> |
count_if_impl |
count_if_ |
count_if_< typelist< Head, Tail... >, Fn, N > |
count_if_< typelist<>, Fn, N > |
detail |
_and_ |
_and_< _T1 > |
_and_< _T1, _T2 > |
_and_< _T1, _T2, _T3, _Tn... > |
_and_<> |
_or_ |
_or_< _T1 > |
_or_< _T1, _T2 > |
_or_< _T1, _T2, _T3, _Tn... > |
_or_<> |
compose_ |
compose_< Fn0 > |
compose_< Fn0, Fns... > |
compose_f_ |
compose_f_< Fn0 > |
compose_f_< Fn0, Fns... > |
defer_ |
defer_i_ |
detector |
detector< Default, void_t< Op< Args... > >, Op, Args... > |
if_c_ |
if_c_< false, Then, Else > |
if_c_< true, Then > |
if_c_< true, Then, Else > |
is_applicable_ |
is_applicable_i_ |
is_applicable_q_ |
when_ |
when_< true > |
filter_impl |
filter_ |
filter_< typelist< Head, Tail... >, Fn, L > |
filter_< typelist<>, Fn, L > |
find_if_impl |
find_if_ |
find_if_< typelist< Head, Tail... >, Fn, N > |
find_if_< typelist<>, Fn, N > |
fold_impl |
fold_ |
fold_< typelist< Head, Tail... >, V, Fn > |
fold_< typelist<>, V0, Fn > |
front_impl |
front_ |
front_< typelist< Head, Tail... > > |
pop_back_impl |
pop_back_ |
pop_front_impl |
pop_front_ |
pop_front_< typelist< Head, Tail... > > |
replace_if_impl |
replace_if_ |
replace_if_< typelist< Head, Tail... >, Fn, T, Ret > |
replace_if_< typelist<>, Fn, T, Ret > |
rev_fold_impl |
rev_fold_ |
rev_fold_< typelist< Head, Tail... >, V, Fn > |
rev_fold_< typelist< Tail >, V, Fn > |
rev_fold_< typelist<>, V, Fn > |
reverse_impl |
reverse_ |
seek_if_impl |
seek_if_ |
seek_if_< typelist< Head, Tail... >, Fn, N > |
seek_if_< typelist<>, Fn, N > |
transform_impl |
transform_ |
transform_< typelist< typelist< Ts... >, Fn >, void_t< invoke< Fn, Ts >... > > |
transform_< typelist< typelist< Ts0... >, typelist< Ts1... >, Fn >, void_t< invoke< Fn, Ts0, Ts1 >... > > |
transform_lazy_impl |
transform_lazy_ |
transform_lazy_< typelist< typelist< Ts... >, Fn >, void_t< invoke< Fn, Ts >... > > |
transform_lazy_< typelist< typelist< Ts0... >, typelist< Ts1... >, Fn >, void_t< invoke< Fn, Ts0, Ts1 >... > > |
bind_back |
bind_front |
identity |
nat_ |
nil_ |
not_same_as |
apply |
quote |
quote_i | Wrap a template `F` taking literal constants of type `T` into an Invokable
same_ |
same_< _Tp, _Tp > |
same_as |
apply |
typelist |
cat_ |
cat_< typelist< L1... >, typelist< L2... > > |
times_ |
times_< 0, T... > |
times_< 1, T... > |
wrap |
wrap_i | Wrap a template `F` taking literal constants of type `T` into an Invokable
out_dev_details |
is_out_dev_ | Primary template to catch any non output device types

is_out_dev_< _Tp, void_t< typename _Tp::data_type, typename _Tp::pointer_type, typename _Tp::iterator, typename _Tp::const_iterator, use_if_same_t< try_put1_t< _Tp >, size_t >, use_if_same_t< try_put2_t< _Tp >, size_t >, use_if_same_t< try_begin_t< _Tp >, typename _Tp::iterator >, use_if_same_t< tryc_begin_t< _Tp >, typename _Tp::const_iterator >, use_if_same_t< try_cbegin_t< _Tp >, typename _Tp::const_iterator >, use_if_same_t< try_end_t< _Tp >, typename _Tp::iterator >, use_if_same_t< tryc_end_t< _Tp >, typename _Tp::const_iterator >, use_if_same_t< try_cend_t< _Tp >, typename _Tp::const_iterator > > >

Template to catch a proper output device type

outdev_it_details |
is_outdev_it_ | Primary template to catch any non SPI interface types
is_outdev_it_< _Tp, meta::void_t< typename _Tp::value_type, typename _Tp::difference_type, typename _Tp::pointer, typename _Tp::reference, void > > | Template to catch a proper SPI interface type
spi_i_details |
is_spi_ | Primary template to catch any non SPI interface types
is_spi_< _Tp, meta::void_t< meta::use_if_same_t< try_cclock_t< _Tp >, uint32_t >, meta::use_if_same_t< try_clock_t< _Tp >, void >, meta::use_if_same_t< try_tx_t< _Tp >, byte_t >, meta::use_if_same_t< try_rx_t< _Tp >, byte_t > > > | Template to catch a proper SPI interface type
_1wire_i | Template base class for 1-wire communication interface using CRTP
_1wire_i< virtual_tag > | A virtual base class implementation
_1wire_id_t |
_1wire_uart_i | 1-wire UART interface template class using CRTP Using the private virtual interface we provide the interface from _1wire_i<>
_1wire_uart_i< virtual_tag > | A virtual base class interface implementation. Using the private virtual interface we provide the interface from _1wire_i<virtual_tag>
array | A standard container for storing a fixed size sequence of elements
array_traits | Array container traits helper
array_traits< _Tp, 0 > |
type |
bidirectional_iterator_tag |
contiguous_iterator_tag |
crtp_tag | CRTP support tag type
dev_iterator_traits | Device iterator collection
forward_iterator_tag |
i2c_bb_i | A bit banking implementation of i2c bus inherited from i2c_i base class
i2c_bb_i< virtual_tag > | A virtual base class interface specialization. Using the private virtual interface we provide the interface from i2c_i<virtual_tag>
i2c_i | Abstract base class for i2c bus
i2c_i< virtual_tag > | A virtual base class specialization
id_t | A standard container for storing IDs as a fixed size sequence of bytes. This type is based on etl::array Meets the requirements of: container, reversible container, sequence. Sets support random access iterators
id_traits | Id container traits helper
id_traits< _Tp, 0 > |
type |
idx_dev | Abstract base class for indexed devices
idx_dev< virtual_tag, data_t, idx_t, N > | A virtual base class specialization
in_dev | Abstract base class for input devices
in_dev< virtual_tag, data_t, streamsize > | A virtual base class specialization
inbuf_dev | Abstract base class for input buffered devices
inbuf_dev< virtual_tag, data_t, streamsize > | A virtual base class specialization
indev_it | Input device iterator type. We "future call" interface methods from owner class to provide iterator functionality
input_iterator_tag |
iodev_it | Indexed device iterator type. We "future call" interface methods from owner class to provide iterator functionality
value_type_t |
is_invocable | Std::is_invocable trait for C++11
is_invocable_r | Std::is_invocable_r trait for C++11
istreamdev_it |
ostream_dev | Abstract base classes for output stream devices
ostream_dev< virtual_tag, data_t > |
ostreamdev_it |
out_dev | Abstract base classes for output devices
out_dev< virtual_tag, data_t, streamsize > | A virtual base class specialization
outdev_it | Output device iterator type. We "future call" interface methods from owner class to provide iterator functionality
output_iterator_tag | Iterator tags [std.iterator.tags] Extension: contiguous_iterator_tag for denoting contiguous iterators
random_access_iterator_tag |
spi_bb_i | A bit banking implementation of spi bus inherited from spi_i base class
spi_bb_i< virtual_tag, CPOL, CPHA, BitOrder > | A virtual base class interface specialization. Using the private virtual interface we provide the interface from spi_i<virtual_tag>
spi_i |
spi_i< virtual_tag > | A virtual base class implementation
virtual_tag | Virtual support tag type