8#ifndef INCLUDED_BSLSTL_BIDIRECTIONALITERATOR
9#define INCLUDED_BSLSTL_BIDIRECTIONALITERATOR
230#include <bslscm_version.h>
265template <
class T,
class ITER_IMP,
class TAG_TYPE =
266 std::bidirectional_iterator_tag>
360template <
class T1,
class T2,
class ITER_IMP,
class TAG_TYPE>
371template <
class T1,
class T2,
class ITER_IMP,
class TAG_TYPE>
379template <
class T,
class ITER_IMP,
class TAG_TYPE>
388template <
class T,
class ITER_IMP,
class TAG_TYPE>
401template <
class T,
class ITER_IMP,
class TAG_TYPE>
408template <
class T,
class ITER_IMP,
class TAG_TYPE>
416template <
class T,
class ITER_IMP,
class TAG_TYPE>
425template <
class T,
class ITER_IMP,
class TAG_TYPE>
436template <
class T,
class ITER_IMP,
class TAG_TYPE>
445template <
class T,
class ITER_IMP,
class TAG_TYPE>
457template <
class T1,
class T2,
class ITER_IMP,
class TAG_TYPE>
460 const BidirectionalIterator<T2,ITER_IMP,TAG_TYPE>& rhs)
462 return lhs.imp() == rhs.imp();
465template <
class T1,
class T2,
class ITER_IMP,
class TAG_TYPE>
468 const BidirectionalIterator<T2,ITER_IMP,TAG_TYPE>& rhs)
473template <
class T,
class ITER_IMP,
class TAG_TYPE>
478 BidirectionalIterator<T,ITER_IMP,TAG_TYPE> tmp(iter);
483template <
class T,
class ITER_IMP,
class TAG_TYPE>
488 BidirectionalIterator<T,ITER_IMP,TAG_TYPE> tmp(iter);
Definition bslstl_bidirectionaliterator.h:268
UnCvqT value_type
Definition bslstl_bidirectionaliterator.h:281
BidirectionalIterator()
Definition bslstl_bidirectionaliterator.h:403
BidirectionalIterator & operator--()
Definition bslstl_bidirectionaliterator.h:448
T & reference
Definition bslstl_bidirectionaliterator.h:284
BidirectionalIterator(const BidirectionalNonConstIterator &other)
Definition bslstl_bidirectionaliterator.h:418
BidirectionalIterator & operator=(const BidirectionalIterator &rhs)
BidirectionalIterator & operator=(const BidirectionalNonConstIterator &rhs)
Definition bslstl_bidirectionaliterator.h:428
std::bidirectional_iterator_tag iterator_category
Definition bslstl_bidirectionaliterator.h:285
BidirectionalIterator & operator++()
Definition bslstl_bidirectionaliterator.h:439
BidirectionalIterator(const BidirectionalIterator &original)
T * pointer
Definition bslstl_bidirectionaliterator.h:283
std::ptrdiff_t difference_type
Definition bslstl_bidirectionaliterator.h:282
BidirectionalIterator(const ITER_IMP &implementation)
Definition bslstl_bidirectionaliterator.h:411
Definition bslstl_forwarditerator.h:171
ForwardIterator & operator=(const ForwardIterator &rhs)
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
ALLOCATOR const STRING_VIEW_LIKE_TYPE & rhs
Definition bslstl_string.h:3918
ALLOCATOR & lhs
Definition bslstl_string.h:3917
Definition bslstl_algorithm.h:84
BidirectionalIterator< T, ITER_IMP, TAG_TYPE > operator--(BidirectionalIterator< T, ITER_IMP, TAG_TYPE > &iter, int)
BidirectionalIterator< T, ITER_IMP, TAG_TYPE > operator++(BidirectionalIterator< T, ITER_IMP, TAG_TYPE > &iter, int)
bool operator==(const BidirectionalIterator< T1, ITER_IMP, TAG_TYPE > &lhs, const BidirectionalIterator< T2, ITER_IMP, TAG_TYPE > &rhs)
bool operator!=(const BidirectionalIterator< T1, ITER_IMP, TAG_TYPE > &lhs, const BidirectionalIterator< T2, ITER_IMP, TAG_TYPE > &rhs)
remove_const< typenameremove_volatile< t_TYPE >::type >::type type
Definition bslmf_removecv.h:128