8#ifndef INCLUDED_BSLSTL_BIDIRECTIONALITERATOR
9#define INCLUDED_BSLSTL_BIDIRECTIONALITERATOR
228#include <bslscm_version.h>
263template <
class T,
class ITER_IMP,
class TAG_TYPE =
264 std::bidirectional_iterator_tag>
351template <
class T1,
class T2,
class ITER_IMP,
class TAG_TYPE>
361template <
class T1,
class T2,
class ITER_IMP,
class TAG_TYPE>
368template <
class T,
class ITER_IMP,
class TAG_TYPE>
376template <
class T,
class ITER_IMP,
class TAG_TYPE>
389template <
class T,
class ITER_IMP,
class TAG_TYPE>
396template <
class T,
class ITER_IMP,
class TAG_TYPE>
404template <
class T,
class ITER_IMP,
class TAG_TYPE>
413template <
class T,
class ITER_IMP,
class TAG_TYPE>
424template <
class T,
class ITER_IMP,
class TAG_TYPE>
433template <
class T,
class ITER_IMP,
class TAG_TYPE>
445template <
class T1,
class T2,
class ITER_IMP,
class TAG_TYPE>
448 const BidirectionalIterator<T2,ITER_IMP,TAG_TYPE>& rhs)
450 return lhs.imp() == rhs.imp();
453template <
class T1,
class T2,
class ITER_IMP,
class TAG_TYPE>
456 const BidirectionalIterator<T2,ITER_IMP,TAG_TYPE>& rhs)
458 return !(lhs == rhs);
461template <
class T,
class ITER_IMP,
class TAG_TYPE>
466 BidirectionalIterator<T,ITER_IMP,TAG_TYPE> tmp(iter);
471template <
class T,
class ITER_IMP,
class TAG_TYPE>
476 BidirectionalIterator<T,ITER_IMP,TAG_TYPE> tmp(iter);
Definition bslstl_bidirectionaliterator.h:266
UnCvqT value_type
Definition bslstl_bidirectionaliterator.h:279
BidirectionalIterator()
Definition bslstl_bidirectionaliterator.h:391
BidirectionalIterator & operator--()
Definition bslstl_bidirectionaliterator.h:436
T & reference
Definition bslstl_bidirectionaliterator.h:282
BidirectionalIterator(const BidirectionalNonConstIterator &other)
Definition bslstl_bidirectionaliterator.h:406
BidirectionalIterator & operator=(const BidirectionalIterator &rhs)
BidirectionalIterator & operator=(const BidirectionalNonConstIterator &rhs)
Definition bslstl_bidirectionaliterator.h:416
std::bidirectional_iterator_tag iterator_category
Definition bslstl_bidirectionaliterator.h:283
BidirectionalIterator & operator++()
Definition bslstl_bidirectionaliterator.h:427
BidirectionalIterator(const BidirectionalIterator &original)
T * pointer
Definition bslstl_bidirectionaliterator.h:281
std::ptrdiff_t difference_type
Definition bslstl_bidirectionaliterator.h:280
BidirectionalIterator(const ITER_IMP &implementation)
Definition bslstl_bidirectionaliterator.h:399
Definition bslstl_forwarditerator.h:169
ForwardIterator & operator=(const ForwardIterator &rhs)
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bslstl_algorithm.h:82
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:126