Stefan Scholz / ETL
Embed: (wiki syntax)

« Back to documentation index

etl Namespace Reference

etl Namespace Reference

A multimap with the capacity defined at compile time. More...

Data Structures

class  type_with_alignment
 Gets a type that has the same as the specified alignment. More...
struct  aligned_storage
 Aligned storage LENGTH should be determined in terms of sizeof() More...
struct  aligned_storage_as
 Aligned storage as. More...
class  array_exception
 The base class for array exceptions. More...
class  array_out_of_range
 The out of range exceptions. More...
class  array
 A replacement for std::array if you haven't got C++0x11. More...
class  array_view_exception
 The base class for array_view exceptions. More...
class  array_view_bounds
 The exception thrown when the index is out of bounds. More...
class  array_view_uninitialised
 The exception thrown when the view is uninitialised. More...
class  array_view
 Array view. More...
class  const_array_view
 Constant array view. More...
struct  hash< etl::array_view< T > >
 Hash function. More...
class  array_wrapper_exception
 The base class for array_wrapper exceptions. More...
class  array_wrapper_bounds
 The exception thrown when the index is out of bounds. More...
class  array_wrapper
 Array wrapper. More...
struct  hash< etl::array_wrapper< T, SIZE, ARRAY > >
 Hash function. More...
class  string_exception
 Exception base for strings. More...
class  string_empty
 String empty exception. More...
class  string_out_of_bounds
 String out of bounds exception. More...
class  string_iterator
 String iterator exception. More...
class  string_base
 The base class for all templated string types. More...
class  ibasic_string
 The base class for specifically sized strings. More...
struct  max_value_for_nbits
 Maximum value that can be contained in N bits. More...
struct  max_value_for_nbits< 0 >
 Specialisation for when NBITS == 0. More...
struct  bit
 Gets the value of the bit at POSITION Starts from LSB. More...
class  bitset_exception
 Exception base for bitset. More...
class  bitset_nullptr
 Bitset nullptr exception. More...
class  ibitset
 The base class for etl::bitset. More...
class  bitset
 The class emulates an array of bool elements, but optimized for space allocation. More...
class  bloom_filter
 An implementation of a bloom filter. More...
class  callback
 A callback class designed to be multiply inherited by other client classes. More...
struct  callback_timer_data
 The configuration of a timer. More...
class  icallback_timer
 Interface for callback timer. More...
class  callback_timer
 The callback timer. More...
struct  char_traits
 Character traits for any character type. More...
struct  checksum_policy_sum
 Standard addition checksum policy. More...
struct  checksum_policy_bsd
 BSD checksum policy. More...
struct  checksum_policy_xor
 Standard XOR checksum policy. More...
struct  checksum_policy_xor_rotate
 XOR-rotate checksum policy. More...
class  checksum
 Standard Checksum. More...
class  bsd_checksum
 BSD Checksum. More...
class  xor_checksum
 XOR Checksum. More...
class  xor_rotate_checksum
 XOR-shift Checksum. More...
struct  compare
 Defines <=, >, >= interms of < Default. More...
struct  crc_policy_16
 CRC16 policy. More...
class  crc16
 CRC16. More...
struct  crc_policy_16_ccitt
 CRC16 CCITT policy. More...
class  crc16_ccitt
 CRC16 CCITT. More...
struct  crc_policy_16_kermit
 CRC16 Kermit policy. More...
class  crc16_kermit
 CRC16 Kermit. More...
struct  crc_policy_32
 CRC32 policy. More...
class  crc32
 CRC32. More...
struct  crc_policy_64_ecma
 CRC64 policy. More...
class  crc64_ecma
 CRC64 ECMA. More...
struct  crc_policy_8_ccitt
 CRC8 CCITT policy. More...
class  crc8_ccitt
 CRC8 CCITT. More...
class  string
 A string implementation that uses a fixed size buffer. More...
struct  hash< etl::istring >
 Hash function. More...
class  cyclic_value
 Provides a value that cycles between two limits. More...
class  cyclic_value< T, FIRST, LAST, typename etl::enable_if<(FIRST==0)&&(LAST==0)>::type >
 Provides a value that cycles between two limits. More...
class  debounce
 A class to debounce signals. More...
class  debug_count
 Used to count instances. More...
class  deque_exception
 Exception base for deques. More...
class  deque_full
 Deque full exception. More...
class  deque_empty
 Deque empty exception. More...
class  deque_out_of_bounds
 Deque out of bounds exception. More...
class  deque_incompatible_type
 Deque incompatible type exception. More...
class  deque_base
 The base class for all templated deque types. More...
class  ideque
 The base class for all etl::deque classes. More...
class  deque
 A fixed capacity double ended queue. More...
struct  endian
 Constants to denote endianness of operations. More...
struct  endianness
 Checks the endianness of the platform. More...
class  error_handler
 Error handler for when throwing exceptions is not required. More...
class  exception
 A low overhead exception base class. More...
struct  factorial
 Defines value as the Nth factorial number. More...
struct  fibonacci
 Defines value as the Nth Fibbonacci number. More...
class  fixed_iterator
 A fixed iterator class. More...
class  iflat_map
 The base class for specifically sized flat_maps. More...
class  flat_map
 A flat_map implementation that uses a fixed size buffer. More...
class  iflat_multimap
 The base class for specifically sized flat_multimaps. More...
class  flat_multimap
 A flat_multimap implementation that uses a fixed size buffer. More...
class  iflat_multiset
 The base class for specifically sized flat_multisets. More...
class  flat_multiset
 A flat_multiset implementation that uses a fixed size buffer. More...
class  iflat_set
 The base class for specifically sized flat_sets. More...
class  flat_set
 A flat_set implementation that uses a fixed size buffer. More...
struct  fnv_1_policy_64
 fnv_1 policy. More...
class  fnv_1_64
 Calculates the fnv_1_64 hash. More...
struct  fnv_1a_policy_64
 fnv_1a policy. More...
class  fnv_1a_64
 Calculates the fnv_1a_64 hash. More...
struct  fnv_1_policy_32
 fnv_1 policy. More...
class  fnv_1_32
 Calculates the fnv_1_32 hash. More...
struct  fnv_1a_policy_32
 fnv_1a policy. More...
class  fnv_1a_32
 Calculates the fnv_1a_32 hash. More...
class  forward_list_exception
 Exception for the forward_list. More...
class  forward_list_full
 Full exception for the forward_list. More...
class  forward_list_empty
 Empty exception for the forward_list. More...
class  forward_list_iterator
 Iterator exception for the forward_list. More...
class  forward_list_base
 The base class for all forward_lists. More...
class  iforward_list
 A templated base for all etl::forward_list types. More...
class  forward_list
 A templated forward_list implementation that uses a fixed size pool. More...
class  frame_check_sequence
 Calculates a frame check sequence according to the specified policy. More...
class  fsm_exception
 Base exception class for FSM. More...
class  fsm_null_state_exception
 Exception for null state pointer. More...
class  fsm_state_id_exception
 Exception for invalid state id. More...
class  fsm_state_list_exception
 Exception for incompatible state list. More...
class  ifsm_state
 Interface class for FSM states. More...
class  fsm
 The FSM class. More...
class  ifunction
 The base interface template for function template specialisations. More...
class  ifunction< void >
 The base interface template for functions taking void parameters. More...
class  function
 A derived function template that takes an object type and parameter type. More...
class  function< TObject, void >
 A derived function template that takes a parameter type. More...
class  function< void, TParameter >
 Specialisation for static or global functions that takes a parameter. More...
class  function< void, void >
 Specialisation static functions taking void parameter. More...
class  function_mp
 A derived function template that takes an object type and parameter type. More...
class  function_mv
 A derived function template that takes an object type and parameter type. More...
class  function_imp
 A derived function template that takes an object type and parameter type. More...
class  function_imv
 A derived function template that takes an object type and parameter type. More...
class  function_fp
 A derived function template that takes a parameter type. More...
class  function_fv
 A derived function template that takes a parameter type. More...
class  reference_wrapper
 A definition of reference_wrapper for those that don't have C++ 0x11 support. More...
struct  hash< bool >
 Specialisation for bool. More...
struct  hash< char >
 Specialisation for char. More...
struct  hash< signed char >
 Specialisation for signed char. More...
struct  hash< unsigned char >
 Specialisation for unsigned char. More...
struct  hash< wchar_t >
 Specialisation for wchar_t. More...
struct  hash< short >
 Specialisation for short. More...
struct  hash< unsigned short >
 Specialisation for unsigned short. More...
struct  hash< int >
 Specialisation for int. More...
struct  hash< unsigned int >
 Specialisation for unsigned int. More...
struct  hash< long >
 Specialisation for long. More...
struct  hash< long long >
 Specialisation for long long. More...
struct  hash< unsigned long >
 Specialisation for unsigned long. More...
struct  hash< unsigned long long >
 Specialisation for unsigned long long. More...
struct  hash< float >
 Specialisation for float. More...
struct  hash< double >
 Specialisation for double. More...
struct  hash< long double >
 Specialisation for long double. More...
struct  hash< T * >
 Specialisation for pointers. More...
class  hash_exception
 Exception base for hashes. More...
class  hash_finalised
 Hash finalised exception. More...
class  instance_count
 Inherit from this to count instances of a type. More...
class  intrusive_forward_list_exception
 Exception for the intrusive_forward_list. More...
class  intrusive_forward_list_empty
 Empty exception for the intrusive_forward_list. More...
class  intrusive_forward_list_iterator_exception
 Iterator exception for the intrusive_forward_list. More...
class  intrusive_forward_list_index_exception
 Index exception for the intrusive_forward_list. More...
class  intrusive_forward_list_unsorted
 Unsorted exception for the intrusive_forward_list. More...
class  intrusive_forward_list_base
 Base for intrusive forward list. More...
class  intrusive_forward_list
 An intrusive forward list. More...
class  link_exception
 Link exception. More...
class  not_unlinked_exception
 not unlinked exception. More...
struct  forward_link
 A forward link. More...
struct  bidirectional_link
 A bidirectional link. More...
struct  tree_link
 A binary tree link. More...
class  intrusive_list_exception
 Exception for the intrusive_list. More...
class  intrusive_list_empty
 Empty exception for the intrusive_list. More...
class  intrusive_list_iterator_exception
 Iterator exception for the intrusive_list. More...
class  intrusive_list_unsorted
 Unsorted exception for the intrusive_list. More...
class  intrusive_list_base
 Base for intrusive list. More...
class  intrusive_list
 An intrusive list. More...
class  intrusive_queue_exception
 Exception base for intrusive queue. More...
class  intrusive_queue_empty
 intrusive_queue empty exception. More...
class  intrusive_queue_base
 Base for intrusive queue. More...
class  intrusive_queue
 An intrusive queue. More...
class  intrusive_stack_exception
 Exception base for intrusive stack. More...
class  intrusive_stack_empty
 intrusive_stack empty exception. More...
class  intrusive_stack_base
 Base for intrusive stack. More...
class  intrusive_stack
 An intrusive stack. More...
class  io_port_rw
 Read write port. More...
class  io_port_ro
 Read only port. More...
class  io_port_wo
 Write only port. More...
class  io_port_wos
 Write only port with shadow register. More...
class  io_port_rw< T, 0 >
 Read write port. More...
class  io_port_ro< T, 0 >
 Read only port. More...
class  io_port_wo< T, 0 >
 Write only port. More...
class  io_port_wos< T, 0 >
 Write only port with shadow register. More...
struct  jenkins_policy
 Jenkins policy. More...
class  jenkins
 jenkins More...
struct  largest_type
 Template to determine the largest type and size. More...
