Embedded Template Library 1.0
|
Classes | |
class | etl::map_exception |
class | etl::map_full |
class | etl::map_out_of_bounds |
class | etl::map_iterator |
class | etl::map_base |
class | etl::imap< TKey, TMapped, TKeyCompare > |
class | etl::multimap_exception |
class | etl::multimap_full |
class | etl::multimap_out_of_bounds |
class | etl::multimap_iterator |
class | etl::multimap_base |
class | etl::imultimap< TKey, TMapped, TKeyCompare > |
A map with the capacity defined at compile time.
class etl::map_exception |
Exception for the map.
Public Member Functions | |
map_exception (string_type reason_, string_type file_name_, numeric_type line_number_) | |
![]() | |
ETL_CONSTEXPR | exception (string_type reason_, string_type, numeric_type line_) |
Constructor. | |
ETL_CONSTEXPR string_type | what () const |
ETL_CONSTEXPR string_type | file_name () const |
ETL_CONSTEXPR numeric_type | line_number () const |
Additional Inherited Members | |
![]() | |
typedef const char * | string_type |
typedef int | numeric_type |
class etl::map_full |
Full exception for the map.
Public Member Functions | |
map_full (string_type file_name_, numeric_type line_number_) | |
![]() | |
map_exception (string_type reason_, string_type file_name_, numeric_type line_number_) | |
![]() | |
ETL_CONSTEXPR | exception (string_type reason_, string_type, numeric_type line_) |
Constructor. | |
ETL_CONSTEXPR string_type | what () const |
ETL_CONSTEXPR string_type | file_name () const |
ETL_CONSTEXPR numeric_type | line_number () const |
Additional Inherited Members | |
![]() | |
typedef const char * | string_type |
typedef int | numeric_type |
class etl::map_out_of_bounds |
Map out of bounds exception.
Public Member Functions | |
map_out_of_bounds (string_type file_name_, numeric_type line_number_) | |
![]() | |
map_exception (string_type reason_, string_type file_name_, numeric_type line_number_) | |
![]() | |
ETL_CONSTEXPR | exception (string_type reason_, string_type, numeric_type line_) |
Constructor. | |
ETL_CONSTEXPR string_type | what () const |
ETL_CONSTEXPR string_type | file_name () const |
ETL_CONSTEXPR numeric_type | line_number () const |
Additional Inherited Members | |
![]() | |
typedef const char * | string_type |
typedef int | numeric_type |
class etl::map_iterator |
Iterator exception for the map.
Public Member Functions | |
map_iterator (string_type file_name_, numeric_type line_number_) | |
![]() | |
map_exception (string_type reason_, string_type file_name_, numeric_type line_number_) | |
![]() | |
ETL_CONSTEXPR | exception (string_type reason_, string_type, numeric_type line_) |
Constructor. | |
ETL_CONSTEXPR string_type | what () const |
ETL_CONSTEXPR string_type | file_name () const |
ETL_CONSTEXPR numeric_type | line_number () const |
Additional Inherited Members | |
![]() | |
typedef const char * | string_type |
typedef int | numeric_type |
class etl::map_base |
The base class for all maps.
Public Types | |
typedef size_t | size_type |
The type used for determining the size of map. | |
Public Member Functions | |
size_type | size () const |
Gets the size of the map. | |
size_type | max_size () const |
Gets the maximum possible size of the map. | |
bool | empty () const |
Checks to see if the map is empty. | |
bool | full () const |
Checks to see if the map is full. | |
size_type | capacity () const |
size_t | available () const |
Protected Types | |
enum | { kLeft = 0 , kRight = 1 , kNeither = 2 } |
Protected Member Functions | |
map_base (size_type max_size_) | |
The constructor that is called from derived classes. | |
~map_base () | |
Destructor. | |
void | balance_node (Node *&critical_node) |
Balance the critical node at the position provided as needed. | |
void | rotate_2node (Node *&position, uint_least8_t dir) |
Rotate two nodes at the position provided the to balance the tree. | |
void | rotate_3node (Node *&position, uint_least8_t dir, uint_least8_t third) |
Rotate three nodes at the position provided the to balance the tree. | |
Node * | find_limit_node (Node *position, const int8_t dir) const |
const Node * | find_limit_node (const Node *position, const int8_t dir) const |
void | attach_node (Node *&position, Node &node) |
Attach the provided node to the position provided. | |
void | detach_node (Node *&position, Node *&replacement) |
Detach the node at the position provided. | |
Protected Attributes | |
size_type | current_size |
The number of the used nodes. | |
const size_type | CAPACITY |
The maximum size of the map. | |
Node * | root_node |
The node that acts as the map root. | |
|
inline |
Returns the remaining capacity.
|
inline |
Returns the capacity of the vector.
|
inlineprotected |
Find the node whose key would go before all the other keys from the position provided
class etl::imap |
A templated base for all etl::map types.
Public Types | |
typedef TKey | key_type |
typedef ETL_OR_STD::pair< const TKey, TMapped > | value_type |
typedef TMapped | mapped_type |
typedef TKeyCompare | key_compare |
typedef value_type & | reference |
typedef const value_type & | const_reference |
typedef value_type * | pointer |
typedef const value_type * | const_pointer |
typedef size_t | size_type |
typedef const key_type & | const_key_reference |
Defines the parameter types. | |
typedef mapped_type & | mapped_reference |
typedef const mapped_type & | const_mapped_reference |
typedef etl::iterator_traits< iterator >::difference_type | difference_type |
typedef ETL_OR_STD::reverse_iterator< iterator > | reverse_iterator |
typedef ETL_OR_STD::reverse_iterator< const_iterator > | const_reverse_iterator |
![]() | |
typedef size_t | size_type |
The type used for determining the size of map. | |
Public Member Functions | |
iterator | begin () |
Gets the beginning of the map. | |
const_iterator | begin () const |
Gets the beginning of the map. | |
iterator | end () |
Gets the end of the map. | |
const_iterator | end () const |
Gets the end of the map. | |
const_iterator | cbegin () const |
Gets the beginning of the map. | |
const_iterator | cend () const |
Gets the end of the map. | |
reverse_iterator | rbegin () |
Gets the reverse beginning of the list. | |
const_reverse_iterator | rbegin () const |
Gets the reverse beginning of the list. | |
reverse_iterator | rend () |
Gets the reverse end of the list. | |
const_reverse_iterator | rend () const |
Gets the reverse end of the list. | |
const_reverse_iterator | crbegin () const |
Gets the reverse beginning of the list. | |
const_reverse_iterator | crend () const |
Gets the reverse end of the list. | |
mapped_reference | operator[] (const_key_reference key) |
mapped_reference | at (const_key_reference key) |
const_mapped_reference | at (const_key_reference key) const |
template<typename TIterator > | |
void | assign (TIterator first, TIterator last) |
void | clear () |
Clears the map. | |
size_type | count (const_key_reference key) const |
ETL_OR_STD::pair< iterator, iterator > | equal_range (const_key_reference key) |
ETL_OR_STD::pair< const_iterator, const_iterator > | equal_range (const_key_reference key) const |
iterator | erase (const_iterator position) |
Erases the value at the specified position. | |
size_type | erase (const_key_reference key) |
iterator | erase (const_iterator first, const_iterator last) |
Erases a range of elements. | |
iterator | find (const_key_reference key) |
const_iterator | find (const_key_reference key) const |
ETL_OR_STD::pair< iterator, bool > | insert (const_reference value) |
iterator | insert (const_iterator, const_reference value) |
template<class TIterator > | |
void | insert (TIterator first, TIterator last) |
iterator | lower_bound (const_key_reference key) |
const_iterator | lower_bound (const_key_reference key) const |
iterator | upper_bound (const_key_reference key) |
const_iterator | upper_bound (const_key_reference key) const |
imap & | operator= (const imap &rhs) |
Assignment operator. | |
key_compare | key_comp () const |
How to compare two key elements. | |
value_compare | value_comp () const |
How to compare two value elements. | |
bool | contains (const TKey &key) const |
Check if the map contains the key. | |
![]() | |
size_type | size () const |
Gets the size of the map. | |
size_type | max_size () const |
Gets the maximum possible size of the map. | |
bool | empty () const |
Checks to see if the map is empty. | |
bool | full () const |
Checks to see if the map is full. | |
size_type | capacity () const |
size_t | available () const |
Protected Member Functions | |
bool | node_comp (const Data_Node &node1, const Data_Node &node2) const |
How to compare node elements. | |
bool | node_comp (const Data_Node &node, const_key_reference key) const |
bool | node_comp (const_key_reference key, const Data_Node &node) const |
imap (etl::ipool &node_pool, size_t max_size_) | |
Constructor. | |
void | initialise () |
Initialise the map. | |
~imap () | |
Destructor. | |
![]() | |
map_base (size_type max_size_) | |
The constructor that is called from derived classes. | |
~map_base () | |
Destructor. | |
void | balance_node (Node *&critical_node) |
Balance the critical node at the position provided as needed. | |
void | rotate_2node (Node *&position, uint_least8_t dir) |
Rotate two nodes at the position provided the to balance the tree. | |
void | rotate_3node (Node *&position, uint_least8_t dir, uint_least8_t third) |
Rotate three nodes at the position provided the to balance the tree. | |
Node * | find_limit_node (Node *position, const int8_t dir) const |
const Node * | find_limit_node (const Node *position, const int8_t dir) const |
void | attach_node (Node *&position, Node &node) |
Attach the provided node to the position provided. | |
void | detach_node (Node *&position, Node *&replacement) |
Detach the node at the position provided. | |
Friends | |
class | iterator |
class | const_iterator |
Additional Inherited Members | |
![]() | |
enum | { kLeft = 0 , kRight = 1 , kNeither = 2 } |
![]() | |
size_type | current_size |
The number of the used nodes. | |
const size_type | CAPACITY |
The maximum size of the map. | |
Node * | root_node |
The node that acts as the map root. | |
|
inline |
Assigns values to the map. If asserts or exceptions are enabled, emits map_full if the map does not have enough free space. If asserts or exceptions are enabled, emits map_iterator if the iterators are reversed.
first | The iterator to the first element. |
last | The iterator to the last element + 1. |
|
inline |
Returns a reference to the value at index 'key' If asserts or exceptions are enabled, emits an etl::lookup_out_of_bounds if the key is not in the range.
key | The key. |
|
inline |
Returns a const reference to the value at index 'key' If asserts or exceptions are enabled, emits an etl::lookup_out_of_bounds if the key is not in the range.
key | The key. |
|
inline |
Counts the number of elements that contain the key specified.
key | The key to search for. |
|
inline |
Returns two iterators with bounding (lower bound, upper bound) the key provided
|
inline |
Returns two const iterators with bounding (lower bound, upper bound) the key provided.
|
inline |
Finds an element.
key | The key to search for. |
|
inline |
Finds an element.
key | The key to search for. |
|
inline |
Inserts a value to the map starting at the position recommended. If asserts or exceptions are enabled, emits map_full if the map is already full.
position | The position that would precede the value to insert. |
value | The value to insert. |
|
inline |
Inserts a value to the map. If asserts or exceptions are enabled, emits map_full if the map is already full.
value | The value to insert. |
|
inline |
Inserts a range of values to the map. If asserts or exceptions are enabled, emits map_full if the map does not have enough free space.
position | The position to insert at. |
first | The first element to add. |
last | The last + 1 element to add. |
|
inline |
|
inline |
Returns a const_iterator pointing to the first element in the container whose key is not considered to go before the key provided or end() if all keys are considered to go before the key provided.
|
inline |
Returns a reference to the value at index 'key'
key | The key. |
|
inline |
|
inline |
Returns a const_iterator pointing to the first element in the container whose key is not considered to go after the key provided or end() if all keys are considered to go after the key provided.
class etl::multimap_exception |
Exception for the map.
Public Member Functions | |
multimap_exception (string_type reason_, string_type file_name_, numeric_type line_number_) | |
![]() | |
ETL_CONSTEXPR | exception (string_type reason_, string_type, numeric_type line_) |
Constructor. | |
ETL_CONSTEXPR string_type | what () const |
ETL_CONSTEXPR string_type | file_name () const |
ETL_CONSTEXPR numeric_type | line_number () const |
Additional Inherited Members | |
![]() | |
typedef const char * | string_type |
typedef int | numeric_type |
class etl::multimap_full |
Full exception for the map.
Public Member Functions | |
multimap_full (string_type file_name_, numeric_type line_number_) | |
![]() | |
multimap_exception (string_type reason_, string_type file_name_, numeric_type line_number_) | |
![]() | |
ETL_CONSTEXPR | exception (string_type reason_, string_type, numeric_type line_) |
Constructor. | |
ETL_CONSTEXPR string_type | what () const |
ETL_CONSTEXPR string_type | file_name () const |
ETL_CONSTEXPR numeric_type | line_number () const |
Additional Inherited Members | |
![]() | |
typedef const char * | string_type |
typedef int | numeric_type |
class etl::multimap_out_of_bounds |
Map out of bounds exception.
Public Member Functions | |
multimap_out_of_bounds (string_type file_name_, numeric_type line_number_) | |
![]() | |
multimap_exception (string_type reason_, string_type file_name_, numeric_type line_number_) | |
![]() | |
ETL_CONSTEXPR | exception (string_type reason_, string_type, numeric_type line_) |
Constructor. | |
ETL_CONSTEXPR string_type | what () const |
ETL_CONSTEXPR string_type | file_name () const |
ETL_CONSTEXPR numeric_type | line_number () const |
Additional Inherited Members | |
![]() | |
typedef const char * | string_type |
typedef int | numeric_type |
class etl::multimap_iterator |
Iterator exception for the map.
Public Member Functions | |
multimap_iterator (string_type file_name_, numeric_type line_number_) | |
![]() | |
multimap_exception (string_type reason_, string_type file_name_, numeric_type line_number_) | |
![]() | |
ETL_CONSTEXPR | exception (string_type reason_, string_type, numeric_type line_) |
Constructor. | |
ETL_CONSTEXPR string_type | what () const |
ETL_CONSTEXPR string_type | file_name () const |
ETL_CONSTEXPR numeric_type | line_number () const |
Additional Inherited Members | |
![]() | |
typedef const char * | string_type |
typedef int | numeric_type |
class etl::multimap_base |
The base class for all maps.
Public Types | |
typedef size_t | size_type |
The type used for determining the size of map. | |
Public Member Functions | |
size_type | size () const |
Gets the size of the map. | |
size_type | max_size () const |
Gets the maximum possible size of the map. | |
bool | empty () const |
Checks to see if the map is empty. | |
bool | full () const |
Checks to see if the map is full. | |
size_type | capacity () const |
size_t | available () const |
Protected Types | |
enum | { kLeft , kRight , kNeither } |
Protected Member Functions | |
multimap_base (size_type max_size_) | |
The constructor that is called from derived classes. | |
~multimap_base () | |
The constructor that is called from derived classes. | |
void | balance_node (Node *&critical_node) |
Balance the critical node at the position provided as needed. | |
void | rotate_2node (Node *&position, uint_least8_t dir) |
Rotate two nodes at the position provided the to balance the tree. | |
void | rotate_3node (Node *&position, uint_least8_t dir, uint_least8_t third) |
Rotate three nodes at the position provided the to balance the tree. | |
void | next_node (Node *&position) const |
Find the next node in sequence from the node provided. | |
void | next_node (const Node *&position) const |
Find the next node in sequence from the node provided. | |
void | prev_node (Node *&position) const |
Find the previous node in sequence from the node provided. | |
void | prev_node (const Node *&position) const |
Find the previous node in sequence from the node provided. | |
Node * | find_limit_node (Node *position, const int8_t dir) const |
void | attach_node (Node *parent, Node *&position, Node &node) |
Attach the provided node to the position provided. | |
void | detach_node (Node *&position, Node *&replacement) |
Detach the node at the position provided. | |
Protected Attributes | |
size_type | current_size |
The number of the used nodes. | |
const size_type | CAPACITY |
The maximum size of the map. | |
Node * | root_node |
The node that acts as the multimap root. | |
|
inline |
Returns the remaining capacity.
|
inline |
Returns the capacity of the vector.
class etl::imultimap |
A templated base for all etl::multimap types.
Public Types | |
typedef ETL_OR_STD::pair< const TKey, TMapped > | value_type |
typedef const TKey | key_type |
typedef TMapped | mapped_type |
typedef TKeyCompare | key_compare |
typedef value_type & | reference |
typedef const value_type & | const_reference |
typedef value_type * | pointer |
typedef const value_type * | const_pointer |
typedef size_t | size_type |
typedef const key_type & | const_key_reference |
typedef etl::iterator_traits< iterator >::difference_type | difference_type |
typedef ETL_OR_STD::reverse_iterator< iterator > | reverse_iterator |
typedef ETL_OR_STD::reverse_iterator< const_iterator > | const_reverse_iterator |
![]() | |
typedef size_t | size_type |
The type used for determining the size of map. | |
Public Member Functions | |
iterator | begin () |
Gets the beginning of the multimap. | |
const_iterator | begin () const |
Gets the beginning of the multimap. | |
iterator | end () |
Gets the end of the multimap. | |
const_iterator | end () const |
Gets the end of the multimap. | |
const_iterator | cbegin () const |
Gets the beginning of the multimap. | |
const_iterator | cend () const |
Gets the end of the multimap. | |
reverse_iterator | rbegin () |
Gets the reverse beginning of the list. | |
const_reverse_iterator | rbegin () const |
Gets the reverse beginning of the list. | |
reverse_iterator | rend () |
Gets the reverse end of the list. | |
const_reverse_iterator | rend () const |
Gets the reverse end of the list. | |
const_reverse_iterator | crbegin () const |
Gets the reverse beginning of the list. | |
const_reverse_iterator | crend () const |
Gets the reverse end of the list. | |
template<typename TIterator > | |
void | assign (TIterator first, TIterator last) |
void | clear () |
Clears the multimap. | |
size_type | count (const_key_reference key) const |
ETL_OR_STD::pair< iterator, iterator > | equal_range (const_key_reference key) |
ETL_OR_STD::pair< const_iterator, const_iterator > | equal_range (const_key_reference key) const |
iterator | erase (iterator position) |
Erases the value at the specified position. | |
iterator | erase (const_iterator position) |
Erases the value at the specified position. | |
size_type | erase (const_key_reference key) |
iterator | erase (const_iterator first, const_iterator last) |
Erases a range of elements. | |
iterator | find (const_key_reference key) |
const_iterator | find (const_key_reference key) const |
iterator | insert (const_reference value) |
iterator | insert (const_iterator, const_reference value) |
template<class TIterator > | |
void | insert (TIterator first, TIterator last) |
iterator | lower_bound (const_key_reference key) |
const_iterator | lower_bound (const_key_reference key) const |
iterator | upper_bound (const_key_reference key) |
const_iterator | upper_bound (const_key_reference key) const |
imultimap & | operator= (const imultimap &rhs) |
Assignment operator. | |
key_compare | key_comp () const |
How to compare two key elements. | |
value_compare | value_comp () const |
How to compare two value elements. | |
bool | contains (const TKey &key) const |
Check if the map contains the key. | |
![]() | |
size_type | size () const |
Gets the size of the map. | |
size_type | max_size () const |
Gets the maximum possible size of the map. | |
bool | empty () const |
Checks to see if the map is empty. | |
bool | full () const |
Checks to see if the map is full. | |
size_type | capacity () const |
size_t | available () const |
Protected Member Functions | |
bool | node_comp (const Data_Node &node1, const Data_Node &node2) const |
How to compare node elements. | |
bool | node_comp (const Data_Node &node, const_key_reference key) const |
bool | node_comp (const_key_reference key, const Data_Node &node) const |
imultimap (etl::ipool &node_pool, size_t max_size_) | |
Constructor. | |
void | initialise () |
Initialise the multimap. | |
~imultimap () | |
Destructor. | |
![]() | |
multimap_base (size_type max_size_) | |
The constructor that is called from derived classes. | |
~multimap_base () | |
The constructor that is called from derived classes. | |
void | balance_node (Node *&critical_node) |
Balance the critical node at the position provided as needed. | |
void | rotate_2node (Node *&position, uint_least8_t dir) |
Rotate two nodes at the position provided the to balance the tree. | |
void | rotate_3node (Node *&position, uint_least8_t dir, uint_least8_t third) |
Rotate three nodes at the position provided the to balance the tree. | |
void | next_node (Node *&position) const |
Find the next node in sequence from the node provided. | |
void | next_node (const Node *&position) const |
Find the next node in sequence from the node provided. | |
void | prev_node (Node *&position) const |
Find the previous node in sequence from the node provided. | |
void | prev_node (const Node *&position) const |
Find the previous node in sequence from the node provided. | |
Node * | find_limit_node (Node *position, const int8_t dir) const |
void | attach_node (Node *parent, Node *&position, Node &node) |
Attach the provided node to the position provided. | |
void | detach_node (Node *&position, Node *&replacement) |
Detach the node at the position provided. | |
Friends | |
class | iterator |
class | const_iterator |
Additional Inherited Members | |
![]() | |
enum | { kLeft , kRight , kNeither } |
![]() | |
size_type | current_size |
The number of the used nodes. | |
const size_type | CAPACITY |
The maximum size of the map. | |
Node * | root_node |
The node that acts as the multimap root. | |
|
inline |
Assigns values to the multimap. If asserts or exceptions are enabled, emits map_full if the multimap does not have enough free space. If asserts or exceptions are enabled, emits map_iterator if the iterators are reversed.
first | The iterator to the first element. |
last | The iterator to the last element + 1. |
|
inline |
Counts the number of elements that contain the key specified.
key | The key to search for. |
|
inline |
Returns two iterators with bounding (lower bound, upper bound) the key provided
|
inline |
Returns two const iterators with bounding (lower bound, upper bound) the key provided.
|
inline |
Finds an element.
key | The key to search for. |
|
inline |
Finds an element.
key | The key to search for. |
|
inline |
Inserts a value to the multimap starting at the position recommended. If asserts or exceptions are enabled, emits map_full if the multimap is already full.
position | The position that would precede the value to insert. |
value | The value to insert. |
|
inline |
Inserts a value to the multimap. If asserts or exceptions are enabled, emits map_full if the multimap is already full.
value | The value to insert. |
|
inline |
Inserts a range of values to the multimap. If asserts or exceptions are enabled, emits map_full if the multimap does not have enough free space.
position | The position to insert at. |
first | The first element to add. |
last | The last + 1 element to add. |
|
inline |
|
inline |
Returns a const_iterator pointing to the first element in the container whose key is not considered to go before the key provided or end() if all keys are considered to go before the key provided.
|
inline |
|
inline |
Returns a const_iterator pointing to the first element in the container whose key is not considered to go after the key provided or end() if all keys are considered to go after the key provided.