std::move_iterator< _Iterator >(3cxx) std::move_iterator< _Iterator >(3cxx)
NAME
std::move_iterator< _Iterator > -
SYNOPSIS
Public Types
typedef
__traits_type::difference_type difference_type"
typedef
__traits_type::iterator_category iterator_category"
typedef _Iterator iterator_type
typedef _Iterator pointer
typedef value_type && reference
typedef __traits_type::value_type value_type
Public Member Functions
move_iterator (iterator_type __i)
template<typename _Iter > move_iterator (const move_iterator< _Iter > &__i)
iterator_type base () const
reference operator* () const
move_iterator operator+ (difference_type __n) const
move_iterator & operator++ ()
move_iterator operator++ (int)
move_iterator & operator+= (difference_type __n)
move_iterator operator- (difference_type __n) const
move_iterator & operator-- ()
move_iterator operator-- (int)
move_iterator & operator-= (difference_type __n)
pointer operator-> () const
reference operator[] (difference_type __n) const
Protected Types
typedef iterator_traits
< _Iterator > __traits_type"
Protected Attributes
_Iterator _M_current
Detailed Description
template<typename _Iterator>class std::move_iterator< _Iterator >
Class template move_iterator is an iterator adapter with the same behavior as the underlying iterator except that its dereference operator
implicitly converts the value returned by the underlying iterator's dereference operator to an rvalue reference. Some generic algorithms
can be called with move iterators to replace copying with moving.
Definition at line 924 of file stl_iterator.h.
Author
Generated automatically by Doxygen for libstdc++ from the source code.
libstdc++ Tue Nov 27 2012 std::move_iterator< _Iterator >(3cxx)
Check Out this Related Man Page
std::_Deque_iterator< _Tp, _Ref, _Ptr >(3cxx) std::_Deque_iterator< _Tp, _Ref, _Ptr >(3cxx)
NAME
std::_Deque_iterator< _Tp, _Ref, _Ptr > -
SYNOPSIS
Public Types
typedef _Tp ** _Map_pointer
typedef _Deque_iterator _Self
typedef _Deque_iterator< _Tp,
const _Tp &, const _Tp * > const_iterator"
typedef ptrdiff_t difference_type
typedef _Deque_iterator< _Tp,
_Tp &, _Tp * > iterator"
typedef
std::random_access_iterator_tag iterator_category"
typedef _Ptr pointer
typedef _Ref reference
typedef size_t size_type
typedef _Tp value_type
Public Member Functions
_Deque_iterator (_Tp *__x, _Map_pointer __y)
_Deque_iterator (const iterator &__x)
void _M_set_node (_Map_pointer __new_node)
reference operator* () const
_Self operator+ (difference_type __n) const
_Self & operator++ ()
_Self operator++ (int)
_Self & operator+= (difference_type __n)
_Self operator- (difference_type __n) const
_Self & operator-- ()
_Self operator-- (int)
_Self & operator-= (difference_type __n)
pointer operator-> () const
reference operator[] (difference_type __n) const
Static Public Member Functions
static size_t _S_buffer_size ()
Public Attributes
_Tp * _M_cur
_Tp * _M_first
_Tp * _M_last
_Map_pointer _M_node
Detailed Description
template<typename _Tp, typename _Ref, typename _Ptr>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.
All the functions are op overloads except for _M_set_node.
Definition at line 105 of file stl_deque.h.
Member Function Documentation
template<typename _Tp, typename _Ref, typename _Ptr> void std::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_set_node (_Map_pointer__new_node)
[inline]
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.
Definition at line 233 of file stl_deque.h.
Author
Generated automatically by Doxygen for libstdc++ from the source code.
libstdc++ Tue Nov 27 2012 std::_Deque_iterator< _Tp, _Ref, _Ptr >(3cxx)