struct  largest_alignment
 Template to determine the largest alignment. More...
struct  larger_int_type
 Defines a type that is as larger or larger than the specified type. More...
struct  larger_uint_type
 Defines a type that is as larger or larger than the specified type. More...
struct  largest
 Template to determine the largest type, size and alignment. More...
class  list_exception
 Exception for the list. More...
class  list_full
 Full exception for the list. More...
class  list_empty
 Empty exception for the list. More...
class  list_iterator
 Iterator exception for the list. More...
class  list_unsorted
 Unsorted exception for the list. More...
class  list_base
 The base class for all lists. More...
class  ilist
 A templated base for all etl::list types. More...
class  list
 A templated list implementation that uses a fixed size buffer. More...
struct  log
 The base generic log template. More...
struct  log2
 Calculates base 2 logs. More...
struct  log10
 Calculates base 10 logs. More...
class  map_exception
 Exception for the map. More...
class  map_full
 Full exception for the map. More...
class  map_out_of_bounds
 Map out of bounds exception. More...
class  map_iterator
 Iterator exception for the map. More...
class  map_base
 The base class for all maps. More...
class  imap
 A templated base for all etl::map types. More...
class  map
 A templated map implementation that uses a fixed size buffer. More...
struct  create_copy
 Copy constructs a derived class to an address. More...
class  message_bus_exception
 Base exception class for message bus. More...
class  message_bus_too_many_subscribers
 Too many subscribers. More...
class  imessage_bus
 Interface for message bus. More...
class  message_bus
 The message bus. More...
class  message_router_exception
 Base exception class for message router. More...
class  message_router_illegal_id
 Router id is out of the legal range. More...
class  null_message_router
 This router can be used either as a sink for messages or as a producer-only of messages such an interrupt routine. More...
struct  message_timer_data
 The configuration of a timer. More...
class  imessage_timer
 Interface for message timer. More...
class  message_timer
 The message timer. More...
class  multimap_exception
 Exception for the map. More...
class  multimap_full
 Full exception for the map. More...
class  multimap_out_of_bounds
 Map out of bounds exception. More...
class  multimap_iterator
 Iterator exception for the map. More...
class  multimap_base
 The base class for all maps. More...
class  imultimap
 A templated base for all etl::multimap types. More...
class  multimap
 A templated multimap implementation that uses a fixed size buffer. More...
class  multiset_exception
 Exception for the set. More...
class  multiset_full
 Full exception for the set. More...
class  multiset_out_of_bounds
 Map out of bounds exception. More...
class  multiset_iterator
 Iterator exception for the set. More...
class  multiset_base
 The base class for all sets. More...
class  imultiset
 A templated base for all etl::multiset types. More...
class  multiset
 A templated multiset implementation that uses a fixed size buffer. More...
class  murmur3
 Calculates the murmur3 hash. More...
class  observer_exception
 The base class for observer exceptions. More...
class  observer_list_full
 The exception thrown when the observer list is full. More...
class  observable
 The object that is being observed. More...
class  observer
 The observer interface for eight notification types. More...
class  observer< T1, T2, T3, T4, T5, T6, T7 >
 The observer interface for seven notification types. More...
class  observer< T1, T2, T3, T4, T5, T6 >
 The observer interface for six notification types. More...
class  observer< T1, T2, T3, T4, T5 >
 The observer interface for five notification types. More...
class  observer< T1, T2, T3, T4 >
 The observer interface for four notification types. More...
class  observer< T1, T2, T3 >
 The observer interface for three notification types. More...
class  observer< T1, T2 >
 The observer interface for two notification types. More...
class  observer< T1 >
 The observer interface for one notification type. More...
class  nullopt_t
 A null option type. More...
class  optional_exception
 Exception for optional. More...
class  optional_invalid
 Invalid exception for optional. More...
class  optional
 An optional type. More...
class  packet
 A template class that can store any types derived from TBase that conform to the size and alignment requirements. More...
struct  parameter_type
 Determine how to pass parameters. More...
class  pearson
 Calculates a Pearson hash. More...
class  pool_exception
 The base class for pool exceptions. More...
class  pool_no_allocation
 The exception thrown when the pool has no more free items. More...
class  pool_object_not_in_pool
 The exception thrown when an object is released which does not belong to the pool. More...
class  pool_element_size
 The exception thrown when an the type requested is larger than the element size. More...
class  pool
 A templated pool implementation that uses a fixed size pool. More...
class  generic_pool
 A templated abstract pool implementation that uses a fixed size pool. More...
struct  power
 Calculates powers. More...
struct  power< NV, 0 >
 Calculates powers. More...
struct  power_of_2_round_up
 Calculates the rounded up power of 2. More...
struct  power_of_2_round_up< 0 >
 Calculates the rounded up power of 2. More...
struct  power_of_2_round_down
 Calculates the rounded down power of 2. More...
struct  power_of_2_round_down< 0 >
 Calculates the rounded down power of 2. More...
struct  power_of_2_round_down< 1 >
 Calculates the rounded down power of 2. More...
struct  power_of_2_round_down< 2 >
 Calculates the rounded down power of 2. More...
struct  is_power_of_2
 Checks if N is a power of 2. More...
struct  is_power_of_2< 0 >
 Checks if N is a power of 2. More...
struct  is_power_of_2< 1 >
 Checks if N is a power of 2. More...
class  priority_queue_exception
 The base class for priority_queue exceptions. More...
class  priority_queue_full
 The exception thrown when the queue is full. More...
class  priority_queue_iterator
 The priority queue iterator exception on reversed iterators. More...
class  ipriority_queue
 This is the base for all priority queues that contain a particular type. More...
class  priority_queue
 A fixed capacity priority queue. More...
class  ivector< T * >
 The base class for specifically sized vectors. More...
class  pvoidvector
 The base class for void* vectors. More...
class  vector_exception
 Exception base for vectors. More...
class  vector_full
 Vector full exception. More...
class  vector_empty
 Vector empty exception. More...
class  vector_out_of_bounds
 Vector out of bounds exception. More...
class  vector_incompatible_type
 Vector incompatible type exception. More...
class  vector_base
 The base class for all templated vector types. More...
class  queue_exception
 The base class for queue exceptions. More...
class  queue_full
 The exception thrown when the queue is full. More...
class  queue_empty
 The exception thrown when the queue is empty. More...
class  queue_base
 The base class for all queues. More...
class  iqueue
 This is the base for all queues that contain a particular type. More...
class  queue
 A fixed capacity queue. More...
class  random
 The base for all 32 bit random number generators. More...
class  random_xorshift
 A 32 bit random number generator. More...
class  random_lcg
 A 32 bit random number generator. More...
class  random_clcg
 A 32 bit random number generator. More...
class  random_lsfr
 A 32 bit random number generator. More...
class  random_mwc
 A 32 bit random number generator. More...
class  flat_map_exception
 Exception base for reference_flat_maps. More...
class  flat_map_full
 Vector full exception. More...
class  flat_map_out_of_bounds
 Vector out of bounds exception. More...
class  ireference_flat_map
 The base class for specifically sized reference_flat_maps. More...
class  reference_flat_map
 A reference_flat_map implementation that uses a fixed size buffer. More...
class  flat_multimap_exception
 Exception base for reference_flat_multimaps. More...
class  flat_multimap_full
 Vector full exception. More...
class  ireference_flat_multimap
 The base class for specifically sized reference_flat_multimaps. More...
class  reference_flat_multimap
 A reference_flat_multimap implementation that uses a fixed size buffer. More...
class  flat_multiset_exception
 Exception base for reference_flat_multisets. More...
class  flat_multiset_full
 Vector full exception. More...
class  flat_multiset_iterator
 Vector iterator exception. More...
class  ireference_flat_multiset
 The base class for specifically sized reference_flat_multisets. More...
class  reference_flat_multiset
 An reference flat set. More...
class  flat_set_exception
 Exception base for flat_sets. More...
class  flat_set_full
 Vector full exception. More...
class  flat_set_iterator
 Vector iterator exception. More...
class  ireference_flat_set
 The base class for specifically sized reference_flat_sets. More...
class  reference_flat_set
 An reference flat set. More...
class  scheduler_exception
 Base exception class for scheduler. More...
class  scheduler_no_tasks_exception
 'No tasks' exception. More...
class  scheduler_null_task_exception
 'Null tasks' exception. More...
class  scheduler_too_many_tasks_exception
 'Too many tasks' exception. More...
struct  scheduler_policy_sequencial_single
 Sequencial Single. More...
struct  scheduler_policy_sequencial_multiple
 Sequencial Multiple. More...
struct  scheduler_policy_highest_priority
 Highest Priority. More...
struct  scheduler_policy_most_work
 Most Work. More...
class  ischeduler
 Scheduler base. More...
class  scheduler
 Scheduler. More...
class  set_exception
 Exception for the set. More...
class  set_full
 Full exception for the set. More...
class  set_out_of_bounds
 Map out of bounds exception. More...
class  set_iterator
 Iterator exception for the set. More...
class  set_base
 The base class for all sets. More...
class  iset
 A templated base for all etl::set types. More...
class  set
 A templated set implementation that uses a fixed size buffer. More...
struct  smallest_type
 Template to determine the smallest type and size. More...
struct  smallest_uint_for_bits
 Template to determine the smallest unsigned int type that can contain a value with the specified number of bits. More...
struct  smallest_int_for_bits
 Template to determine the smallest signed int type that can contain a value with the specified number of bits. More...
struct  smallest_uint_for_value
 Template to determine the smallest unsigned int type that can contain the specified unsigned value. More...
struct  smallest_int_for_value
 Template to determine the smallest int type that can contain the specified signed value. More...
struct  sqrt
 Calculates the smallest value that, when squared, will be not greater than VALUE. More...
class  stack_exception
 The base class for stack exceptions. More...
class  stack_full
 The exception thrown when the stack is full. More...
class  stack_empty
 The exception thrown when the stack is empty. More...
class  stack_base
 A fixed capacity stack written in the STL style. More...
class  istack
 This is the base for all stacks that contain a particular type. More...
class  stack
 A fixed capacity stack. More...
class  string_view_exception
 The base class for basic_string_view exceptions. More...
class  string_view_bounds
 The exception thrown when the index is out of bounds. More...
class  string_view_uninitialised
 The exception thrown when the view is uninitialised. More...
class  basic_string_view
 String view. More...
struct  hash< etl::string_view >
 Hash function. More...
class  task_exception
 Base exception class for task. More...
class  task
 Scheduler. More...
struct  timer
 Common definitions for the timer framework. More...
class  type_def
 A template type to define strong typedefs. More...
struct  type_id_pair
 The type/id pair type to use for type/id lookup template parameters. More...
struct  type_type_pair
 The type/type pair type to use for type/type lookup template parameters. More...
struct  integral_constant
 integral_constant More...
struct  remove_reference
 remove_reference More...
struct  add_reference
 add_reference More...
struct  remove_pointer
 remove_pointer More...
struct  add_pointer
 add_pointer More...
struct  is_const
 is_const More...
struct  remove_const
 remove_const More...
struct  add_const
 add_const More...
struct  is_volatile
 is_volatile More...
struct  remove_volatile
 remove_volatile More...
struct  add_volatile
 add_volatile More...
struct  remove_cv
 remove_cv More...
struct  add_cv
 add_cv More...
struct  is_integral
 is_integral More...
struct  is_signed
 is_signed More...
struct  is_unsigned
 is_unsigned More...
struct  is_floating_point
 is_floating_point More...
struct  is_same
 is_same More...
struct  is_void
 is_void More...
struct  is_arithmetic
 is_arithmetic More...
struct  is_fundamental
 is_fundamental More...
struct  is_compound
 is_compound More...
