.TH "std::_Deque_iterator< _Tp, _Ref, _Ptr >" 3cxx "Thu Feb 16 2023" "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME std::_Deque_iterator< _Tp, _Ref, _Ptr > \- A deque::iterator\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .SS "Public Types" .in +1c .ti -1c .RI "typedef \fB__ptr_rebind\fP< _Ptr, _Tp > \fB_Elt_pointer\fP" .br .ti -1c .RI "typedef \fB__ptr_rebind\fP< _Ptr, _Elt_pointer > \fB_Map_pointer\fP" .br .ti -1c .RI "typedef \fB_Deque_iterator\fP \fB_Self\fP" .br .ti -1c .RI "typedef \fB__iter\fP< const _Tp > \fBconst_iterator\fP" .br .ti -1c .RI "typedef ptrdiff_t \fBdifference_type\fP" .br .ti -1c .RI "typedef \fB__iter\fP< _Tp > \fBiterator\fP" .br .ti -1c .RI "typedef \fBstd::random_access_iterator_tag\fP \fBiterator_category\fP" .br .ti -1c .RI "typedef _Ptr \fBpointer\fP" .br .ti -1c .RI "typedef _Ref \fBreference\fP" .br .ti -1c .RI "typedef size_t \fBsize_type\fP" .br .ti -1c .RI "typedef _Tp \fBvalue_type\fP" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "\fB_Deque_iterator\fP (_Elt_pointer __x, _Map_pointer __y) noexcept" .br .ti -1c .RI "\fB_Deque_iterator\fP (const \fB_Deque_iterator\fP &__x) noexcept" .br .ti -1c .RI "template, is_same<_Iter, iterator>>> \fB_Deque_iterator\fP (const _Iter &__x) noexcept" .br .ti -1c .RI "\fBiterator\fP \fB_M_const_cast\fP () const noexcept" .br .ti -1c .RI "void \fB_M_set_node\fP (_Map_pointer __new_node) noexcept" .br .ti -1c .RI "reference \fBoperator*\fP () const noexcept" .br .ti -1c .RI "\fB_Self\fP & \fBoperator++\fP () noexcept" .br .ti -1c .RI "\fB_Self\fP \fBoperator++\fP (int) noexcept" .br .ti -1c .RI "\fB_Self\fP & \fBoperator+=\fP (difference_type __n) noexcept" .br .ti -1c .RI "\fB_Self\fP & \fBoperator\-\-\fP () noexcept" .br .ti -1c .RI "\fB_Self\fP \fBoperator\-\-\fP (int) noexcept" .br .ti -1c .RI "\fB_Self\fP & \fBoperator\-=\fP (difference_type __n) noexcept" .br .ti -1c .RI "pointer \fBoperator\->\fP () const noexcept" .br .ti -1c .RI "\fB_Deque_iterator\fP & \fBoperator=\fP (const \fB_Deque_iterator\fP &)=default" .br .ti -1c .RI "reference \fBoperator[]\fP (difference_type __n) const noexcept" .br .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static size_t \fB_S_buffer_size\fP () noexcept" .br .in -1c .SS "Public Attributes" .in +1c .ti -1c .RI "_Elt_pointer \fB_M_cur\fP" .br .ti -1c .RI "_Elt_pointer \fB_M_first\fP" .br .ti -1c .RI "_Elt_pointer \fB_M_last\fP" .br .ti -1c .RI "_Map_pointer \fB_M_node\fP" .br .in -1c .SS "Friends" .in +1c .ti -1c .RI "template bool \fBoperator!=\fP (const \fB_Self\fP &__x, const \fB_Deque_iterator\fP< _Tp, _RefR, _PtrR > &__y) noexcept" .br .ti -1c .RI "bool \fBoperator!=\fP (const \fB_Self\fP &__x, const \fB_Self\fP &__y) noexcept" .br .ti -1c .RI "\fB_Self\fP \fBoperator+\fP (const \fB_Self\fP &__x, difference_type __n) noexcept" .br .ti -1c .RI "\fB_Self\fP \fBoperator+\fP (difference_type __n, const \fB_Self\fP &__x) noexcept" .br .ti -1c .RI "template difference_type \fBoperator\-\fP (const \fB_Self\fP &__x, const \fB_Deque_iterator\fP< _Tp, _RefR, _PtrR > &__y) noexcept" .br .ti -1c .RI "difference_type \fBoperator\-\fP (const \fB_Self\fP &__x, const \fB_Self\fP &__y) noexcept" .br .ti -1c .RI "\fB_Self\fP \fBoperator\-\fP (const \fB_Self\fP &__x, difference_type __n) noexcept" .br .ti -1c .RI "template bool \fBoperator<\fP (const \fB_Self\fP &__x, const \fB_Deque_iterator\fP< _Tp, _RefR, _PtrR > &__y) noexcept" .br .ti -1c .RI "bool \fBoperator<\fP (const \fB_Self\fP &__x, const \fB_Self\fP &__y) noexcept" .br .ti -1c .RI "template bool \fBoperator<=\fP (const \fB_Self\fP &__x, const \fB_Deque_iterator\fP< _Tp, _RefR, _PtrR > &__y) noexcept" .br .ti -1c .RI "bool \fBoperator<=\fP (const \fB_Self\fP &__x, const \fB_Self\fP &__y) noexcept" .br .ti -1c .RI "template bool \fBoperator==\fP (const \fB_Self\fP &__x, const \fB_Deque_iterator\fP< _Tp, _RefR, _PtrR > &__y) noexcept" .br .ti -1c .RI "bool \fBoperator==\fP (const \fB_Self\fP &__x, const \fB_Self\fP &__y) noexcept" .br .ti -1c .RI "template bool \fBoperator>\fP (const \fB_Self\fP &__x, const \fB_Deque_iterator\fP< _Tp, _RefR, _PtrR > &__y) noexcept" .br .ti -1c .RI "bool \fBoperator>\fP (const \fB_Self\fP &__x, const \fB_Self\fP &__y) noexcept" .br .ti -1c .RI "template bool \fBoperator>=\fP (const \fB_Self\fP &__x, const \fB_Deque_iterator\fP< _Tp, _RefR, _PtrR > &__y) noexcept" .br .ti -1c .RI "bool \fBoperator>=\fP (const \fB_Self\fP &__x, const \fB_Self\fP &__y) noexcept" .br .in -1c .SH "Detailed Description" .PP .SS "template .br struct std::_Deque_iterator< _Tp, _Ref, _Ptr >"A deque::iterator\&. Quite a bit of intelligence here\&. Much of the functionality of deque is actually passed off to this class\&. A deque holds two of these internally, marking its valid range\&. Access to elements is done as offsets of either of those two, relying on operator overloading in this class\&. .PP All the functions are op overloads except for _M_set_node\&. .PP Definition at line \fB113\fP of file \fBstl_deque\&.h\fP\&. .SH "Member Typedef Documentation" .PP .SS "template typedef \fB__ptr_rebind\fP<_Ptr, _Tp> \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::_Elt_pointer" .PP Definition at line \fB127\fP of file \fBstl_deque\&.h\fP\&. .SS "template typedef \fB__ptr_rebind\fP<_Ptr, _Elt_pointer> \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::_Map_pointer" .PP Definition at line \fB128\fP of file \fBstl_deque\&.h\fP\&. .SS "template typedef \fB_Deque_iterator\fP \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::_Self" .PP Definition at line \fB140\fP of file \fBstl_deque\&.h\fP\&. .SS "template typedef \fB__iter\fP \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::const_iterator" .PP Definition at line \fB126\fP of file \fBstl_deque\&.h\fP\&. .SS "template typedef ptrdiff_t \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::difference_type" .PP Definition at line \fB139\fP of file \fBstl_deque\&.h\fP\&. .SS "template typedef \fB__iter\fP<_Tp> \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::iterator" .PP Definition at line \fB125\fP of file \fBstl_deque\&.h\fP\&. .SS "template typedef \fBstd::random_access_iterator_tag\fP \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::iterator_category" .PP Definition at line \fB134\fP of file \fBstl_deque\&.h\fP\&. .SS "template typedef _Ptr \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::pointer" .PP Definition at line \fB136\fP of file \fBstl_deque\&.h\fP\&. .SS "template typedef _Ref \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::reference" .PP Definition at line \fB137\fP of file \fBstl_deque\&.h\fP\&. .SS "template typedef size_t \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::size_type" .PP Definition at line \fB138\fP of file \fBstl_deque\&.h\fP\&. .SS "template typedef _Tp \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::value_type" .PP Definition at line \fB135\fP of file \fBstl_deque\&.h\fP\&. .SH "Constructor & Destructor Documentation" .PP .SS "template \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::_Deque_iterator (_Elt_pointer __x, _Map_pointer __y)\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB147\fP of file \fBstl_deque\&.h\fP\&. .SS "template \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::_Deque_iterator ()\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB151\fP of file \fBstl_deque\&.h\fP\&. .SS "template template, is_same<_Iter, iterator>>> \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::_Deque_iterator (const _Iter & __x)\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB164\fP of file \fBstl_deque\&.h\fP\&. .SS "template \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::_Deque_iterator (const \fB_Deque_iterator\fP< _Tp, _Ref, _Ptr > & __x)\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB168\fP of file \fBstl_deque\&.h\fP\&. .SH "Member Function Documentation" .PP .SS "template \fBiterator\fP \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::_M_const_cast () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB176\fP of file \fBstl_deque\&.h\fP\&. .SS "template void \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::_M_set_node (_Map_pointer __new_node)\fC [inline]\fP, \fC [noexcept]\fP" Prepares to traverse new_node\&. Sets everything except _M_cur, which should therefore be set by the caller immediately afterwards, based on _M_first and _M_last\&. .PP Definition at line \fB260\fP of file \fBstl_deque\&.h\fP\&. .SS "template static size_t \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::_S_buffer_size ()\fC [inline]\fP, \fC [static]\fP, \fC [noexcept]\fP" .PP Definition at line \fB131\fP of file \fBstl_deque\&.h\fP\&. .SS "template reference \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::operator* () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB180\fP of file \fBstl_deque\&.h\fP\&. .SS "template \fB_Self\fP & \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::operator++ ()\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB188\fP of file \fBstl_deque\&.h\fP\&. .SS "template \fB_Self\fP \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::operator++ (int)\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB200\fP of file \fBstl_deque\&.h\fP\&. .SS "template \fB_Self\fP & \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::operator+= (difference_type __n)\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB228\fP of file \fBstl_deque\&.h\fP\&. .SS "template \fB_Self\fP & \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::operator\-\- ()\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB208\fP of file \fBstl_deque\&.h\fP\&. .SS "template \fB_Self\fP \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::operator\-\- (int)\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB220\fP of file \fBstl_deque\&.h\fP\&. .SS "template \fB_Self\fP & \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::operator\-= (difference_type __n)\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB247\fP of file \fBstl_deque\&.h\fP\&. .SS "template pointer \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::operator\-> () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB184\fP of file \fBstl_deque\&.h\fP\&. .SS "template reference \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::operator[] (difference_type __n) const\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB251\fP of file \fBstl_deque\&.h\fP\&. .SH "Friends And Related Function Documentation" .PP .SS "template template bool operator!= (const \fB_Self\fP & __x, const \fB_Deque_iterator\fP< _Tp, _RefR, _PtrR > & __y)\fC [friend]\fP" .PP Definition at line \fB296\fP of file \fBstl_deque\&.h\fP\&. .SS "template bool operator!= (const \fB_Self\fP & __x, const \fB_Self\fP & __y)\fC [friend]\fP" .PP Definition at line \fB291\fP of file \fBstl_deque\&.h\fP\&. .SS "template \fB_Self\fP operator+ (const \fB_Self\fP & __x, difference_type __n)\fC [friend]\fP" .PP Definition at line \fB378\fP of file \fBstl_deque\&.h\fP\&. .SS "template \fB_Self\fP operator+ (difference_type __n, const \fB_Self\fP & __x)\fC [friend]\fP" .PP Definition at line \fB394\fP of file \fBstl_deque\&.h\fP\&. .SS "template template difference_type operator\- (const \fB_Self\fP & __x, const \fB_Deque_iterator\fP< _Tp, _RefR, _PtrR > & __y)\fC [friend]\fP" .PP Definition at line \fB367\fP of file \fBstl_deque\&.h\fP\&. .SS "template difference_type operator\- (const \fB_Self\fP & __x, const \fB_Self\fP & __y)\fC [friend]\fP" .PP Definition at line \fB353\fP of file \fBstl_deque\&.h\fP\&. .SS "template \fB_Self\fP operator\- (const \fB_Self\fP & __x, difference_type __n)\fC [friend]\fP" .PP Definition at line \fB386\fP of file \fBstl_deque\&.h\fP\&. .SS "template template bool operator< (const \fB_Self\fP & __x, const \fB_Deque_iterator\fP< _Tp, _RefR, _PtrR > & __y)\fC [friend]\fP" .PP Definition at line \fB309\fP of file \fBstl_deque\&.h\fP\&. .SS "template bool operator< (const \fB_Self\fP & __x, const \fB_Self\fP & __y)\fC [friend]\fP" .PP Definition at line \fB301\fP of file \fBstl_deque\&.h\fP\&. .SS "template template bool operator<= (const \fB_Self\fP & __x, const \fB_Deque_iterator\fP< _Tp, _RefR, _PtrR > & __y)\fC [friend]\fP" .PP Definition at line \fB334\fP of file \fBstl_deque\&.h\fP\&. .SS "template bool operator<= (const \fB_Self\fP & __x, const \fB_Self\fP & __y)\fC [friend]\fP" .PP Definition at line \fB329\fP of file \fBstl_deque\&.h\fP\&. .SS "template template bool operator== (const \fB_Self\fP & __x, const \fB_Deque_iterator\fP< _Tp, _RefR, _PtrR > & __y)\fC [friend]\fP" .PP Definition at line \fB276\fP of file \fBstl_deque\&.h\fP\&. .SS "template bool operator== (const \fB_Self\fP & __x, const \fB_Self\fP & __y)\fC [friend]\fP" .PP Definition at line \fB268\fP of file \fBstl_deque\&.h\fP\&. .SS "template template bool operator> (const \fB_Self\fP & __x, const \fB_Deque_iterator\fP< _Tp, _RefR, _PtrR > & __y)\fC [friend]\fP" .PP Definition at line \fB324\fP of file \fBstl_deque\&.h\fP\&. .SS "template bool operator> (const \fB_Self\fP & __x, const \fB_Self\fP & __y)\fC [friend]\fP" .PP Definition at line \fB319\fP of file \fBstl_deque\&.h\fP\&. .SS "template template bool operator>= (const \fB_Self\fP & __x, const \fB_Deque_iterator\fP< _Tp, _RefR, _PtrR > & __y)\fC [friend]\fP" .PP Definition at line \fB346\fP of file \fBstl_deque\&.h\fP\&. .SS "template bool operator>= (const \fB_Self\fP & __x, const \fB_Self\fP & __y)\fC [friend]\fP" .PP Definition at line \fB341\fP of file \fBstl_deque\&.h\fP\&. .SH "Member Data Documentation" .PP .SS "template _Elt_pointer \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::_M_cur" .PP Definition at line \fB142\fP of file \fBstl_deque\&.h\fP\&. .SS "template _Elt_pointer \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::_M_first" .PP Definition at line \fB143\fP of file \fBstl_deque\&.h\fP\&. .SS "template _Elt_pointer \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::_M_last" .PP Definition at line \fB144\fP of file \fBstl_deque\&.h\fP\&. .SS "template _Map_pointer \fBstd::_Deque_iterator\fP< _Tp, _Ref, _Ptr >::_M_node" .PP Definition at line \fB145\fP of file \fBstl_deque\&.h\fP\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.