31#ifndef ETL_ARRAY_INCLUDED
32#define ETL_ARRAY_INCLUDED
43#include "static_assert.h"
62 array_exception(string_type reason_, string_type file_name_, numeric_type line_number_)
63 :
exception(reason_, file_name_, line_number_)
72 class array_out_of_range :
public array_exception
76 array_out_of_range(string_type file_name_, numeric_type line_number_)
77 : array_exception(
"array:range", file_name_, line_number_)
86 template <
typename T,
size_t SIZE_>
95 static ETL_CONSTANT
size_t SIZE = SIZE_;
98 typedef size_t size_type;
99 typedef ptrdiff_t difference_type;
100 typedef T& reference;
101 typedef const T& const_reference;
103 typedef const T* const_pointer;
105 typedef const T* const_iterator;
106 typedef ETL_OR_STD::reverse_iterator<iterator> reverse_iterator;
107 typedef ETL_OR_STD::reverse_iterator<const_iterator> const_reverse_iterator;
117 ETL_NODISCARD ETL_CONSTEXPR14 reference
at(
size_t i) ETL_NOEXCEPT_EXPR(ETL_NOT_USING_EXCEPTIONS)
128 ETL_NODISCARD ETL_CONSTEXPR14 const_reference
at(
size_t i)
const ETL_NOEXCEPT_EXPR(ETL_NOT_USING_EXCEPTIONS)
140 ETL_NODISCARD ETL_CONSTEXPR14 reference
operator[](
size_t i) ETL_NOEXCEPT_EXPR(ETL_NOT_USING_EXCEPTIONS || ETL_NOT_CHECKING_INDEX_OPERATOR)
152 ETL_NODISCARD ETL_CONSTEXPR const_reference
operator[](
size_t i)
const ETL_NOEXCEPT_EXPR(ETL_NOT_USING_EXCEPTIONS || ETL_NOT_CHECKING_INDEX_OPERATOR)
155#if ETL_USING_CPP11 && ETL_NOT_USING_CPP14 && ETL_USING_EXCEPTIONS && ETL_CHECKING_INDEX_OPERATOR
167 ETL_NODISCARD ETL_CONSTEXPR14 reference
front() ETL_NOEXCEPT
169 ETL_STATIC_ASSERT(SIZE > 0,
"Array is empty.");
177 ETL_NODISCARD ETL_CONSTEXPR const_reference
front() const ETL_NOEXCEPT
179 ETL_STATIC_ASSERT(SIZE > 0,
"Array is empty.");
187 ETL_NODISCARD ETL_CONSTEXPR14 reference
back() ETL_NOEXCEPT
189 ETL_STATIC_ASSERT(SIZE > 0,
"Array is empty.");
197 ETL_NODISCARD ETL_CONSTEXPR const_reference
back() const ETL_NOEXCEPT
199 ETL_STATIC_ASSERT(SIZE > 0,
"Array is empty.");
207 ETL_NODISCARD ETL_CONSTEXPR14 pointer
data() ETL_NOEXCEPT
215 ETL_NODISCARD ETL_CONSTEXPR const_pointer
data() const ETL_NOEXCEPT
227 ETL_NODISCARD ETL_CONSTEXPR14 iterator
begin() ETL_NOEXCEPT
235 ETL_NODISCARD ETL_CONSTEXPR const_iterator
begin() const ETL_NOEXCEPT
243 ETL_NODISCARD ETL_CONSTEXPR const_iterator
cbegin() const ETL_NOEXCEPT
251 ETL_NODISCARD ETL_CONSTEXPR14 iterator
end() ETL_NOEXCEPT
259 ETL_NODISCARD ETL_CONSTEXPR const_iterator
end() const ETL_NOEXCEPT
275 ETL_NODISCARD ETL_CONSTEXPR14 reverse_iterator
rbegin() ETL_NOEXCEPT
277 return reverse_iterator(
end());
283 ETL_NODISCARD ETL_CONSTEXPR const_reverse_iterator
rbegin() const ETL_NOEXCEPT
285 return const_reverse_iterator(
end());
291 ETL_NODISCARD ETL_CONSTEXPR const_reverse_iterator
crbegin() const ETL_NOEXCEPT
293 return const_reverse_iterator(
end());
299 ETL_NODISCARD ETL_CONSTEXPR14 reverse_iterator
rend() ETL_NOEXCEPT
301 return reverse_iterator(
begin());
307 ETL_NODISCARD ETL_CONSTEXPR const_reverse_iterator
rend() const ETL_NOEXCEPT
309 return const_reverse_iterator(
begin());
315 ETL_NODISCARD ETL_CONSTEXPR const_reverse_iterator
crend() const ETL_NOEXCEPT
317 return const_reverse_iterator(
begin());
327 ETL_NODISCARD ETL_CONSTEXPR
bool empty() const ETL_NOEXCEPT
335 ETL_NODISCARD ETL_CONSTEXPR
size_t size() const ETL_NOEXCEPT
343 ETL_NODISCARD ETL_CONSTEXPR
size_t max_size() const ETL_NOEXCEPT
356 ETL_CONSTEXPR14
void fill(parameter_t value)
365 ETL_CONSTEXPR14
void swap(
array& other) ETL_NOEXCEPT_FROM(ETL_OR_STD::swap(etl::declval<T&>(), etl::declval<T&>()))
367 using ETL_OR_STD::swap;
369 for (
size_t i = 0UL; i < SIZE; ++i)
383 template <
typename TIterator>
384 iterator
assign(TIterator first,
const TIterator last)
397 template <
typename TIterator>
398 iterator
assign(TIterator first,
const TIterator last, parameter_t value)
404 etl::fill(p,
end(), value);
414 inline iterator
insert_at(
size_t position, parameter_t value)
426 iterator
insert(const_iterator position, parameter_t value)
430 iterator p = to_iterator(position);
432 etl::move_backward(p,
end() - 1,
end());
444 template <
typename TIterator>
445 inline iterator
insert_at(
size_t position, TIterator first,
const TIterator last)
458 template <
typename TIterator>
459 iterator
insert(const_iterator position, TIterator first,
const TIterator last)
463 iterator p = to_iterator(position);
466 size_t source_size =
static_cast<size_t>(etl::distance(first, last));
467 size_t destination_space =
static_cast<size_t>(etl::distance(position, cend()));
470 if (source_size < destination_space)
472 size_t length = SIZE - (
static_cast<size_t>(etl::distance(
begin(), p)) + source_size);
473 etl::move_backward(p, p + length,
end());
499 iterator
erase(const_iterator position)
503 iterator p = to_iterator(position);
504 etl::move(p + 1,
end(), p);
528 iterator
erase(const_iterator first, const_iterator last)
532 iterator p = to_iterator(first);
533 etl::move(last, cend(), p);
543 inline iterator
erase_at(
size_t position, parameter_t value)
556 iterator
erase(const_iterator position, parameter_t value)
560 iterator p = to_iterator(position);
562 etl::move(p + 1,
end(), p);
575 iterator
erase_range(
size_t first,
size_t last, parameter_t value)
589 iterator
erase(const_iterator first, const_iterator last, parameter_t value)
593 iterator p = to_iterator(first);
595 p = etl::move(last, cend(), p);
596 etl::fill(p,
end(), value);
598 return to_iterator(first);
609 iterator to_iterator(const_iterator itr)
const
611 return const_cast<iterator
>(itr);
615 template <
typename T,
size_t SIZE_>
616 ETL_CONSTANT
size_t array<T, SIZE_>::SIZE;
623 template <
typename T>
632 static ETL_CONSTANT
size_t SIZE = 0;
634 typedef T value_type;
635 typedef size_t size_type;
636 typedef ptrdiff_t difference_type;
637 typedef T& reference;
638 typedef const T& const_reference;
640 typedef const T* const_pointer;
642 typedef const T* const_iterator;
643 typedef ETL_OR_STD::reverse_iterator<iterator> reverse_iterator;
644 typedef ETL_OR_STD::reverse_iterator<const_iterator> const_reverse_iterator;
654 ETL_NODISCARD ETL_CONSTEXPR14 reference
at(
size_t) ETL_NOEXCEPT
663 ETL_NODISCARD ETL_CONSTEXPR14 const_reference
at(
size_t)
const ETL_NOEXCEPT
673 ETL_NODISCARD ETL_CONSTEXPR14 reference
operator[](
size_t) ETL_NOEXCEPT
683 ETL_NODISCARD ETL_CONSTEXPR const_reference
operator[](
size_t)
const ETL_NOEXCEPT
691 ETL_NODISCARD ETL_CONSTEXPR14 reference
front() ETL_NOEXCEPT
699 ETL_NODISCARD ETL_CONSTEXPR const_reference
front() const ETL_NOEXCEPT
707 ETL_NODISCARD ETL_CONSTEXPR14 reference
back() ETL_NOEXCEPT
715 ETL_NODISCARD ETL_CONSTEXPR const_reference
back()
const
723 ETL_NODISCARD ETL_CONSTEXPR14 pointer
data() ETL_NOEXCEPT
731 ETL_NODISCARD ETL_CONSTEXPR const_pointer
data() const ETL_NOEXCEPT
743 ETL_NODISCARD ETL_CONSTEXPR14 iterator
begin() ETL_NOEXCEPT
751 ETL_NODISCARD ETL_CONSTEXPR const_iterator
begin() const ETL_NOEXCEPT
753 return const_iterator();
759 ETL_NODISCARD ETL_CONSTEXPR const_iterator
cbegin() const ETL_NOEXCEPT
761 return const_iterator();
767 ETL_NODISCARD ETL_CONSTEXPR14 iterator
end() ETL_NOEXCEPT
775 ETL_NODISCARD ETL_CONSTEXPR const_iterator
end() const ETL_NOEXCEPT
777 return const_iterator();
791 ETL_NODISCARD ETL_CONSTEXPR14 reverse_iterator
rbegin() ETL_NOEXCEPT
793 return reverse_iterator(
end());
799 ETL_NODISCARD ETL_CONSTEXPR const_reverse_iterator
rbegin() const ETL_NOEXCEPT
801 return const_reverse_iterator(
end());
807 ETL_NODISCARD ETL_CONSTEXPR const_reverse_iterator
crbegin() const ETL_NOEXCEPT
809 return const_reverse_iterator(
end());
815 ETL_NODISCARD ETL_CONSTEXPR14 reverse_iterator
rend() ETL_NOEXCEPT
817 return reverse_iterator(
begin());
823 ETL_NODISCARD ETL_CONSTEXPR const_reverse_iterator
rend() const ETL_NOEXCEPT
825 return const_reverse_iterator(
begin());
831 ETL_NODISCARD ETL_CONSTEXPR const_reverse_iterator
crend() const ETL_NOEXCEPT
833 return const_reverse_iterator(
begin());
843 ETL_NODISCARD ETL_CONSTEXPR
bool empty() const ETL_NOEXCEPT
851 ETL_NODISCARD ETL_CONSTEXPR
size_t size() const ETL_NOEXCEPT
859 ETL_NODISCARD ETL_CONSTEXPR
size_t max_size() const ETL_NOEXCEPT
872 ETL_CONSTEXPR14
void fill(parameter_t) ETL_NOEXCEPT
892 template <
typename TIterator>
893 iterator
assign(TIterator,
const TIterator) ETL_NOEXCEPT
906 template <
typename TIterator>
907 iterator
assign(TIterator,
const TIterator, parameter_t) ETL_NOEXCEPT
917 inline iterator
insert_at(
size_t, parameter_t) ETL_NOEXCEPT
927 iterator
insert(const_iterator, parameter_t) ETL_NOEXCEPT
938 template <
typename TIterator>
939 inline iterator
insert_at(
size_t, TIterator,
const TIterator) ETL_NOEXCEPT
950 template <
typename TIterator>
951 iterator
insert(const_iterator, TIterator,
const TIterator) ETL_NOEXCEPT
971 iterator
erase(const_iterator) ETL_NOEXCEPT
993 iterator
erase(const_iterator, const_iterator) ETL_NOEXCEPT
1004 inline iterator
erase_at(
size_t, parameter_t) ETL_NOEXCEPT
1015 iterator
erase(const_iterator, parameter_t) ETL_NOEXCEPT
1038 iterator
erase(const_iterator, const_iterator, parameter_t) ETL_NOEXCEPT
1048 template <
typename... T>
1049 array(T...) -> array<
typename etl::common_type<T...>
::type,
sizeof...(T)>;
1055#if ETL_HAS_INITIALIZER_LIST
1056 template <
typename T,
typename... TValues>
1057 constexpr auto make_array(TValues&&... values) ETL_NOEXCEPT ->
etl::array<T,
sizeof...(TValues)>
1059 return {etl::forward<T>(values)...};
1068 template <
typename T, const
size_t SIZE>
1080 template <
typename T,
size_t SIZE>
1083 return etl::equal(lhs.
cbegin(), lhs.cend(), rhs.
cbegin());
1092 template <
typename T,
size_t SIZE>
1095 return !(lhs == rhs);
1105 template <
typename T,
size_t SIZE>
1108 return etl::lexicographical_compare(lhs.
cbegin(), lhs.cend(), rhs.
cbegin(), rhs.cend());
1119 template <
typename T,
size_t SIZE>
1122 return !(lhs > rhs);
1131 template <
typename T,
size_t SIZE>
1146 template <
typename T,
size_t SIZE>
1149 return !(lhs < rhs);
1160 template <
size_t Index,
typename T,
size_t Size>
1163 ETL_STATIC_ASSERT(Index < Size,
"Index out of bounds");
1175 template <
size_t Index,
typename T,
size_t Size>
1178 ETL_STATIC_ASSERT(Index < Size,
"Index out of bounds");
ETL_CONSTEXPR14 etl::enable_if< etl::is_random_iterator< TInputIterator >::value &&etl::is_random_iterator< TOutputIterator >::value, TOutputIterator >::type copy_s(TInputIterator i_begin, TInputIterator i_end, TOutputIterator o_begin, TOutputIterator o_end)
Definition algorithm.h:2638
ETL_NODISCARD ETL_CONSTEXPR14 reference at(size_t) ETL_NOEXCEPT
Definition array.h:654
ETL_NODISCARD ETL_CONSTEXPR14 reference operator[](size_t i) ETL_NOEXCEPT_EXPR(ETL_NOT_USING_EXCEPTIONS||ETL_NOT_CHECKING_INDEX_OPERATOR)
Definition array.h:140
ETL_NODISCARD ETL_CONSTEXPR const_reverse_iterator rend() const ETL_NOEXCEPT
Returns a const reverse iterator to the end of the array.
Definition array.h:823
ETL_NODISCARD ETL_CONSTEXPR14 reference operator[](size_t) ETL_NOEXCEPT
Definition array.h:673
iterator erase(const_iterator first, const_iterator last)
Definition array.h:528
ETL_NODISCARD ETL_CONSTEXPR14 reverse_iterator rend() ETL_NOEXCEPT
Returns a reverse iterator to the end of the array.
Definition array.h:299
iterator erase_at(size_t) ETL_NOEXCEPT
Definition array.h:961
ETL_NODISCARD ETL_CONSTEXPR const_reference front() const ETL_NOEXCEPT
Returns a const reference to the first element.
Definition array.h:699
ETL_NODISCARD ETL_CONSTEXPR const_reference operator[](size_t) const ETL_NOEXCEPT
Definition array.h:683
iterator assign(TIterator, const TIterator) ETL_NOEXCEPT
Definition array.h:893
ETL_NODISCARD ETL_CONSTEXPR14 reference front() ETL_NOEXCEPT
Returns a reference to the first element.
Definition array.h:167
ETL_NODISCARD ETL_CONSTEXPR const_pointer data() const ETL_NOEXCEPT
Returns a const pointer to the first element of the internal buffer.
Definition array.h:731
ETL_NODISCARD ETL_CONSTEXPR const_reverse_iterator crbegin() const ETL_NOEXCEPT
Returns a const reverse iterator to the reverse beginning of the array.
Definition array.h:291
ETL_NODISCARD ETL_CONSTEXPR const_reverse_iterator rbegin() const ETL_NOEXCEPT
Returns a const reverse iterator to the reverse beginning of the array.
Definition array.h:283
ETL_NODISCARD ETL_CONSTEXPR14 iterator end() ETL_NOEXCEPT
Returns an iterator to the end of the array.
Definition array.h:767
ETL_NODISCARD ETL_CONSTEXPR14 iterator begin() ETL_NOEXCEPT
Returns an iterator to the beginning of the array.
Definition array.h:227
delegate_type _buffer[SIZE]
Definition array.h:602
ETL_NODISCARD ETL_CONSTEXPR const_iterator begin() const ETL_NOEXCEPT
Returns a const iterator to the beginning of the array.
Definition array.h:235
iterator insert_at(size_t, parameter_t) ETL_NOEXCEPT
Definition array.h:917
ETL_NODISCARD ETL_CONSTEXPR const_reverse_iterator crend() const ETL_NOEXCEPT
Returns a const reverse iterator to the end of the array.
Definition array.h:831
iterator erase_range(size_t, size_t) ETL_NOEXCEPT
Definition array.h:982
ETL_NODISCARD ETL_CONSTEXPR const_reference operator[](size_t i) const ETL_NOEXCEPT_EXPR(ETL_NOT_USING_EXCEPTIONS||ETL_NOT_CHECKING_INDEX_OPERATOR)
Definition array.h:152
ETL_NODISCARD ETL_CONSTEXPR14 pointer data() ETL_NOEXCEPT
Returns a pointer to the first element of the internal buffer.
Definition array.h:207
iterator erase_range(size_t, size_t, parameter_t) ETL_NOEXCEPT
Definition array.h:1027
iterator erase_range(size_t first, size_t last)
Definition array.h:515
ETL_CONSTEXPR14 void fill(parameter_t) ETL_NOEXCEPT
Definition array.h:872
ETL_NODISCARD ETL_CONSTEXPR const_reference back() const ETL_NOEXCEPT
Returns a const reference to the last element.
Definition array.h:197
ETL_NODISCARD ETL_CONSTEXPR14 reference back() ETL_NOEXCEPT
Returns a reference to the last element.
Definition array.h:187
ETL_NODISCARD ETL_CONSTEXPR14 iterator begin() ETL_NOEXCEPT
Returns an iterator to the beginning of the array.
Definition array.h:743
ETL_CONSTEXPR14 void fill(parameter_t value)
Definition array.h:356
iterator insert_at(size_t, TIterator, const TIterator) ETL_NOEXCEPT
Definition array.h:939
iterator erase(const_iterator) ETL_NOEXCEPT
Definition array.h:971
iterator insert_at(size_t position, parameter_t value)
Definition array.h:414
iterator assign(TIterator, const TIterator, parameter_t) ETL_NOEXCEPT
Definition array.h:907
iterator erase_range(size_t first, size_t last, parameter_t value)
Definition array.h:575
ETL_NODISCARD ETL_CONSTEXPR14 const_reference at(size_t i) const ETL_NOEXCEPT_EXPR(ETL_NOT_USING_EXCEPTIONS)
Definition array.h:128
ETL_NODISCARD ETL_CONSTEXPR const_iterator end() const ETL_NOEXCEPT
Returns a const iterator to the end of the array.
Definition array.h:259
iterator insert(const_iterator, parameter_t) ETL_NOEXCEPT
Definition array.h:927
ETL_NODISCARD ETL_CONSTEXPR size_t max_size() const ETL_NOEXCEPT
Returns the maximum possible size of the array.
Definition array.h:859
ETL_NODISCARD ETL_CONSTEXPR const_iterator end() const ETL_NOEXCEPT
Returns a const iterator to the end of the array.
Definition array.h:775
ETL_NODISCARD ETL_CONSTEXPR size_t size() const ETL_NOEXCEPT
Returns the size of the array.
Definition array.h:851
ETL_NODISCARD ETL_CONSTEXPR const_reverse_iterator crbegin() const ETL_NOEXCEPT
Returns a const reverse iterator to the reverse beginning of the array.
Definition array.h:807
ETL_NODISCARD ETL_CONSTEXPR14 const_reference at(size_t) const ETL_NOEXCEPT
Definition array.h:663
ETL_CONSTEXPR14 void swap(array &) ETL_NOEXCEPT
Definition array.h:880
iterator erase_at(size_t position)
Definition array.h:487
ETL_NODISCARD ETL_CONSTEXPR const_reference back() const
Returns a const reference to the last element.
Definition array.h:715
iterator erase(const_iterator first, const_iterator last, parameter_t value)
Definition array.h:589
iterator erase(const_iterator position, parameter_t value)
Definition array.h:556
iterator insert(const_iterator, TIterator, const TIterator) ETL_NOEXCEPT
Definition array.h:951
iterator erase(const_iterator, parameter_t) ETL_NOEXCEPT
Definition array.h:1015
ETL_NODISCARD ETL_CONSTEXPR14 pointer data() ETL_NOEXCEPT
Returns a pointer to the first element of the internal buffer.
Definition array.h:723
ETL_NODISCARD ETL_CONSTEXPR const_iterator cbegin() const ETL_NOEXCEPT
Returns a const iterator to the beginning of the array.
Definition array.h:759
iterator erase(const_iterator, const_iterator) ETL_NOEXCEPT
Definition array.h:993
ETL_NODISCARD ETL_CONSTEXPR14 iterator end() ETL_NOEXCEPT
Returns an iterator to the end of the array.
Definition array.h:251
iterator insert(const_iterator position, parameter_t value)
Definition array.h:426
ETL_NODISCARD ETL_CONSTEXPR const_reverse_iterator crend() const ETL_NOEXCEPT
Returns a const reverse iterator to the end of the array.
Definition array.h:315
ETL_NODISCARD ETL_CONSTEXPR const_iterator begin() const ETL_NOEXCEPT
Returns a const iterator to the beginning of the array.
Definition array.h:751
ETL_NODISCARD ETL_CONSTEXPR bool empty() const ETL_NOEXCEPT
Returns true if the array size is zero.
Definition array.h:327
iterator erase_at(size_t, parameter_t) ETL_NOEXCEPT
Definition array.h:1004
ETL_NODISCARD ETL_CONSTEXPR const_pointer data() const ETL_NOEXCEPT
Returns a const pointer to the first element of the internal buffer.
Definition array.h:215
ETL_NODISCARD ETL_CONSTEXPR size_t size() const ETL_NOEXCEPT
Returns the size of the array.
Definition array.h:335
ETL_NODISCARD ETL_CONSTEXPR14 reference at(size_t i) ETL_NOEXCEPT_EXPR(ETL_NOT_USING_EXCEPTIONS)
Definition array.h:117
ETL_CONSTEXPR14 void swap(array &other) ETL_NOEXCEPT_FROM(ETL_OR_STD
Definition array.h:365
iterator insert(const_iterator position, TIterator first, const TIterator last)
Definition array.h:459
iterator assign(TIterator first, const TIterator last)
Definition array.h:384
ETL_NODISCARD ETL_CONSTEXPR const_reverse_iterator rbegin() const ETL_NOEXCEPT
Returns a const reverse iterator to the reverse beginning of the array.
Definition array.h:799
ETL_NODISCARD ETL_CONSTEXPR14 reference front() ETL_NOEXCEPT
Returns a reference to the first element.
Definition array.h:691
ETL_NODISCARD ETL_CONSTEXPR const_iterator cbegin() const ETL_NOEXCEPT
Returns a const iterator to the beginning of the array.
Definition array.h:243
iterator erase(const_iterator position)
Definition array.h:499
ETL_NODISCARD ETL_CONSTEXPR14 reference back() ETL_NOEXCEPT
Returns a reference to the last element.
Definition array.h:707
iterator assign(TIterator first, const TIterator last, parameter_t value)
Definition array.h:398
iterator erase(const_iterator, const_iterator, parameter_t) ETL_NOEXCEPT
Definition array.h:1038
ETL_NODISCARD ETL_CONSTEXPR14 reverse_iterator rend() ETL_NOEXCEPT
Returns a reverse iterator to the end of the array.
Definition array.h:815
iterator erase_at(size_t position, parameter_t value)
Definition array.h:543
ETL_NODISCARD ETL_CONSTEXPR const_reference front() const ETL_NOEXCEPT
Returns a const reference to the first element.
Definition array.h:177
iterator insert_at(size_t position, TIterator first, const TIterator last)
Definition array.h:445
ETL_NODISCARD ETL_CONSTEXPR const_reverse_iterator rend() const ETL_NOEXCEPT
Returns a const reverse iterator to the end of the array.
Definition array.h:307
ETL_NODISCARD ETL_CONSTEXPR bool empty() const ETL_NOEXCEPT
Returns true if the array size is zero.
Definition array.h:843
ETL_NODISCARD ETL_CONSTEXPR size_t max_size() const ETL_NOEXCEPT
Returns the maximum possible size of the array.
Definition array.h:343
#define ETL_ASSERT(b, e)
Definition error_handler.h:511
ETL_EXCEPTION_CONSTEXPR exception(string_type reason_, string_type, numeric_type)
Constructor.
Definition exception.h:81
bitset_ext
Definition absolute.h:40
ETL_CONSTEXPR14 void swap(etl::typed_storage_ext< T > &lhs, etl::typed_storage_ext< T > &rhs) ETL_NOEXCEPT
Swap two etl::typed_storage_ext.
Definition alignment.h:856
ETL_CONSTEXPR14 bool operator==(const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
Definition array.h:1081
bool operator>(const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
Definition array.h:1133
bool operator>=(const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
Definition array.h:1147
ETL_CONSTEXPR14 bool operator!=(const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
Definition array.h:1093
T & get(array< T, Size > &a)
Definition array.h:1161
ETL_CONSTEXPR TContainer::const_iterator cend(const TContainer &container)
Definition iterator.h:1017
bool operator<(const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
Definition array.h:1106
bool operator<=(const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
Definition array.h:1120
etl::conditional< etl::is_fundamental< T >::value||etl::is_pointer< T >::value, T, constT & >::type type
By default fundamental and pointer types are passed by value.
Definition parameter_type.h:46