struct  is_array
 is_array More...
struct  is_pointer
 is_pointer More...
struct  is_reference
 is_reference More...
struct  is_pod
 is_pod For C++03, only fundamental and pointers types are recognised. More...
struct  is_trivially_constructible
 is_trivially_constructible More...
struct  is_trivially_copy_constructible
 is_trivially_copy_constructible More...
struct  is_trivially_destructible
 is_trivially_destructible More...
struct  is_trivially_copy_assignable
 is_trivially_copy_assignable More...
struct  conditional
 conditional More...
struct  make_signed
 make_signed More...
struct  make_unsigned
 make_unsigned More...
struct  enable_if
 enable_if More...
struct  extent
 extent More...
struct  remove_extent
 remove_extent More...
struct  remove_all_extents
 remove_all_extents More...
struct  rank
 rank More...
struct  decay
 decay More...
struct  is_base_of
 is_base_of More...
struct  alignment_of
 Alignment templates. More...
struct  alignment_of< void >
 Specialisation of 'alignment_of' for 'void'. More...
struct  is_one_of
 Template to determine if a type is one of a specified list. More...
class  u16string
 A u16string implementation that uses a fixed size buffer. More...
struct  hash< etl::iu16string >
 Hash function. More...
class  u32string
 A u32string implementation that uses a fixed size buffer. More...
struct  hash< etl::iu32string >
 Hash function. More...
class  unordered_map_exception
 Exception for the unordered_map. More...
class  unordered_map_full
 Full exception for the unordered_map. More...
class  unordered_map_out_of_range
 Out of range exception for the unordered_map. More...
class  unordered_map_iterator
 Iterator exception for the unordered_map. More...
class  iunordered_map
 The base class for specifically sized unordered_map. More...
class  unordered_map
 A templated unordered_map implementation that uses a fixed size buffer. More...
class  unordered_multimap_exception
 Exception for the unordered_multimap. More...
class  unordered_multimap_full
 Full exception for the unordered_multimap. More...
class  unordered_multimap_out_of_range
 Out of range exception for the unordered_multimap. More...
class  unordered_multimap_iterator
 Iterator exception for the unordered_multimap. More...
class  iunordered_multimap
 The base class for specifically sized unordered_multimap. More...
class  unordered_multimap
 A templated unordered_multimap implementation that uses a fixed size buffer. More...
class  unordered_multiset_exception
 Exception for the unordered_multiset. More...
class  unordered_multiset_full
 Full exception for the unordered_multiset. More...
class  unordered_multiset_out_of_range
 Out of range exception for the unordered_multiset. More...
class  unordered_multiset_iterator
 Iterator exception for the unordered_multiset. More...
class  iunordered_multiset
 The base class for specifically sized unordered_multiset. More...
class  unordered_multiset
 A templated unordered_multiset implementation that uses a fixed size buffer. More...
class  unordered_set_exception
 Exception for the unordered_set. More...
class  unordered_set_full
 Full exception for the unordered_set. More...
class  unordered_set_out_of_range
 Out of range exception for the unordered_set. More...
class  unordered_set_iterator
 Iterator exception for the unordered_set. More...
class  iunordered_set
 The base class for specifically sized unordered_set. More...
class  unordered_set
 A templated unordered_set implementation that uses a fixed size buffer. More...
class  variant_exception
 Base exception for the variant class. More...
class  variant_incorrect_type_exception
 'Unsupported type' exception for the variant class. More...
class  variant
 A template class that can store any of the types defined in the template parameter list. More...
class  ivector
 The base class for specifically sized vectors. More...
class  vector
 A vector implementation that uses a fixed size buffer. More...
class  vector< T *, MAX_SIZE_ >
 A vector implementation that uses a fixed size buffer. More...
class  visitable
 The visitable base class for four visitor types. More...
class  visitable< T1, T2, T3 >
 The visitable base class for three visitor types. More...
class  visitable< T1, T2 >
 The visitable base class for two visitor types. More...
class  visitable< T1 >
 The visitable base class for one visitor type. More...
class  visitor
 The visitor base class for sixteen types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 >
 The visitor base class for fifteen types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 >
 The visitor base class for fourteen types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 >
 The visitor base class for thirteen types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 >
 The visitor base class for twelve types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 >
 The visitor base class for eleven types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 >
 The visitor base class for ten types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9 >
 The visitor base class for nine types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8 >
 The visitor base class for eight types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7 >
 The visitor base class for seven types. More...
class  visitor< T1, T2, T3, T4, T5, T6 >
 The visitor base class for six types. More...
class  visitor< T1, T2, T3, T4, T5 >
 The visitor base class for five types. More...
class  visitor< T1, T2, T3, T4 >
 The visitor base class for four types. More...
class  visitor< T1, T2, T3 >
 The visitor base class for three types. More...
class  visitor< T1, T2 >
 The visitor base class for two types. More...
class  visitor< T1 >
 The visitor base class for one type. More...
class  wstring
 A wstring implementation that uses a fixed size buffer. More...
struct  hash< etl::iwstring >
 Hash function. More...

Typedefs

typedef uint_least8_t fsm_state_id_t
 Allow alternative type for state id.
typedef hash_finalised hash_finalized
 For the Americans.
typedef uint_least8_t message_id_t
 Allow alternative type for message id.
typedef ratio< 355, 113 > ratio_pi
 An approximation of PI to 6 digits.
typedef ratio< 239, 169 > ratio_root2
 An approximation of root 2.
typedef ratio< 326, 120 > ratio_e
 An approximation of e.
typedef integral_constant
< bool, false > 
false_type
 integral_constant specialisations

Enumerations

enum  binary_constant
 

8 bit binary constants.

More...

Functions

template<typename TIterator , typename TCompare >
std::pair< TIterator, TIterator > minmax_element (TIterator begin, TIterator end, TCompare compare)
 Finds the greatest and the smallest element in the range (begin, end).
template<typename TIterator >
std::pair< TIterator, TIterator > minmax_element (TIterator begin, TIterator end)
 minmax_elementa href="http://en.cppreference.com/w/cpp/algorithm/minmax_element">
template<typename T >
std::pair< const T &, const T & > minmax (const T &a, const T &b)
 minmaxa href="http://en.cppreference.com/w/cpp/algorithm/minmax">
template<typename T , typename TCompare >
std::pair< const T &, const T & > minmax (const T &a, const T &b, TCompare compare)
 minmaxa href="http://en.cppreference.com/w/cpp/algorithm/minmax">
template<typename TIterator >
TIterator is_sorted_until (TIterator begin, TIterator end)
 is_sorted_untila href="http://en.cppreference.com/w/cpp/algorithm/is_sorted_until">
template<typename TIterator , typename TCompare >
TIterator is_sorted_until (TIterator begin, TIterator end, TCompare compare)
 is_sorted_untila href="http://en.cppreference.com/w/cpp/algorithm/is_sorted_until">
template<typename TIterator >
bool is_sorted (TIterator begin, TIterator end)
 is_sorteda href="http://en.cppreference.com/w/cpp/algorithm/is_sorted">
template<typename TIterator , typename TCompare >
bool is_sorted (TIterator begin, TIterator end, TCompare compare)
 is_sorteda href="http://en.cppreference.com/w/cpp/algorithm/is_sorted">
template<typename TInputIterator , typename TOutputIterator >
etl::enable_if
< etl::is_random_iterator
< TInputIterator >::value
&&etl::is_random_iterator
< TOutputIterator >::value,
TOutputIterator >::type 
copy (TInputIterator i_begin, TInputIterator i_end, TOutputIterator o_begin, TOutputIterator o_end)
 copy A form of copy where the smallest of the two ranges is used.
template<typename TInputIterator , typename TSize , typename TOutputIterator >
etl::enable_if
< etl::is_random_iterator
< TInputIterator >::value,
TOutputIterator >::type 
copy_n (TInputIterator i_begin, TSize n, TOutputIterator o_begin)
 copy_n (Random input iterators)a href="http://en.cppreference.com/w/cpp/algorithm/copy_n">
template<typename TInputIterator , typename TSize , typename TOutputIterator >
TOutputIterator copy_n (TInputIterator i_begin, TSize n, TOutputIterator o_begin, TOutputIterator o_end)
 copy_n A form of copy_n where the smallest of the two ranges is used.
template<typename TInputIterator , typename TSize1 , typename TOutputIterator , typename TSize2 >
TOutputIterator copy_n (TInputIterator i_begin, TSize1 n1, TOutputIterator o_begin, TSize2 n2)
 copy_n A form of copy_n where the smallest of the two ranges is used.
template<typename TIterator , typename TOutputIterator , typename TUnaryPredicate >
TOutputIterator copy_if (TIterator begin, TIterator end, TOutputIterator out, TUnaryPredicate predicate)
 copy_ifa href="http://en.cppreference.com/w/cpp/algorithm/copy">
template<typename TInputIterator , typename TOutputIterator , typename TUnaryPredicate >
TOutputIterator copy_if (TInputIterator i_begin, TInputIterator i_end, TOutputIterator o_begin, TOutputIterator o_end, TUnaryPredicate predicate)
 copy_if A form of copy_if where it terminates when the first end iterator is reached.
template<typename TInputIterator , typename TSize , typename TOutputIterator , typename TUnaryPredicate >
TOutputIterator copy_n_if (TInputIterator i_begin, TSize n, TOutputIterator o_begin, TUnaryPredicate predicate)
 copy_n_if Combination of copy_n and copy_if.
template<typename TIterator , typename TValue >
TIterator binary_find (TIterator begin, TIterator end, const TValue &value)
 binary_findDoes a binary search and returns an iterator to the value or end if not found.
template<typename TIterator , typename TValue , typename TBinaryPredicate , typename TBinaryEquality >
TIterator binary_find (TIterator begin, TIterator end, const TValue &value, TBinaryPredicate predicate, TBinaryEquality equality)
 binary_findDoes a binary search and returns an iterator to the value or end if not found.
template<typename TIterator , typename TUnaryPredicate >
TIterator find_if_not (TIterator begin, TIterator end, TUnaryPredicate predicate)
 find_if_nota href="http://en.cppreference.com/w/cpp/algorithm/find">
template<typename TIterator , typename TUnaryPredicate >
bool all_of (TIterator begin, TIterator end, TUnaryPredicate predicate)
 all_ofa href="http://en.cppreference.com/w/cpp/algorithm/all_any_none_of">
template<typename TIterator , typename TUnaryPredicate >
bool any_of (TIterator begin, TIterator end, TUnaryPredicate predicate)
 any_ofa href="http://en.cppreference.com/w/cpp/algorithm/all_any_none_of">
template<typename TIterator , typename TUnaryPredicate >
bool none_of (TIterator begin, TIterator end, TUnaryPredicate predicate)
 none_ofa href="http://en.cppreference.com/w/cpp/algorithm/all_any_none_of">
template<typename TIterator1 , typename TIterator2 >
bool is_permutation (TIterator1 begin1, TIterator1 end1, TIterator2 begin2)
 is_permutationa href="http://en.cppreference.com/w/cpp/algorithm/is_permutation">
template<typename TIterator1 , typename TIterator2 >
bool is_permutation (TIterator1 begin1, TIterator1 end1, TIterator2 begin2, TIterator2 end2)
 is_permutationa href="http://en.cppreference.com/w/cpp/algorithm/is_permutation">
template<typename TIterator1 , typename TIterator2 , typename TBinaryPredicate >
bool is_permutation (TIterator1 begin1, TIterator1 end1, TIterator2 begin2, TBinaryPredicate predicate)
 is_permutationa href="http://en.cppreference.com/w/cpp/algorithm/is_permutation">
