|
uTL
micro Template library
|
STL's core language concepts. More...
Namespaces | |
| _1wire_i_det | |
| common_impl | |
| detail | |
| details | |
| i2c_i_details | |
| idx_dev_details | |
| idxdev_it_details | |
| in_dev_details | |
| inbuf_dev_details | |
| indev_it_details | |
| meta | |
| out_dev_details | |
| outdev_it_details | |
| spi | |
| Abstract base class for spi bus. | |
| spi_i_details | |
Classes | |
| class | _1wire_i |
| Template base class for 1-wire communication interface using CRTP. More... | |
| class | _1wire_i< virtual_tag > |
| A virtual base class implementation. More... | |
| class | _1wire_id_t |
| class | _1wire_uart_i |
| 1-wire UART interface template class using CRTP Using the private virtual interface we provide the interface from _1wire_i<> More... | |
| class | _1wire_uart_i< virtual_tag > |
| A virtual base class interface implementation. Using the private virtual interface we provide the interface from _1wire_i<virtual_tag> More... | |
| struct | array |
| A standard container for storing a fixed size sequence of elements. More... | |
| struct | array_traits |
| array container traits helper More... | |
| struct | array_traits< _Tp, 0 > |
| struct | bidirectional_iterator_tag |
| struct | contiguous_iterator_tag |
| struct | crtp_tag |
| CRTP support tag type. More... | |
| struct | dev_iterator_traits |
| Device iterator collection. More... | |
| struct | forward_iterator_tag |
| class | i2c_bb_i |
| A bit banking implementation of i2c bus inherited from i2c_i base class. More... | |
| class | i2c_bb_i< virtual_tag > |
| A virtual base class interface specialization. Using the private virtual interface we provide the interface from i2c_i<virtual_tag> More... | |
| class | i2c_i |
| Abstract base class for i2c bus. More... | |
| class | i2c_i< virtual_tag > |
| A virtual base class specialization. More... | |
| struct | id_t |
| A standard container for storing IDs as a fixed size sequence of bytes. This type is based on etl::array Meets the requirements of: container, reversible container, sequence. Sets support random access iterators. More... | |
| struct | id_traits |
| id container traits helper More... | |
| struct | id_traits< _Tp, 0 > |
| class | idx_dev |
| Abstract base class for indexed devices. More... | |
| class | idx_dev< virtual_tag, data_t, idx_t, N > |
| A virtual base class specialization. More... | |
| class | in_dev |
| Abstract base class for input devices. More... | |
| class | in_dev< virtual_tag, data_t, streamsize > |
| A virtual base class specialization. More... | |
| class | inbuf_dev |
| Abstract base class for input buffered devices. More... | |
| class | inbuf_dev< virtual_tag, data_t, streamsize > |
| A virtual base class specialization. More... | |
| class | indev_it |
| Input device iterator type. We "future call" interface methods from owner class to provide iterator functionality. More... | |
| struct | input_iterator_tag |
| class | iodev_it |
| Indexed device iterator type. We "future call" interface methods from owner class to provide iterator functionality. More... | |
| struct | is_invocable |
| std::is_invocable trait for C++11 More... | |
| struct | is_invocable_r |
| std::is_invocable_r trait for C++11 More... | |
| class | istreamdev_it |
| class | ostream_dev |
| Abstract base classes for output stream devices. More... | |
| class | ostream_dev< virtual_tag, data_t > |
| class | ostreamdev_it |
| class | out_dev |
| Abstract base classes for output devices. More... | |
| class | out_dev< virtual_tag, data_t, streamsize > |
| A virtual base class specialization. More... | |
| class | outdev_it |
| Output device iterator type. We "future call" interface methods from owner class to provide iterator functionality. More... | |
| struct | output_iterator_tag |
| Iterator tags [std.iterator.tags] Extension: contiguous_iterator_tag for denoting contiguous iterators. More... | |
| struct | random_access_iterator_tag |
| class | spi_bb_i |
| A bit banking implementation of spi bus inherited from spi_i base class. More... | |
| class | spi_bb_i< virtual_tag, CPOL, CPHA, BitOrder > |
| A virtual base class interface specialization. Using the private virtual interface we provide the interface from spi_i<virtual_tag> More... | |
| class | spi_i |
| class | spi_i< virtual_tag > |
| A virtual base class implementation. More... | |
| struct | virtual_tag |
| virtual support tag type More... | |
Typedefs | |
| template<typename T > | |
| using | remove_cvref_t = std::remove_cv_t< std::remove_reference_t< T > > |
| template<typename T > | |
| using | cref_ = const std::remove_reference_t< T > & |
| template<typename T > | |
| using | _ref_t = std::add_lvalue_reference_t< T > |
| template<typename _T1 , typename _T2 , typename _Ret = _T1> | |
| using | use_if_same_t = meta::eval< meta::enable_if< meta::same_< _T1, _T2 >::value, _Ret > > |
| template<typename... Ts> | |
| using | common_reference = common_impl::common_reference< Ts... > |
| template<typename... Ts> | |
| using | common_reference_t = meta::eval< common_reference< Ts... > > |
byte and word types | |
| using | byte_t = uint8_t |
| 8 bits wide More... | |
| using | word_t = uint16_t |
| 16 bits wide More... | |
| using | dword_t = uint32_t |
size and index | |
| using | size_t = std::size_t |
| using | index_t = size_t |
| index_t and size_t mend to be interchangeable More... | |
| using | ptrdiff_t = std::ptrdiff_t |
| template<typename _Callable , typename... _Args> | |
| using | invoke_result = detail::invoke_result_< is_invocable< _Callable, _Args... >::value, _Callable, _Args... > |
| invoke_result (for C++14) More... | |
| template<typename _Callable , typename... _Args> | |
| using | invoke_result_t = meta::eval< invoke_result< _Callable, _Args... > > |
| invoke_result_t (for C++14) More... | |
Functions | |
| template<typename _Tp , size_t _Nm> | |
| void | swap (array< _Tp, _Nm > &lhs, array< _Tp, _Nm > &rhs) noexcept(noexcept(lhs.swap(rhs))) |
| template<size_t _Int, typename _Tp , size_t _Nm> | |
| constexpr _Tp & | get (array< _Tp, _Nm > &arr) noexcept |
| template<size_t _Int, typename _Tp , size_t _Nm> | |
| constexpr _Tp && | get (array< _Tp, _Nm > &&arr) noexcept |
| template<size_t _Int, typename _Tp , size_t _Nm> | |
| constexpr const _Tp & | get (const array< _Tp, _Nm > &arr) noexcept |
| template<typename _Callable , typename... _Args> | |
| decltype(auto) | invoke (_Callable &&fn, _Args &&... args) |
| Invoke a callable object (for C++14) More... | |
Array comparisons. | |
| template<typename _Tp , size_t _Nm> | |
| bool | operator== (const array< _Tp, _Nm > &lhs, const array< _Tp, _Nm > &rhs) |
| template<typename _Tp , size_t _Nm> | |
| bool | operator!= (const array< _Tp, _Nm > &lhs, const array< _Tp, _Nm > &rhs) |
| template<typename _Tp , size_t _Nm> | |
| bool | operator< (const array< _Tp, _Nm > &lhs, const array< _Tp, _Nm > &rhs) |
| template<typename _Tp , size_t _Nm> | |
| bool | operator> (const array< _Tp, _Nm > &lhs, const array< _Tp, _Nm > &rhs) |
| template<typename _Tp , size_t _Nm> | |
| bool | operator<= (const array< _Tp, _Nm > &lhs, const array< _Tp, _Nm > &rhs) |
| template<typename _Tp , size_t _Nm> | |
| bool | operator>= (const array< _Tp, _Nm > &lhs, const array< _Tp, _Nm > &rhs) |
device ID comparisons. | |
| template<typename _Tp , size_t _Nm> | |
| bool | operator== (const id_t< _Tp, _Nm > &lhs, const id_t< _Tp, _Nm > &rhs) |
| template<typename _Tp , size_t _Nm> | |
| bool | operator!= (const id_t< _Tp, _Nm > &lhs, const id_t< _Tp, _Nm > &rhs) |
| template<typename _Tp , size_t _Nm> | |
| bool | operator< (const id_t< _Tp, _Nm > &lhs, const id_t< _Tp, _Nm > &rhs) |
| template<typename _Tp , size_t _Nm> | |
| bool | operator> (const id_t< _Tp, _Nm > &lhs, const id_t< _Tp, _Nm > &rhs) |
| template<typename _Tp , size_t _Nm> | |
| bool | operator<= (const id_t< _Tp, _Nm > &lhs, const id_t< _Tp, _Nm > &rhs) |
| template<typename _Tp , size_t _Nm> | |
| bool | operator>= (const id_t< _Tp, _Nm > &lhs, const id_t< _Tp, _Nm > &rhs) |
| template<typename _C1 , typename _D1 , typename _C2 , typename _D2 > | |
| bool | operator== (const istreamdev_it< _C1, _D1 > &lhs, const istreamdev_it< _C2, _D2 > &rhs) noexcept |
| Equality comparison template so that comparison between cv-qualified and non-cv-qualified iterators be valid. More... | |
| template<typename _C1 , typename _D1 , typename _C2 , typename _D2 > | |
| bool | operator!= (const istreamdev_it< _C1, _D1 > &lhs, const istreamdev_it< _C2, _D2 > &rhs) noexcept |
| template<typename _Cont1 , typename _It1 , index_t _beg1, index_t _end1, typename _Cont2 , typename _It2 , index_t _beg2, index_t _end2> | |
| bool | operator== (const outdev_it< _Cont1, _It1, _beg1, _end1 > &lhs, const outdev_it< _Cont2, _It2, _beg2, _end2 > &rhs) noexcept |
| Equality comparison template so that comparison between cv-qualified and non-cv-qualified iterators be valid. More... | |
| template<typename _Cont1 , typename _It1 , index_t _beg1, index_t _end1, typename _Cont2 , typename _It2 , index_t _beg2, index_t _end2> | |
| bool | operator!= (const outdev_it< _Cont1, _It1, _beg1, _end1 > &lhs, const outdev_it< _Cont2, _It2, _beg2, _end2 > &rhs) noexcept |
| Inequality comparison template so that comparison between cv-qualified and non-cv-qualified iterators be valid. More... | |
indev_it EqualityComparable && LessThanComparable requirements | |
comparison template so that comparison between cv-qualified and non-cv-qualified iterators be valid | |
| template<typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2> | |
| bool | operator== (const indev_it< _Cont1, _It1, _beg1, _size1 > &x, const indev_it< _Cont2, _It2, _beg2, _size2 > &y) noexcept |
| template<typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2> | |
| bool | operator< (const indev_it< _Cont1, _It1, _beg1, _size1 > &x, const indev_it< _Cont2, _It2, _beg2, _size2 > &y) noexcept |
| Less than. More... | |
| template<typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2> | |
| bool | operator!= (const indev_it< _Cont1, _It1, _beg1, _size1 > &x, const indev_it< _Cont2, _It2, _beg2, _size2 > &y) noexcept |
| template<typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2> | |
| bool | operator<= (const indev_it< _Cont1, _It1, _beg1, _size1 > &x, const indev_it< _Cont2, _It2, _beg2, _size2 > &y) noexcept |
| template<typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2> | |
| bool | operator> (const indev_it< _Cont1, _It1, _beg1, _size1 > &x, const indev_it< _Cont2, _It2, _beg2, _size2 > &y) noexcept |
| template<typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2> | |
| bool | operator>= (const indev_it< _Cont1, _It1, _beg1, _size1 > &x, const indev_it< _Cont2, _It2, _beg2, _size2 > &y) noexcept |
| template<typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2> | |
| bool | operator== (const iodev_it< _Cont1, _It1, _beg1, _size1 > &x, const iodev_it< _Cont2, _It2, _beg2, _size2 > &y) noexcept |
| template<typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2> | |
| bool | operator< (const iodev_it< _Cont1, _It1, _beg1, _size1 > &x, const iodev_it< _Cont2, _It2, _beg2, _size2 > &y) noexcept |
| Less than. More... | |
| template<typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2> | |
| bool | operator!= (const iodev_it< _Cont1, _It1, _beg1, _size1 > &x, const iodev_it< _Cont2, _It2, _beg2, _size2 > &y) noexcept |
| template<typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2> | |
| bool | operator<= (const iodev_it< _Cont1, _It1, _beg1, _size1 > &x, const iodev_it< _Cont2, _It2, _beg2, _size2 > &y) noexcept |
| template<typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2> | |
| bool | operator> (const iodev_it< _Cont1, _It1, _beg1, _size1 > &x, const iodev_it< _Cont2, _It2, _beg2, _size2 > &y) noexcept |
| template<typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2> | |
| bool | operator>= (const iodev_it< _Cont1, _It1, _beg1, _size1 > &x, const iodev_it< _Cont2, _It2, _beg2, _size2 > &y) noexcept |
iterator arithmetic | |
| template<typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2> | |
| auto | operator- (indev_it< _Cont1, _It1, _beg1, _size1 > &x, indev_it< _Cont1, _It1, _beg1, _size1 > &y) noexcept -> decltype(x.cursor() - y.cursor()) |
| template<typename _Cont , typename _It , index_t _beg, size_t _size> | |
| indev_it< _Cont, _It, _beg, _size > | operator+ (typename _Cont::difference_type n, indev_it< _Cont, _It, _beg, _size > &it) noexcept |
| template<typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2> | |
| auto | operator- (iodev_it< _Cont1, _It1, _beg1, _size1 > &x, iodev_it< _Cont1, _It1, _beg1, _size1 > &y) noexcept -> decltype(x.cursor() - y.cursor()) |
| template<typename _Cont , typename _It , index_t _beg, size_t _size> | |
| iodev_it< _Cont, _It, _beg, _size > | operator+ (typename _Cont::difference_type n, iodev_it< _Cont, _It, _beg, _size > &it) noexcept |
Variables | |
| template<class I > | |
| _utlConcept | WeaklyIncrementable |
| template<class T , class U > | |
| _utlConcept | Same = meta::same_<T, U>::value |
| template<class Derived , class Base > | |
| _utlConcept | DerivedFrom |
| template<class From , class To > | |
| _utlConcept | ConvertibleTo = std::is_convertible<From, To>::value |
| template<class T , class U > | |
| _utlConcept | CommonReference |
| template<class T , class U > | |
| _utlConcept | Common |
| template<class T > | |
| _utlConcept | Integral = std::is_integral<T>::value |
| template<class T > | |
| _utlConcept | SignedIntegral = Integral<T> && std::is_signed<T>::value |
| template<class T > | |
| _utlConcept | UnsignedIntegral = Integral<T> && !std::is_signed<T>::value |
| template<typename T > | |
| _utlConcept | MoveAssignable = std::is_move_assignable<T>::value |
| template<typename T > | |
| _utlConcept | CopyAssignable = std::is_copy_assignable<T>::value |
| template<class LHS , class RHS > | |
| _utlConcept | Assignable |
| template<class T > | |
| _utlConcept | Destructible = std::is_nothrow_destructible<T>::value |
| template<class T , class... Args> | |
| _utlConcept | Constructible |
| template<class T > | |
| _utlConcept | DefaultConstructible = Constructible<T> |
| template<class T > | |
| _utlConcept | MoveConstructible |
| template<class T > | |
| _utlConcept | CopyConstructible |
| template<class T > | |
| _utlConcept | Movable |
| template<class T > | |
| _utlConcept | Copyable |
| template<class B > | |
| _utlConcept | Boolean |
| template<class T , class U > | |
| _utlConcept | WeaklyEqualityComparableWith |
| template<class T > | |
| _utlConcept | EqualityComparable = WeaklyEqualityComparableWith<T, T> |
| template<class T , class U > | |
| _utlConcept | EqualityComparableWith |
| template<class T > | |
| _utlConcept | StrictTotallyOrdered |
| template<class T , class U > | |
| _utlConcept | StrictTotallyOrderedWith |
| template<class T > | |
| _utlConcept | Semiregular = Copyable<T> && DefaultConstructible<T> |
| template<class T > | |
| _utlConcept | Regular = Semiregular<T> && EqualityComparable<T> |
| template<class T > | |
| _utlConcept | Scalar |
| template<class T > | |
| _utlConcept | Arithmetic |
| template<class T > | |
| _utlConcept | FloatingPoint |
| template<class F , class... Args> | |
| _utlConcept | Invocable = is_invocable<F, Args...>::value |
| template<class F , class... Args> | |
| _utlConcept | RegularInvocable = Invocable<F, Args...> |
| template<class F , class... Args> | |
| _utlConcept | Predicate |
| template<class R , class T , class U > | |
| _utlConcept | Relation |
| template<class R , class T , class U > | |
| _utlConcept | StrictWeakOrder = Relation<R, T, U> |
| template<typename _Tp > | |
| constexpr bool | Idx_dev = idx_dev_details::is_idx_dev_ <_Tp>::value |
| template<typename _Tp > | |
| constexpr bool | In_dev = in_dev_details::is_in_dev_ <_Tp>::value |
| template<typename _Tp > | |
| constexpr bool | Inbuf_dev = inbuf_dev_details::is_inbuf_dev_ <_Tp>::value |
| template<typename _Tp > | |
| constexpr bool | Out_dev = out_dev_details::is_out_dev_<_Tp>::value |
| using | is_swappable = std::is_swappable |
| using | is_swappable_with = std::is_swappable_with |
| template<class T , class U > | |
| _utlConcept | SwappableWith |
| template<class T > | |
| _utlConcept | Swappable = is_swappable_with<T, T>::type::value |
STL's core language concepts.
We provide std concepts in case host's stl does not provide them yet.
For more information
| using utl::_ref_t = typedef std::add_lvalue_reference_t<T> |
| using utl::byte_t = typedef uint8_t |
| using utl::common_reference = typedef common_impl::common_reference<Ts...> |
| using utl::common_reference_t = typedef meta::eval< common_reference<Ts...> > |
| using utl::cref_ = typedef const std::remove_reference_t<T>& |
| using utl::dword_t = typedef uint32_t |
| using utl::index_t = typedef size_t |
index_t and size_t mend to be interchangeable
| using utl::invoke_result = typedef detail::invoke_result_< is_invocable<_Callable, _Args...>::value, _Callable, _Args... > |
| using utl::invoke_result_t = typedef meta::eval < invoke_result<_Callable, _Args...> > |
| using utl::is_swappable = typedef std::is_swappable |
| using utl::is_swappable_with = typedef std::is_swappable_with |
| using utl::ptrdiff_t = typedef std::ptrdiff_t |
| using utl::remove_cvref_t = typedef std::remove_cv_t< std::remove_reference_t<T> > |
| using utl::size_t = typedef std::size_t |
| using utl::use_if_same_t = typedef meta::eval< meta::enable_if< meta::same_<_T1, _T2>::value, _Ret > > |
| using utl::word_t = typedef uint16_t |
|
noexcept |
|
noexcept |
|
noexcept |
|
inline |
|
inlinenoexcept |
Definition at line 236 of file dev_iterators.h.
|
inlinenoexcept |
Inequality comparison template so that comparison between cv-qualified and non-cv-qualified iterators be valid.
| lhs | Left hand site iterator |
| rhs | Right hand site iterator |
Definition at line 382 of file dev_iterators.h.
|
inlinenoexcept |
Definition at line 624 of file dev_iterators.h.
|
inlinenoexcept |
Definition at line 909 of file dev_iterators.h.
|
inlinenoexcept |
Definition at line 659 of file dev_iterators.h.
|
inlinenoexcept |
Definition at line 944 of file dev_iterators.h.
|
inlinenoexcept |
Definition at line 651 of file dev_iterators.h.
|
inlinenoexcept |
Definition at line 936 of file dev_iterators.h.
|
inlinenoexcept |
Less than.
Definition at line 616 of file dev_iterators.h.
|
inlinenoexcept |
Less than.
Definition at line 901 of file dev_iterators.h.
|
inlinenoexcept |
Definition at line 630 of file dev_iterators.h.
|
inlinenoexcept |
Definition at line 915 of file dev_iterators.h.
|
inlinenoexcept |
Equality comparison template so that comparison between cv-qualified and non-cv-qualified iterators be valid.
| lhs | Left hand site iterator |
| rhs | Right hand site iterator |
Definition at line 229 of file dev_iterators.h.
|
inlinenoexcept |
Equality comparison template so that comparison between cv-qualified and non-cv-qualified iterators be valid.
| lhs | Left hand site iterator |
| rhs | Right hand site iterator |
Definition at line 366 of file dev_iterators.h.
|
inlinenoexcept |
Equality
Definition at line 608 of file dev_iterators.h.
|
inlinenoexcept |
Equality
Definition at line 893 of file dev_iterators.h.
|
inlinenoexcept |
Definition at line 636 of file dev_iterators.h.
|
inlinenoexcept |
Definition at line 921 of file dev_iterators.h.
|
inlinenoexcept |
Definition at line 642 of file dev_iterators.h.
|
inlinenoexcept |
Definition at line 927 of file dev_iterators.h.
| _utlConcept utl::Arithmetic |
| _utlConcept utl::Assignable |
| _utlConcept utl::Boolean |
| _utlConcept utl::Common |
| _utlConcept utl::CommonReference |
| _utlConcept utl::Constructible |
| _utlConcept utl::ConvertibleTo = std::is_convertible<From, To>::value |
| _utlConcept utl::Copyable |
| _utlConcept utl::CopyAssignable = std::is_copy_assignable<T>::value |
| _utlConcept utl::CopyConstructible |
| _utlConcept utl::DefaultConstructible = Constructible<T> |
| _utlConcept utl::DerivedFrom |
| _utlConcept utl::Destructible = std::is_nothrow_destructible<T>::value |
| _utlConcept utl::EqualityComparable = WeaklyEqualityComparableWith<T, T> |
| _utlConcept utl::EqualityComparableWith |
| _utlConcept utl::FloatingPoint |
| constexpr bool utl::Idx_dev = idx_dev_details::is_idx_dev_ <_Tp>::value |
| constexpr bool utl::In_dev = in_dev_details::is_in_dev_ <_Tp>::value |
| constexpr bool utl::Inbuf_dev = inbuf_dev_details::is_inbuf_dev_ <_Tp>::value |
Predicate for input device checking
| _Tp | Type to check |
Definition at line 380 of file inbuf_dev.h.
| _utlConcept utl::Integral = std::is_integral<T>::value |
| _utlConcept utl::Invocable = is_invocable<F, Args...>::value |
| _utlConcept utl::Movable |
| _utlConcept utl::MoveAssignable = std::is_move_assignable<T>::value |
| _utlConcept utl::MoveConstructible |
| constexpr bool utl::Out_dev = out_dev_details::is_out_dev_<_Tp>::value |
| _utlConcept utl::Predicate |
| _utlConcept utl::Regular = Semiregular<T> && EqualityComparable<T> |
| _utlConcept utl::RegularInvocable = Invocable<F, Args...> |
| _utlConcept utl::Relation |
| _utlConcept utl::Same = meta::same_<T, U>::value |
| _utlConcept utl::Scalar |
| _utlConcept utl::Semiregular = Copyable<T> && DefaultConstructible<T> |
| _utlConcept utl::SignedIntegral = Integral<T> && std::is_signed<T>::value |
| _utlConcept utl::StrictTotallyOrdered |
| _utlConcept utl::StrictTotallyOrderedWith |
| _utlConcept utl::StrictWeakOrder = Relation<R, T, U> |
| _utlConcept utl::Swappable = is_swappable_with<T, T>::type::value |
| _utlConcept utl::SwappableWith |
| _utlConcept utl::UnsignedIntegral = Integral<T> && !std::is_signed<T>::value |
| _utlConcept utl::WeaklyEqualityComparableWith |
| _utlConcept utl::WeaklyIncrementable |
Definition at line 49 of file iterators.h.