template<typename TIterator1 , typename TIterator2 , typename TBinaryPredicate >
bool is_permutation (TIterator1 begin1, TIterator1 end1, TIterator2 begin2, TIterator2 end2, TBinaryPredicate predicate)
 is_permutationa href="http://en.cppreference.com/w/cpp/algorithm/is_permutation">
template<typename TIterator , typename TUnaryPredicate >
bool is_partitioned (TIterator begin, TIterator end, TUnaryPredicate predicate)
 is_partitioneda href="http://en.cppreference.com/w/cpp/algorithm/is_partitioned">
template<typename TIterator , typename TUnaryPredicate >
TIterator partition_point (TIterator begin, TIterator end, TUnaryPredicate predicate)
 partition_point a href="http://en.cppreference.com/w/cpp/algorithm/partition_point">
template<typename TSource , typename TDestinationTrue , typename TDestinationFalse , typename TUnaryPredicate >
std::pair< TDestinationTrue,
TDestinationFalse > 
partition_copy (TSource begin, TSource end, TDestinationTrue destination_true, TDestinationFalse destination_false, TUnaryPredicate predicate)
 Copies the elements from the range (begin, end) to two different ranges depending on the value returned by the predicate.
template<typename TIterator , typename TUnaryFunction , typename TUnaryPredicate >
TUnaryFunction for_each_if (TIterator begin, const TIterator end, TUnaryFunction function, TUnaryPredicate predicate)
 Like std::for_each but applies a predicate before calling the function.
template<typename TIterator , typename TSize , typename TUnaryFunction >
TIterator for_each_n (TIterator begin, TSize n, TUnaryFunction function)
 Like std::for_each but for 'n' iterations.
template<typename TIterator , typename TSize , typename TUnaryFunction , typename TUnaryPredicate >
TIterator for_each_n_if (TIterator begin, TSize n, TUnaryFunction function, TUnaryPredicate predicate)
 Like std::for_each but applies a predicate before calling the function, for 'n' iterations.
template<typename TInputIterator , typename TOutputIterator , typename TUnaryFunction >
void transform (TInputIterator i_begin, TInputIterator i_end, TOutputIterator o_begin, TOutputIterator o_end, TUnaryFunction function)
 A form of std::transform where the transform returns when the first range end is reached.
template<typename TInputIterator , typename TSize , typename TOutputIterator , typename TUnaryFunction >
etl::enable_if
< etl::is_random_iterator
< TInputIterator >::value,
void >::type 
transform_n (TInputIterator i_begin, TSize n, TOutputIterator o_begin, TUnaryFunction function)
 Transform 'n' items.
template<typename TInputIterator1 , typename TInputIterator2 , typename TSize , typename TOutputIterator , typename TBinaryFunction >
etl::enable_if
< etl::is_random_iterator
< TInputIterator1 >::value
&&etl::is_random_iterator
< TInputIterator2 >::value,
void >::type 
transform_n (TInputIterator1 i_begin1, TInputIterator2 i_begin2, TSize n, TOutputIterator o_begin, TBinaryFunction function)
 Transform 'n' items from two ranges.
template<typename TInputIterator , typename TOutputIterator , typename TUnaryFunction , typename TUnaryPredicate >
TOutputIterator transform_if (TInputIterator i_begin, const TInputIterator i_end, TOutputIterator o_begin, TUnaryFunction function, TUnaryPredicate predicate)
 Like std::transform but applies a predicate before calling the function.
template<typename TInputIterator1 , typename TInputIterator2 , typename TOutputIterator , typename TBinaryFunction , typename TBinaryPredicate >
TOutputIterator transform_if (TInputIterator1 i_begin1, const TInputIterator1 i_end1, TInputIterator2 i_begin2, TOutputIterator o_begin, TBinaryFunction function, TBinaryPredicate predicate)
 Like etl::transform_if but inputs from two ranges.
template<typename TInputIterator , typename TSize , typename TOutputIterator , typename TUnaryFunction , typename TUnaryPredicate >
TOutputIterator transform_n_if (TInputIterator i_begin, TSize n, TOutputIterator o_begin, TUnaryFunction function, TUnaryPredicate predicate)
 Like std::transform_if, for 'n' items.
template<typename TInputIterator1 , typename TInputIterator2 , typename TSize , typename TOutputIterator , typename TBinaryFunction , typename TBinaryPredicate >
TOutputIterator transform_n_if (TInputIterator1 i_begin1, TInputIterator2 i_begin2, TSize n, TOutputIterator o_begin, TBinaryFunction function, TBinaryPredicate predicate)
 Like etl::transform_if but inputs from two ranges for 'n' items.
template<typename TSource , typename TDestinationTrue , typename TDestinationFalse , typename TUnaryFunctionTrue , typename TUnaryFunctionFalse , typename TUnaryPredicate >
std::pair< TDestinationTrue,
TDestinationFalse > 
partition_transform (TSource begin, TSource end, TDestinationTrue destination_true, TDestinationFalse destination_false, TUnaryFunctionTrue function_true, TUnaryFunctionFalse function_false, TUnaryPredicate predicate)
 Transforms the elements from the range (begin, end) to two different ranges depending on the value returned by the predicate.
template<typename TSource1 , typename TSource2 , typename TDestinationTrue , typename TDestinationFalse , typename TBinaryFunctionTrue , typename TBinaryFunctionFalse , typename TBinaryPredicate >
std::pair< TDestinationTrue,
TDestinationFalse > 
partition_transform (TSource1 begin1, TSource1 end1, TSource2 begin2, TDestinationTrue destination_true, TDestinationFalse destination_false, TBinaryFunctionTrue function_true, TBinaryFunctionFalse function_false, TBinaryPredicate predicate)
 Transforms the elements from the ranges (begin1, end1) & (begin2) to two different ranges depending on the value returned by the predicate.
template<typename T , const size_t SIZE>
void swap (etl::array< T, SIZE > &lhs, etl::array< T, SIZE > &rhs)
 Overloaded swap for etl::array<T, SIZE>
template<typename T , std::size_t SIZE>
bool operator== (const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
 Equal operator.
template<typename T , std::size_t SIZE>
bool operator!= (const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
 Not equal operator.
template<typename T , std::size_t SIZE>
bool operator< (const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
 Less than operator.
template<typename T , std::size_t SIZE>
bool operator<= (const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
 Less than or equal operator.
template<typename T , std::size_t SIZE>
bool operator> (const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
 Greater than operator.
template<typename T , std::size_t SIZE>
bool operator>= (const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
 Greater than or equal operator.
template<std::size_t I, typename T , std::size_t MAXN>
T & get (array< T, MAXN > &a)
 Gets a reference to an element in the array.
template<std::size_t I, typename T , std::size_t MAXN>
const T & get (const array< T, MAXN > &a)
 Gets a const reference to an element in the array.
template<typename TL , typename TR , std::size_t SIZEL, std::size_t SIZER, TL(&) ARRAYL, TR(&) ARRAYR>
bool operator== (const etl::array_wrapper< TL, SIZEL, ARRAYL > &lhs, const etl::array_wrapper< TR, SIZER, ARRAYR > &rhs)
 Equality for array wrappers.
template<typename TL , typename TR , std::size_t SIZEL, std::size_t SIZER, TL(&) ARRAYL, TR(&) ARRAYR>
bool operator!= (const etl::array_wrapper< TL, SIZEL, ARRAYL > &lhs, const etl::array_wrapper< TR, SIZER, ARRAYR > &rhs)
 Inequality for array wrapper.
template<typename TL , typename TR , std::size_t SIZEL, std::size_t SIZER, TL(&) ARRAYL, TR(&) ARRAYR>
bool operator< (const etl::array_wrapper< TL, SIZEL, ARRAYL > &lhs, const etl::array_wrapper< TR, SIZER, ARRAYR > &rhs)
 Less-than for array wrapper.
template<typename TL , typename TR , std::size_t SIZEL, std::size_t SIZER, TL(&) ARRAYL, TR(&) ARRAYR>
bool operator> (const etl::array_wrapper< TL, SIZEL, ARRAYL > &lhs, const etl::array_wrapper< TR, SIZER, ARRAYR > &rhs)
 Greater-than for array wrapper.
template<typename TL , typename TR , std::size_t SIZEL, std::size_t SIZER, TL(&) ARRAYL, TR(&) ARRAYR>
bool operator<= (const etl::array_wrapper< TL, SIZEL, ARRAYL > &lhs, const etl::array_wrapper< TR, SIZER, ARRAYR > &rhs)
 Less-than-equal for array wrapper.
template<typename TL , typename TR , std::size_t SIZEL, std::size_t SIZER, TL(&) ARRAYL, TR(&) ARRAYR>
bool operator>= (const etl::array_wrapper< TL, SIZEL, ARRAYL > &lhs, const etl::array_wrapper< TR, SIZER, ARRAYR > &rhs)
 Greater-than-equal for array wrapper.
template<typename T >
size_t strlen (const T *t)
 Alternative strlen for all character types.
template<typename T >
bool operator== (const etl::ibasic_string< T > &lhs, const etl::ibasic_string< T > &rhs)
 Equal operator.
template<typename T >
bool operator== (const etl::ibasic_string< T > &lhs, const T *rhs)
 Equal operator.
template<typename T >
bool operator== (const T *lhs, const etl::ibasic_string< T > &rhs)
 Equal operator.
template<typename T >
bool operator!= (const etl::ibasic_string< T > &lhs, const etl::ibasic_string< T > &rhs)
 Not equal operator.
template<typename T >
bool operator!= (const etl::ibasic_string< T > &lhs, const T *rhs)
 Not equal operator.
template<typename T >
bool operator!= (const T *lhs, const etl::ibasic_string< T > &rhs)
 Not equal operator.
template<typename T >
bool operator< (const etl::ibasic_string< T > &lhs, const etl::ibasic_string< T > &rhs)
 Less than operator.
template<typename T >
bool operator< (const etl::ibasic_string< T > &lhs, const T *rhs)
 Less than operator.
template<typename T >
bool operator< (const T *lhs, const etl::ibasic_string< T > &rhs)
 Less than operator.
template<typename T >
bool operator> (const etl::ibasic_string< T > &lhs, const etl::ibasic_string< T > &rhs)
 Greater than operator.
template<typename T >
bool operator> (const etl::ibasic_string< T > &lhs, const T *rhs)
 Greater than operator.
template<typename T >
bool operator> (const T *lhs, const etl::ibasic_string< T > &rhs)
 Greater than operator.
template<typename T >
bool operator<= (const etl::ibasic_string< T > &lhs, const etl::ibasic_string< T > &rhs)
 Less than or equal operator.
template<typename T >
bool operator<= (const etl::ibasic_string< T > &lhs, const T *rhs)
 Less than or equal operator.
template<typename T >
bool operator<= (const T *lhs, const etl::ibasic_string< T > &rhs)
 Less than or equal operator.
template<typename T >
bool operator>= (const etl::ibasic_string< T > &lhs, const etl::ibasic_string< T > &rhs)
 Greater than or equal operator.
template<typename T >
bool operator>= (const etl::ibasic_string< T > &lhs, const T *rhs)
 Greater than or equal operator.
template<typename T >
bool operator>= (const T *lhs, const etl::ibasic_string< T > &rhs)
 Greater than or equal operator.
uint8_t reverse_bits (uint8_t value)
 Reverse 8 bits.
uint16_t reverse_bits (uint16_t value)
 Reverse 16 bits.
uint32_t reverse_bits (uint32_t value)
 Reverse 32 bits.
uint64_t reverse_bits (uint64_t value)
 Reverse 64 bits.
uint16_t reverse_bytes (uint16_t value)
 Reverse bytes 16 bit.
uint32_t reverse_bytes (uint32_t value)
 Reverse bytes 32 bit.
uint64_t reverse_bytes (uint64_t value)
 Reverse bytes 64 bit.
uint8_t gray_to_binary (uint8_t value)
 Converts Gray code to binary.
uint16_t gray_to_binary (uint16_t value)
 Converts Gray code to binary.
uint32_t gray_to_binary (uint32_t value)
 Converts Gray code to binary.
uint64_t gray_to_binary (uint64_t value)
 Converts Gray code to binary.
uint_least8_t count_bits (uint8_t value)
 Count set bits. 8 bits.
uint_least8_t count_bits (uint16_t value)
 Count set bits. 16 bits.
uint_least8_t count_bits (uint32_t value)
 Count set bits. 32 bits.
uint_least8_t count_bits (uint64_t value)
 Count set bits. 64 bits.
uint_least8_t parity (uint8_t value)
 Parity. 8bits. 0 = even, 1 = odd.
uint_least8_t parity (uint16_t value)
 Parity. 16bits. 0 = even, 1 = odd.
uint_least8_t parity (uint32_t value)
 Parity. 32bits. 0 = even, 1 = odd.
uint_least8_t parity (uint64_t value)
 Parity. 64bits. 0 = even, 1 = odd.
uint_least8_t count_trailing_zeros (uint8_t value)
 Count trailing zeros.
uint_least8_t count_trailing_zeros (uint16_t value)
 Count trailing zeros.
uint_least8_t count_trailing_zeros (uint32_t value)
 Count trailing zeros.
uint_least8_t count_trailing_zeros (uint64_t value)
 Count trailing zeros.
template<typename T >
rotate_left (T value)
 Rotate left.
template<typename T >
rotate_left (T value, size_t distance)
 Rotate left.
template<typename T >
rotate_right (T value)
 Rotate right.
template<typename T >
rotate_right (T value, size_t distance)
 Rotate right.
template<typename T >
rotate (T value, typename etl::make_signed< size_t >::type distance)
 Rotate.
uint8_t reverse_bytes (uint8_t value)
 Reverse bytes.
template<typename T >
binary_to_gray (T value)
 Converts binary to Gray code.
template<typename TReturn , const size_t NBITS, typename TValue >
TReturn fold_bits (TValue value)
 Fold a binary number down to a set number of bits using XOR.
template<typename TReturn , const size_t NBITS, typename TValue >
TReturn sign_extend (TValue value)
 Sign extend.
template<typename TReturn , const size_t NBITS, const size_t SHIFT, typename TValue >
TReturn sign_extend (TValue value)
 Sign extend.
template<typename TReturn , typename TValue >
TReturn sign_extend (TValue value, const size_t NBITS)
 Sign extend.
template<typename TReturn , typename TValue >
TReturn sign_extend (TValue value, const size_t NBITS, const size_t SHIFT)
 Sign extend.
template<typename T >
uint_least8_t first_set_bit_position (T value)
 Find the position of the first set bit.
template<typename T >
uint_least8_t first_clear_bit_position (T value)
 Find the position of the first clear bit.
template<typename T >
uint_least8_t first_bit_position (bool state, T value)
 Find the position of the first bit that is clear or set.
template<const size_t MAXN>
bitset< MAXN > operator& (const bitset< MAXN > &lhs, const bitset< MAXN > &rhs)
 operator &
template<const size_t MAXN>
bitset< MAXN > operator| (const bitset< MAXN > &lhs, const bitset< MAXN > &rhs)
 operator |
template<const size_t MAXN>
bitset< MAXN > operator^ (const bitset< MAXN > &lhs, const bitset< MAXN > &rhs)
 operator ^
template<const size_t MAXN>
bool operator!= (const bitset< MAXN > &lhs, const bitset< MAXN > &rhs)
 operator !=
template<typename TContainer >
ETL_CONSTEXPR TContainer::iterator begin (TContainer &container)
 Get the 'begin' iterator.
template<typename TContainer >
ETL_CONSTEXPR
TContainer::const_iterator 
begin (const TContainer &container)
 Get the 'begin' const_iterator for a container.
template<typename TContainer >
ETL_CONSTEXPR
TContainer::const_iterator 
cbegin (const TContainer &container)
 Get the 'begin' const_iterator for a container.
template<typename TContainer >
ETL_CONSTEXPR
TContainer::reverse_iterator 
rbegin (const TContainer &container)
 Get the 'begin' reverse_iterator for a container.
template<typename TContainer >
ETL_CONSTEXPR
TContainer::reverse_iterator 
crbegin (const TContainer &container)
 Get the 'begin' reverse_iterator for a container.
template<typename TContainer >
ETL_CONSTEXPR TContainer::iterator end (TContainer &container)
 Get the 'end' iterator for a container.
template<typename TContainer >
ETL_CONSTEXPR
TContainer::const_iterator 
end (const TContainer &container)
 Get the 'end' const_iterator for a container.
template<typename TContainer >
ETL_CONSTEXPR
TContainer::const_iterator 
cend (const TContainer &container)
 Get the 'end' const_iterator for a container.
template<typename TContainer >
ETL_CONSTEXPR
TContainer::const_iterator 
rend (const TContainer &container)
 Get the 'end' reverse_iterator for a container.
template<typename TContainer >
ETL_CONSTEXPR
TContainer::reverse_iterator 
crend (const TContainer &container)
 Get the 'end' reverse_iterator for a container.
template<typename TValue , const size_t ARRAY_SIZE>
ETL_CONSTEXPR TValue * begin (TValue(&data)[ARRAY_SIZE])
 Get the 'begin' pointer for an array.
template<typename TValue , const size_t ARRAY_SIZE>
ETL_CONSTEXPR const TValue * begin (const TValue(&data)[ARRAY_SIZE])
 Get the 'begin' const iterator for an array.
template<typename TValue , const size_t ARRAY_SIZE>
ETL_CONSTEXPR const TValue * cbegin (const TValue(&data)[ARRAY_SIZE])
 Get the 'begin' const iterator for an array.
template<typename TValue , const size_t ARRAY_SIZE>
ETL_CONSTEXPR
std::reverse_iterator< TValue * > 
rbegin (const TValue(&data)[ARRAY_SIZE])
 Get the 'begin' reverse_iterator for an array.
template<typename TValue , const size_t ARRAY_SIZE>
ETL_CONSTEXPR
std::reverse_iterator< const
TValue * > 
crbegin (const TValue(&data)[ARRAY_SIZE])
 Get the 'begin' const reverse_iterator for an array.
template<typename TValue , const size_t ARRAY_SIZE>
ETL_CONSTEXPR TValue * end (TValue(&data)[ARRAY_SIZE])
 Get the 'end' iterator for an array.
template<typename TValue , const size_t ARRAY_SIZE>
ETL_CONSTEXPR const TValue * end (const TValue(&data)[ARRAY_SIZE])
 Get the 'end' const iterator for an array.
template<typename TValue , const size_t ARRAY_SIZE>
ETL_CONSTEXPR const TValue * cend (const TValue(&data)[ARRAY_SIZE])
 Get the 'end' const iterator for an array.
template<typename TValue , const size_t ARRAY_SIZE>
ETL_CONSTEXPR
std::reverse_iterator< TValue * > 
rend (const TValue(&data)[ARRAY_SIZE])
 Get the 'end' reverse_iterator for an array.
template<typename TValue , const size_t ARRAY_SIZE>
ETL_CONSTEXPR
std::reverse_iterator< const
TValue * > 
crend (const TValue(&data)[ARRAY_SIZE])
 Get the 'end' const reverse_iterator for an array.
template<class TIterator >
TIterator next (TIterator iterator, ptrdiff_t n=1)
 Get the next iterator.
template<class TIterator >
TIterator prev (TIterator iterator, ptrdiff_t n=1)
 Get the previous iterator.
template<typename TKey , typename TMapped , typename TKeyCompare >
bool operator== (const etl::iflat_map< TKey, TMapped, TKeyCompare > &lhs, const etl::iflat_map< TKey, TMapped, TKeyCompare > &rhs)
 Equal operator.
template<typename TKey , typename TMapped , typename TKeyCompare >
bool operator!= (const etl::iflat_map< TKey, TMapped, TKeyCompare > &lhs, const etl::iflat_map< TKey, TMapped, TKeyCompare > &rhs)
 Not equal operator.
template<typename TKey , typename TMapped , typename TKeyCompare >
bool operator== (const etl::iflat_multimap< TKey, TMapped, TKeyCompare > &lhs, const etl::iflat_multimap< TKey, TMapped, TKeyCompare > &rhs)
 Equal operator.
template<typename TKey , typename TMapped , typename TKeyCompare >
bool operator!= (const etl::iflat_multimap< TKey, TMapped, TKeyCompare > &lhs, const etl::iflat_multimap< TKey, TMapped, TKeyCompare > &rhs)
 Not equal operator.
template<typename T , typename TKeyCompare >
bool operator== (const etl::iflat_multiset< T, TKeyCompare > &lhs, const etl::iflat_multiset< T, TKeyCompare > &rhs)
 Equal operator.
template<typename T , typename TKeyCompare >
bool operator!= (const etl::iflat_multiset< T, TKeyCompare > &lhs, const etl::iflat_multiset< T, TKeyCompare > &rhs)
 Not equal operator.
template<typename T , typename TKeyCompare >
bool operator== (const etl::iflat_set< T, TKeyCompare > &lhs, const etl::iflat_set< T, TKeyCompare > &rhs)
 Equal operator.
template<typename T , typename TKeyCompare >
bool operator!= (const etl::iflat_set< T, TKeyCompare > &lhs, const etl::iflat_set< T, TKeyCompare > &rhs)
 Not equal operator.
template<typename TLink >
etl::enable_if< etl::is_same
< TLink, etl::tree_link
< TLink::ID > >::value, void >
::type 
link_rotate (TLink &parent, TLink &leaf)
 Automatically detects whether a left or right rotate is expected.
template<typename TLink >
etl::enable_if< etl::is_same
< TLink, etl::tree_link
< TLink::ID > >::value, void >
::type 
link_rotate (TLink *parent, TLink *leaf)
 Automatically detects whether a left or right rotate is expected.
template<typename TLink >
etl::enable_if< etl::is_same
< TLink, etl::tree_link
< TLink::ID > >::value, void >
::type 
link_rotate (TLink &parent, TLink *leaf)
 Automatically detects whether a left or right rotate is expected.
template<typename TLink >
etl::enable_if< etl::is_same
< TLink, etl::tree_link
< TLink::ID > >::value, void >
::type 
link_rotate (TLink *parent, TLink &leaf)
 Automatically detects whether a left or right rotate is expected.
template<typename T >
T * addressof (T &t)
 Gets the address of an object.
template<typename TOutputIterator , typename T >
etl::enable_if
< etl::is_trivially_constructible
< typename
std::iterator_traits
< TOutputIterator >
::value_type >::value,
TOutputIterator >::type 
uninitialized_fill (TOutputIterator o_begin, TOutputIterator o_end, const T &value)
 Fills uninitialised memory range with a value.
template<typename TOutputIterator , typename T , typename TCounter >
etl::enable_if
< etl::is_trivially_constructible
< typename
std::iterator_traits
< TOutputIterator >
::value_type >::value,
TOutputIterator >::type 
uninitialized_fill (TOutputIterator o_begin, TOutputIterator o_end, const T &value, TCounter &count)
 Fills uninitialised memory range with a value.
template<typename TOutputIterator , typename TSize , typename T >
TOutputIterator uninitialized_fill_n (TOutputIterator o_begin, TSize n, const T &value)
 Fills uninitialised memory with N values.
template<typename TOutputIterator , typename TSize , typename T , typename TCounter >
TOutputIterator uninitialized_fill_n (TOutputIterator o_begin, TSize n, const T &value, TCounter &count)
 Fills uninitialised memory with N values.
template<typename TInputIterator , typename TOutputIterator >
etl::enable_if
< etl::is_trivially_constructible
< typename
std::iterator_traits
< TOutputIterator >
::value_type >::value,
TOutputIterator >::type 
uninitialized_copy (TInputIterator i_begin, TInputIterator i_end, TOutputIterator o_begin)
 Copies a range of objects to uninitialised memory.
template<typename TInputIterator , typename TOutputIterator , typename TCounter >
etl::enable_if
< etl::is_trivially_constructible
< typename
std::iterator_traits
< TOutputIterator >
::value_type >::value,
TOutputIterator >::type 
uninitialized_copy (TInputIterator i_begin, TInputIterator i_end, TOutputIterator o_begin, TCounter &count)
 Copies a range of objects to uninitialised memory.
template<typename TInputIterator , typename TSize , typename TOutputIterator >
TOutputIterator uninitialized_copy_n (TInputIterator i_begin, TSize n, TOutputIterator o_begin)
 Copies N objects to uninitialised memory.
template<typename TInputIterator , typename TSize , typename TOutputIterator , typename TCounter >
TOutputIterator uninitialized_copy_n (TInputIterator i_begin, TSize n, TOutputIterator o_begin, TCounter &count)
 Copies N objects to uninitialised memory.
template<typename T >
etl::enable_if
< etl::is_trivially_constructible
< T >::value, void >::type 
create_default_at (T *)
 Default contruct an item at address p.
template<typename T , typename TCounter >
etl::enable_if
< etl::is_trivially_constructible
< T >::value, void >::type 
create_default_at (T *, TCounter &count)
 Default contruct an item at address p.
template<typename TOutputIterator >
etl::enable_if
< etl::is_trivially_constructible
< typename
std::iterator_traits
< TOutputIterator >
::value_type >::value, void >
::type 
uninitialized_default_construct (TOutputIterator, TOutputIterator)
 Default initialises a range of objects to uninitialised memory.
template<typename TOutputIterator , typename TCounter >
etl::enable_if
< etl::is_trivially_constructible
< typename
std::iterator_traits
< TOutputIterator >
::value_type >::value, void >
::type 
uninitialized_default_construct (TOutputIterator o_begin, TOutputIterator o_end, TCounter &count)
 Default initialises a range of objects to uninitialised memory.
template<typename TOutputIterator , typename TSize >
etl::enable_if
< etl::is_trivially_constructible
< typename
std::iterator_traits
< TOutputIterator >
::value_type >::value,
TOutputIterator >::type 
uninitialized_default_construct_n (TOutputIterator o_begin, TSize n)
 Default initialises N objects to uninitialised memory.
template<typename TOutputIterator , typename TSize , typename TCounter >
etl::enable_if
< etl::is_trivially_constructible
< typename
std::iterator_traits
< TOutputIterator >
::value_type >::value,
TOutputIterator >::type 
uninitialized_default_construct_n (TOutputIterator o_begin, TSize n, TCounter &count)
 Default initialises N objects to uninitialised memory.
template<typename T >
void create_value_at (T *p)
 Value construct an item at address p.
template<typename T , typename TCounter >
void create_value_at (T *p, TCounter &count)
 Value construct an item at address p.
template<typename T >
void create_copy_at (T *p, const T &value)
 Copy construct an item at address p.
template<typename T , typename TCounter >
void create_copy_at (T *p, const T &value, TCounter &count)
 Copy construct an item at address p.
template<typename T >
T & make_default_at (T *p)
 Construct an item at address p.
template<typename T , typename TCounter >
T & make_default_at (T *p, TCounter &count)
 Construct an item at address p.
template<typename T >
T & make_copy_at (T *p, const T &other)
 Construct an item at address p.
template<typename T , typename TCounter >
T & make_copy_at (T *p, const T &other, TCounter &count)
 Construct an item at address p.
template<typename T , typename TParameter >
T & make_value_at (T *p, const TParameter &value)
 Construct an item at address p.
template<typename T , typename TParameter , typename TCounter >
T & make_value_at (T *p, const TParameter &value, TCounter &count)
 Construct an item at address p.
template<typename TOutputIterator >
etl::enable_if
< etl::is_trivially_constructible
< typename
std::iterator_traits
< TOutputIterator >
::value_type >::value, void >
::type 
uninitialized_value_construct (TOutputIterator o_begin, TOutputIterator o_end)
 Default initialises a range of objects to uninitialised memory.
template<typename TOutputIterator , typename TCounter >
void uninitialized_value_construct (TOutputIterator o_begin, TOutputIterator o_end, TCounter &count)
 Default initialises a range of objects to uninitialised memory.
template<typename TOutputIterator , typename TSize >
TOutputIterator uninitialized_value_construct_n (TOutputIterator o_begin, TSize n)
 Default initialises N objects to uninitialised memory.
template<typename TOutputIterator , typename TSize , typename TCounter >
TOutputIterator uninitialized_value_construct_n (TOutputIterator o_begin, TSize n, TCounter &count)
 Default initialises N objects to uninitialised memory.
template<typename T >
etl::enable_if
< etl::is_trivially_destructible
< T >::value, void >::type 
destroy_at (T *)
 Destroys an item at address p.
template<typename T , typename TCounter >
etl::enable_if
< etl::is_trivially_destructible
< T >::value, void >::type 
destroy_at (T *, TCounter &count)
 Destroys an item at address p.
template<typename TIterator >
etl::enable_if
< etl::is_trivially_destructible
< typename
std::iterator_traits
< TIterator >::value_type >
::value, void >::type 
destroy (TIterator, TIterator)
 Destroys a range of items.
template<typename TIterator , typename TCounter >
etl::enable_if
< etl::is_trivially_destructible
< typename
std::iterator_traits
< TIterator >::value_type >
::value, void >::type 
destroy (TIterator i_begin, TIterator i_end, TCounter &count)
 Destroys a range of items.
template<typename TIterator , typename TSize >
etl::enable_if
< etl::is_trivially_destructible
< typename
std::iterator_traits
< TIterator >::value_type >
::value, TIterator >::type 
destroy_n (TIterator i_begin, TSize n)
 Destroys a number of items.
template<typename TIterator , typename TSize , typename TCounter >
etl::enable_if
< etl::is_trivially_destructible
< typename
std::iterator_traits
< TIterator >::value_type >
::value, TIterator >::type 
destroy_n (TIterator i_begin, TSize n, TCounter &count)
 Destroys a number of items.
static void send_message (etl::imessage_bus &bus, const etl::imessage &message)
 Send a message to a bus.
static void send_message (etl::imessage_bus &bus, etl::message_router_id_t id, const etl::imessage &message)
 Send a message to a bus.
static void send_message (etl::imessage_router &source, etl::imessage_bus &bus, const etl::imessage &message)
 Send a message to a bus.
static void send_message (etl::imessage_router &source, etl::imessage_bus &bus, etl::message_router_id_t id, const etl::imessage &message)
 Send a message to a bus.
static void send_message (etl::imessage_router &destination, const etl::imessage &message)
 Send a message to a router.
static void send_message (etl::imessage_router &source, etl::imessage_router &destination, const etl::imessage &message)
 Send a message to a router.
template<typename TIterator , typename T >
void iota (TIterator first, TIterator last, T value)
 iota Reverse engineered version of std::iota for non C++ 0x11 compilers.
template<typename T >
bool operator== (const etl::ivector< T * > &lhs, const etl::ivector< T * > &rhs)
 Equal operator.
template<typename T >
bool operator!= (const etl::ivector< T * > &lhs, const etl::ivector< T * > &rhs)
 Not equal operator.
template<typename T >
bool operator< (const etl::ivector< T * > &lhs, const etl::ivector< T * > &rhs)
 Less than operator.
template<typename T >
bool operator> (const etl::ivector< T * > &lhs, const etl::ivector< T * > &rhs)
 Greater than operator.
template<typename T >
bool operator<= (const etl::ivector< T * > &lhs, const etl::ivector< T * > &rhs)
 Less than or equal operator.
template<typename T >
bool operator>= (const etl::ivector< T * > &lhs, const etl::ivector< T * > &rhs)
 Greater than or equal operator.
bool operator== (const etl::pvoidvector &lhs, const etl::pvoidvector &rhs)
 Equal operator.
bool operator!= (const etl::pvoidvector &lhs, const etl::pvoidvector &rhs)
 Not equal operator.
bool operator< (const etl::pvoidvector &lhs, const etl::pvoidvector &rhs)
 Less than operator.
bool operator> (const etl::pvoidvector &lhs, const etl::pvoidvector &rhs)
 Greater than operator.
bool operator<= (const etl::pvoidvector &lhs, const etl::pvoidvector &rhs)
 Less than or equal operator.
bool operator>= (const etl::pvoidvector &lhs, const etl::pvoidvector &rhs)
 Greater than or equal operator.
template<typename TKey , typename TMapped , typename TKeyCompare >
bool operator== (const etl::ireference_flat_map< TKey, TMapped, TKeyCompare > &lhs, const etl::ireference_flat_map< TKey, TMapped, TKeyCompare > &rhs)
 Equal operator.
template<typename TKey , typename TMapped , typename TKeyCompare >
bool operator!= (const etl::ireference_flat_map< TKey, TMapped, TKeyCompare > &lhs, const etl::ireference_flat_map< TKey, TMapped, TKeyCompare > &rhs)
 Not equal operator.
template<typename TKey , typename TMapped , typename TKeyCompare >
bool operator== (const etl::ireference_flat_multimap< TKey, TMapped, TKeyCompare > &lhs, const etl::ireference_flat_multimap< TKey, TMapped, TKeyCompare > &rhs)
 Equal operator.
template<typename TKey , typename TMapped , typename TKeyCompare >
bool operator!= (const etl::ireference_flat_multimap< TKey, TMapped, TKeyCompare > &lhs, const etl::ireference_flat_multimap< TKey, TMapped, TKeyCompare > &rhs)
 Not equal operator.
template<typename T , typename TKeyCompare >
bool operator== (const etl::ireference_flat_multiset< T, TKeyCompare > &lhs, const etl::ireference_flat_multiset< T, TKeyCompare > &rhs)
 Equal operator.
template<typename T , typename TKeyCompare >
bool operator!= (const etl::ireference_flat_multiset< T, TKeyCompare > &lhs, const etl::ireference_flat_multiset< T, TKeyCompare > &rhs)
 Not equal operator.
template<typename T , typename TKeyCompare >
bool operator== (const etl::ireference_flat_set< T, TKeyCompare > &lhs, const etl::ireference_flat_set< T, TKeyCompare > &rhs)
 Equal operator.
template<typename T , typename TKeyCompare >
bool operator!= (const etl::ireference_flat_set< T, TKeyCompare > &lhs, const etl::ireference_flat_set< T, TKeyCompare > &rhs)
 Not equal operator.
template<typename TKey , typename TMapped , typename TKeyCompare >
bool operator== (const etl::iunordered_map< TKey, TMapped, TKeyCompare > &lhs, const etl::iunordered_map< TKey, TMapped, TKeyCompare > &rhs)
 Equal operator.
template<typename TKey , typename TMapped , typename TKeyCompare >
bool operator!= (const etl::iunordered_map< TKey, TMapped, TKeyCompare > &lhs, const etl::iunordered_map< TKey, TMapped, TKeyCompare > &rhs)
 Not equal operator.
template<typename TKey , typename TMapped , typename TKeyCompare >
bool operator== (const etl::iunordered_multimap< TKey, TMapped, TKeyCompare > &lhs, const etl::iunordered_multimap< TKey, TMapped, TKeyCompare > &rhs)
 Equal operator.
template<typename TKey , typename TMapped , typename TKeyCompare >
bool operator!= (const etl::iunordered_multimap< TKey, TMapped, TKeyCompare > &lhs, const etl::iunordered_multimap< TKey, TMapped, TKeyCompare > &rhs)
 Not equal operator.
template<typename TKey , typename TMapped , typename TKeyCompare >
bool operator== (const etl::iunordered_multiset< TKey, TMapped, TKeyCompare > &lhs, const etl::iunordered_multiset< TKey, TMapped, TKeyCompare > &rhs)
 Equal operator.
template<typename TKey , typename TMapped , typename TKeyCompare >
bool operator!= (const etl::iunordered_multiset< TKey, TMapped, TKeyCompare > &lhs, const etl::iunordered_multiset< TKey, TMapped, TKeyCompare > &rhs)
 Not equal operator.
template<typename TKey , typename TMapped , typename TKeyCompare >
bool operator== (const etl::iunordered_set< TKey, TMapped, TKeyCompare > &lhs, const etl::iunordered_set< TKey, TMapped, TKeyCompare > &rhs)
 Equal operator.
template<typename TKey , typename TMapped , typename TKeyCompare >
bool operator!= (const etl::iunordered_set< TKey, TMapped, TKeyCompare > &lhs, const etl::iunordered_set< TKey, TMapped, TKeyCompare > &rhs)
 Not equal operator.
template<typename T , typename U = T>
exchange (T &object, U &new_value)
 exchange
template<typename T , typename U = T>
exchange (T &object, const U &new_value)
 exchange (const)
template<typename T >
etl::add_const< T >::type & as_const (T &t)
 as_const
template<typename T >
bool operator== (const etl::ivector< T > &lhs, const etl::ivector< T > &rhs)
 Equal operator.
template<typename T >
bool operator!= (const etl::ivector< T > &lhs, const etl::ivector< T > &rhs)
 Not equal operator.
template<typename T >
bool operator< (const etl::ivector< T > &lhs, const etl::ivector< T > &rhs)
 Less than operator.
template<typename T >
bool operator> (const etl::ivector< T > &lhs, const etl::ivector< T > &rhs)
 Greater than operator.
template<typename T >
bool operator<= (const etl::ivector< T > &lhs, const etl::ivector< T > &rhs)
 Less than or equal operator.
template<typename T >
bool operator>= (const etl::ivector< T > &lhs, const etl::ivector< T > &rhs)
 Greater than or equal operator.

Variables

const uint16_t CRC16 []
 CRC16 table.
const uint16_t CRC_CCITT []
 CRC-CCITT table.
const uint16_t CRC_KERMIT []
 CRC Kermit table.
const uint32_t CRC32 []
 CRC32 table.
const uint64_t CRC64_ECMA []
 CRC64_ECMA table.
const uint8_t CRC8_CCITT []
 CRC8 table.
const nullopt_t nullopt = {}
 A null option.
const uint8_t PEARSON_LOOKUP []
 Pearson lookup table.

Detailed Description

A multimap with the capacity defined at compile time.

A multiset with the capacity defined at compile time.


Typedef Documentation

typedef ETL_FSM_STATE_ID_TYPE fsm_state_id_t

Allow alternative type for state id.

Definition at line 75 of file fsm.h.

For the Americans.

Definition at line 76 of file ihash.h.

typedef ETL_MESSAGE_ID_TYPE message_id_t

Allow alternative type for message id.

Definition at line 40 of file message_types.h.

typedef ratio<326, 120> ratio_e

An approximation of e.

Definition at line 90 of file ratio.h.

typedef ratio<355, 113> ratio_pi

An approximation of PI to 6 digits.

Definition at line 84 of file ratio.h.

typedef ratio<239, 169> ratio_root2

An approximation of root 2.

Definition at line 87 of file ratio.h.


Enumeration Type Documentation

8 bit binary constants.

Definition at line 428 of file binary.h.


Function Documentation

etl::add_const<T>::type& etl::as_const ( T &  t )

as_const

Definition at line 68 of file utility.h.

T etl::binary_to_gray ( value )

Converts binary to Gray code.

Definition at line 185 of file binary.h.

uint_least8_t count_bits ( uint8_t  value )

Count set bits. 8 bits.

Count set bits.

Definition at line 185 of file binary.cpp.

uint_least8_t count_bits ( uint16_t  value )

Count set bits. 16 bits.

Definition at line 202 of file binary.cpp.

uint_least8_t count_bits ( uint32_t  value )

Count set bits. 32 bits.

Definition at line 219 of file binary.cpp.

uint_least8_t count_bits ( uint64_t  value )

Count set bits. 64 bits.

Definition at line 233 of file binary.cpp.

uint_least8_t count_trailing_zeros ( uint8_t  value )

Count trailing zeros.

bit. Uses a binary search.

Definition at line 302 of file binary.cpp.

uint_least8_t count_trailing_zeros ( uint16_t  value )

Count trailing zeros.

16bit. Uses a binary search.

Definition at line 337 of file binary.cpp.

uint_least8_t count_trailing_zeros ( uint32_t  value )

Count trailing zeros.

32bit. Uses a binary search.

Definition at line 377 of file binary.cpp.

uint_least8_t count_trailing_zeros ( uint64_t  value )

Count trailing zeros.

64bit. Uses a binary search.

Definition at line 423 of file binary.cpp.

T etl::exchange ( T &  object,
const U &  new_value 
)

exchange (const)

Definition at line 57 of file utility.h.

T etl::exchange ( T &  object,
U &  new_value 
)

exchange

Definition at line 46 of file utility.h.

uint_least8_t etl::first_bit_position ( bool  state,
value 
)

Find the position of the first bit that is clear or set.

Starts from LSB.

Definition at line 401 of file binary.h.

uint_least8_t etl::first_clear_bit_position ( value )

Find the position of the first clear bit.

Starts from LSB.

Definition at line 390 of file binary.h.

uint_least8_t etl::first_set_bit_position ( value )

Find the position of the first set bit.

Starts from LSB.

Definition at line 380 of file binary.h.

TReturn etl::fold_bits ( TValue  value )

Fold a binary number down to a set number of bits using XOR.

Definition at line 238 of file binary.h.

T& etl::get ( array< T, MAXN > &  a )

Gets a reference to an element in the array.

Template Parameters:
IThe index.
TThe type.
MAXNThe array size.
Parameters:
aThe array.
Returns:
A reference to the element

Definition at line 650 of file array.h.

const T& etl::get ( const array< T, MAXN > &  a )

Gets a const reference to an element in the array.

Template Parameters:
IThe index.
TThe type.
MAXNThe array size.
Parameters:
aThe array.
Returns:
A const reference to the element

Definition at line 665 of file array.h.

uint8_t gray_to_binary ( uint8_t  value )

Converts Gray code to binary.

Definition at line 129 of file binary.cpp.

uint16_t gray_to_binary ( uint16_t  value )

Converts Gray code to binary.

Definition at line 142 of file binary.cpp.

uint64_t gray_to_binary ( uint64_t  value )

Converts Gray code to binary.

Definition at line 169 of file binary.cpp.

uint32_t gray_to_binary ( uint32_t  value )

Converts Gray code to binary.

Definition at line 155 of file binary.cpp.

etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type etl::link_rotate ( TLink &  parent,
TLink &  leaf 
)

Automatically detects whether a left or right rotate is expected.

Definition at line 723 of file intrusive_links.h.

etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type etl::link_rotate ( TLink *  parent,
TLink *  leaf 
)

Automatically detects whether a left or right rotate is expected.

Definition at line 739 of file intrusive_links.h.

etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type etl::link_rotate ( TLink &  parent,
TLink *  leaf 
)

Automatically detects whether a left or right rotate is expected.

Definition at line 758 of file intrusive_links.h.

etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type etl::link_rotate ( TLink *  parent,
TLink &  leaf 
)

Automatically detects whether a left or right rotate is expected.

Definition at line 777 of file intrusive_links.h.

bool etl::operator!= ( const etl::ireference_flat_multimap< TKey, TMapped, TKeyCompare > &  lhs,
const etl::ireference_flat_multimap< TKey, TMapped, TKeyCompare > &  rhs 
)

Not equal operator.

Parameters:
lhsReference to the first reference_flat_multimap.
rhsReference to the second reference_flat_multimap.
Returns:
true if the arrays are not equal, otherwise false

Definition at line 793 of file reference_flat_multimap.h.

bool etl::operator!= ( const etl::ireference_flat_multiset< T, TKeyCompare > &  lhs,
const etl::ireference_flat_multiset< T, TKeyCompare > &  rhs 
)

Not equal operator.

Parameters:
lhsReference to the first reference_flat_multiset.
rhsReference to the second reference_flat_multiset.
Returns:
true if the arrays are not equal, otherwise false

Definition at line 863 of file reference_flat_multiset.h.

bool etl::operator!= ( const etl::ireference_flat_set< T, TKeyCompare > &  lhs,
const etl::ireference_flat_set< T, TKeyCompare > &  rhs 
)

Not equal operator.

Parameters:
lhsReference to the first reference_flat_set.
rhsReference to the second reference_flat_set.
Returns:
true if the arrays are not equal, otherwise false

Definition at line 845 of file reference_flat_set.h.

bool etl::operator!= ( const etl::array< T, SIZE > &  lhs,
const etl::array< T, SIZE > &  rhs 
)

Not equal operator.

Parameters:
lhsThe first array.
rhsThe second array.
Returns:
true if the arrays are not equal, otherwise false

Definition at line 585 of file array.h.

bool etl::operator!= ( const etl::array_wrapper< TL, SIZEL, ARRAYL > &  lhs,
const etl::array_wrapper< TR, SIZER, ARRAYR > &  rhs 
)

Inequality for array wrapper.

Definition at line 344 of file array_wrapper.h.

bool etl::operator!= ( const etl::ibasic_string< T > &  lhs,
const etl::ibasic_string< T > &  rhs 
)

Not equal operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the arrays are not equal, otherwise false

Definition at line 2023 of file basic_string.h.

bool etl::operator!= ( const etl::ibasic_string< T > &  lhs,
const T *  rhs 
)

Not equal operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the arrays are not equal, otherwise false

Definition at line 2036 of file basic_string.h.

bool etl::operator!= ( const T *  lhs,
const etl::ibasic_string< T > &  rhs 
)

Not equal operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the arrays are not equal, otherwise false

Definition at line 2049 of file basic_string.h.

bool etl::operator< ( const T *  lhs,
const etl::ibasic_string< T > &  rhs 
)

Less than operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the first string is lexicographically less than the second, otherwise false

Definition at line 2089 of file basic_string.h.

bool etl::operator< ( const etl::ibasic_string< T > &  lhs,
const T *  rhs 
)

Less than operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the first string is lexicographically less than the second, otherwise false

Definition at line 2076 of file basic_string.h.

bool etl::operator< ( const etl::array< T, SIZE > &  lhs,
const etl::array< T, SIZE > &  rhs 
)

Less than operator.

Parameters:
lhsThe first array.
rhsThe second array.
Returns:
true if the first array is lexicographically less than the second, otherwise false

Definition at line 597 of file array.h.

bool etl::operator< ( const etl::array_wrapper< TL, SIZEL, ARRAYL > &  lhs,
const etl::array_wrapper< TR, SIZER, ARRAYR > &  rhs 
)

Less-than for array wrapper.

Definition at line 354 of file array_wrapper.h.

bool etl::operator< ( const etl::ibasic_string< T > &  lhs,
const etl::ibasic_string< T > &  rhs 
)

Less than operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the first string is lexicographically less than the second, otherwise false

Definition at line 2063 of file basic_string.h.

bool etl::operator<= ( const etl::ibasic_string< T > &  lhs,
const etl::ibasic_string< T > &  rhs 
)

Less than or equal operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the first string is lexicographically less than or equal to the second, otherwise false

Definition at line 2143 of file basic_string.h.

bool etl::operator<= ( const T *  lhs,
const etl::ibasic_string< T > &  rhs 
)

Less than or equal operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the first string is lexicographically less than or equal to the second, otherwise false

Definition at line 2169 of file basic_string.h.

bool etl::operator<= ( const etl::ibasic_string< T > &  lhs,
const T *  rhs 
)

Less than or equal operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the first string is lexicographically less than or equal to the second, otherwise false

Definition at line 2156 of file basic_string.h.

bool etl::operator<= ( const etl::array< T, SIZE > &  lhs,
const etl::array< T, SIZE > &  rhs 
)

Less than or equal operator.

Parameters:
lhsThe first array.
rhsThe second array.
Returns:
true if the first array is lexicographically less than or equal to the second, otherwise false

Definition at line 612 of file array.h.

bool etl::operator<= ( const etl::array_wrapper< TL, SIZEL, ARRAYL > &  lhs,
const etl::array_wrapper< TR, SIZER, ARRAYR > &  rhs 
)

Less-than-equal for array wrapper.

Definition at line 374 of file array_wrapper.h.

bool etl::operator== ( const etl::array< T, SIZE > &  lhs,
const etl::array< T, SIZE > &  rhs 
)

Equal operator.

Parameters:
lhsThe first array.
rhsThe second array.
Returns:
true if the arrays are equal, otherwise false

Definition at line 573 of file array.h.

bool etl::operator== ( const etl::ibasic_string< T > &  lhs,
const T *  rhs 
)

Equal operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the arrays are equal, otherwise false

Definition at line 1996 of file basic_string.h.

bool etl::operator== ( const etl::ireference_flat_multiset< T, TKeyCompare > &  lhs,
const etl::ireference_flat_multiset< T, TKeyCompare > &  rhs 
)

Equal operator.

Parameters:
lhsReference to the first reference_flat_multiset.
rhsReference to the second reference_flat_multiset.
Returns:
true if the arrays are equal, otherwise false

Definition at line 850 of file reference_flat_multiset.h.

bool etl::operator== ( const etl::ireference_flat_multimap< TKey, TMapped, TKeyCompare > &  lhs,
const etl::ireference_flat_multimap< TKey, TMapped, TKeyCompare > &  rhs 
)

Equal operator.

Parameters:
lhsReference to the first reference_flat_multimap.
rhsReference to the second reference_flat_multimap.
Returns:
true if the arrays are equal, otherwise false

Definition at line 780 of file reference_flat_multimap.h.

bool etl::operator== ( const etl::array_wrapper< TL, SIZEL, ARRAYL > &  lhs,
const etl::array_wrapper< TR, SIZER, ARRAYR > &  rhs 
)

Equality for array wrappers.

Definition at line 334 of file array_wrapper.h.

bool etl::operator== ( const etl::ireference_flat_set< T, TKeyCompare > &  lhs,
const etl::ireference_flat_set< T, TKeyCompare > &  rhs 
)

Equal operator.

Parameters:
lhsReference to the first reference_flat_set.
rhsReference to the second reference_flat_set.
Returns:
true if the arrays are equal, otherwise false

Definition at line 832 of file reference_flat_set.h.

bool etl::operator== ( const etl::ibasic_string< T > &  lhs,
const etl::ibasic_string< T > &  rhs 
)

Equal operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the arrays are equal, otherwise false

Definition at line 1983 of file basic_string.h.

bool etl::operator== ( const T *  lhs,
const etl::ibasic_string< T > &  rhs 
)

Equal operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the arrays are equal, otherwise false

Definition at line 2009 of file basic_string.h.

bool etl::operator> ( const etl::ibasic_string< T > &  lhs,
const etl::ibasic_string< T > &  rhs 
)

Greater than operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the first string is lexicographically greater than the second, otherwise false

Definition at line 2103 of file basic_string.h.

bool etl::operator> ( const T *  lhs,
const etl::ibasic_string< T > &  rhs 
)

Greater than operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the first string is lexicographically greater than the second, otherwise false

Definition at line 2129 of file basic_string.h.

bool etl::operator> ( const etl::array< T, SIZE > &  lhs,
const etl::array< T, SIZE > &  rhs 
)

Greater than operator.

Parameters:
lhsThe first array.
rhsThe second array.
Returns:
true if the first array is lexicographically greater than the second, otherwise false

Definition at line 624 of file array.h.

bool etl::operator> ( const etl::array_wrapper< TL, SIZEL, ARRAYL > &  lhs,
const etl::array_wrapper< TR, SIZER, ARRAYR > &  rhs 
)

Greater-than for array wrapper.

Definition at line 364 of file array_wrapper.h.

bool etl::operator> ( const etl::ibasic_string< T > &  lhs,
const T *  rhs 
)

Greater than operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the first string is lexicographically greater than the second, otherwise false

Definition at line 2116 of file basic_string.h.

bool etl::operator>= ( const T *  lhs,
const etl::ibasic_string< T > &  rhs 
)

Greater than or equal operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the first string is lexicographically greater than or equal to the second, otherwise false

Definition at line 2209 of file basic_string.h.

bool etl::operator>= ( const etl::ibasic_string< T > &  lhs,
const T *  rhs 
)

Greater than or equal operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the first string is lexicographically greater than or equal to the second, otherwise false

Definition at line 2196 of file basic_string.h.

bool etl::operator>= ( const etl::array< T, SIZE > &  lhs,
const etl::array< T, SIZE > &  rhs 
)

Greater than or equal operator.

Parameters:
lhsThe first array.
rhsThe second array.
Returns:
true if the first array is lexicographically greater than or equal to the second, otherwise false

Definition at line 636 of file array.h.

bool etl::operator>= ( const etl::ibasic_string< T > &  lhs,
const etl::ibasic_string< T > &  rhs 
)

Greater than or equal operator.

Parameters:
lhsReference to the first string.
rhsReference to the second string.
Returns:
true if the first string is lexicographically greater than or equal to the second, otherwise false

Definition at line 2183 of file basic_string.h.

bool etl::operator>= ( const etl::array_wrapper< TL, SIZEL, ARRAYL > &  lhs,
const etl::array_wrapper< TR, SIZER, ARRAYR > &  rhs 
)

Greater-than-equal for array wrapper.

Definition at line 384 of file array_wrapper.h.

uint_least8_t parity ( uint8_t  value )

Parity. 8bits. 0 = even, 1 = odd.

Parity. 0 = even, 1 = odd.

Definition at line 253 of file binary.cpp.

uint_least8_t parity ( uint16_t  value )

Parity. 16bits. 0 = even, 1 = odd.

Definition at line 264 of file binary.cpp.

uint_least8_t parity ( uint32_t  value )

Parity. 32bits. 0 = even, 1 = odd.

Definition at line 275 of file binary.cpp.

uint_least8_t parity ( uint64_t  value )

Parity. 64bits. 0 = even, 1 = odd.

Definition at line 287 of file binary.cpp.

uint16_t reverse_bits ( uint16_t  value )

Reverse 16 bits.

Definition at line 53 of file binary.cpp.

uint64_t reverse_bits ( uint64_t  value )

Reverse 64 bits.

Definition at line 80 of file binary.cpp.

uint32_t reverse_bits ( uint32_t  value )

Reverse 32 bits.

Definition at line 66 of file binary.cpp.

uint8_t reverse_bits ( uint8_t  value )

Reverse 8 bits.

Reverse bits.

Definition at line 40 of file binary.cpp.

uint16_t reverse_bytes ( uint16_t  value )

Reverse bytes 16 bit.

Definition at line 95 of file binary.cpp.

uint64_t reverse_bytes ( uint64_t  value )

Reverse bytes 64 bit.

Definition at line 116 of file binary.cpp.

uint32_t reverse_bytes ( uint32_t  value )

Reverse bytes 32 bit.

Definition at line 105 of file binary.cpp.

uint8_t etl::reverse_bytes ( uint8_t  value )

Reverse bytes.

Definition at line 171 of file binary.h.

T etl::rotate ( value,
typename etl::make_signed< size_t >::type  distance 
)

Rotate.

Positive is left, negative is right.

Definition at line 135 of file binary.h.

T etl::rotate_left ( value )

Rotate left.

Definition at line 78 of file binary.h.

T etl::rotate_left ( value,
size_t  distance 
)

Rotate left.

Definition at line 91 of file binary.h.

T etl::rotate_right ( value )

Rotate right.

Definition at line 106 of file binary.h.

T etl::rotate_right ( value,
size_t  distance 
)

Rotate right.

Definition at line 119 of file binary.h.

static void etl::send_message ( etl::imessage_router &  source,
etl::imessage_bus bus,
const etl::imessage &  message 
) [static]

Send a message to a bus.

Definition at line 369 of file message_bus.h.

static void etl::send_message ( etl::imessage_router &  destination,
const etl::imessage &  message 
) [static]

Send a message to a router.

Sets the 'sender' to etl::null_message_router type.

Definition at line 223 of file message_router.h.

static void etl::send_message ( etl::imessage_router &  source,
etl::imessage_bus bus,
etl::message_router_id_t  id,
const etl::imessage &  message 
) [static]

Send a message to a bus.

Definition at line 379 of file message_bus.h.

static void etl::send_message ( etl::imessage_bus bus,
const etl::imessage &  message 
) [static]

Send a message to a bus.

Definition at line 350 of file message_bus.h.

static void etl::send_message ( etl::imessage_router &  source,
etl::imessage_router &  destination,
const etl::imessage &  message 
) [static]

Send a message to a router.

Definition at line 232 of file message_router.h.

static void etl::send_message ( etl::imessage_bus bus,
etl::message_router_id_t  id,
const etl::imessage &  message 
) [static]

Send a message to a bus.

Definition at line 359 of file message_bus.h.

TReturn etl::sign_extend ( TValue  value,
const size_t  NBITS 
)

Sign extend.

Converts an N bit binary number, where bit N-1 is the sign bit, to a signed integral type.

Definition at line 316 of file binary.h.

TReturn etl::sign_extend ( TValue  value )

Sign extend.

Converts an N bit binary number, where bit N-1 is the sign bit, to a signed integral type.

Definition at line 266 of file binary.h.

TReturn etl::sign_extend ( TValue  value,
const size_t  NBITS,
const size_t  SHIFT 
)

Sign extend.

Converts an N bit binary number, where bit N-1 is the sign bit, and SHIFT is the right shift amount, to a signed integral type.

Definition at line 341 of file binary.h.

TReturn etl::sign_extend ( TValue  value )

Sign extend.

Converts an N bit binary number, where bit N-1 is the sign bit, and SHIFT is the right shift amount, to a signed integral type.

Definition at line 291 of file binary.h.

size_t etl::strlen ( const T *  t )

Alternative strlen for all character types.

Definition at line 78 of file basic_string.h.

void etl::swap ( etl::array< T, SIZE > &  lhs,
etl::array< T, SIZE > &  rhs 
)

Overloaded swap for etl::array<T, SIZE>

Parameters:
lhsThe first array.
rhsThe second array.

Definition at line 561 of file array.h.


Variable Documentation

const nullopt_t nullopt = {}

A null option.

Definition at line 67 of file optional.h.