STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Protected Attributes | List of all members
insert_iterator< _Container > Class Template Reference
Inheritance diagram for insert_iterator< _Container >:
iterator< _Category, _Ty, _Diff, _Pointer, _Reference >

Public Types

using container_type = _Container
 
- Public Types inherited from iterator< _Category, _Ty, _Diff, _Pointer, _Reference >
typedef _Category iterator_category
 
typedef _Ty value_type
 
typedef _Diff difference_type
 
typedef _Pointer pointer
 
typedef _Reference reference
 

Public Member Functions

 insert_iterator (_Container &_Cont, typename _Container::iterator _Where)
 
insert_iteratoroperator= (const typename _Container::value_type &_Val)
 
insert_iteratoroperator= (typename _Container::value_type &&_Val)
 
insert_iteratoroperator* ()
 
insert_iteratoroperator++ ()
 
insert_iteratoroperator++ (int)
 

Protected Attributes

_Container * container
 
_Container::iterator iter
 

Member Typedef Documentation

template<class _Container >
using insert_iterator< _Container >::container_type = _Container

Constructor & Destructor Documentation

template<class _Container >
insert_iterator< _Container >::insert_iterator ( _Container &  _Cont,
typename _Container::iterator  _Where 
)
inline
84  : container(_STD addressof(_Cont)), iter(_Where)
85  { // construct with container and iterator
86  }
_STD_BEGIN constexpr _Ty * addressof(_Ty &_Val) _NOEXCEPT
Definition: xstddef:628
_Container::iterator iter
Definition: iterator:119
_Container * container
Definition: iterator:118

Member Function Documentation

template<class _Container >
insert_iterator& insert_iterator< _Container >::operator* ( )
inline
103  { // pretend to return designated value
104  return (*this);
105  }
template<class _Container >
insert_iterator& insert_iterator< _Container >::operator++ ( )
inline
108  { // pretend to preincrement
109  return (*this);
110  }
template<class _Container >
insert_iterator& insert_iterator< _Container >::operator++ ( int  )
inline
113  { // pretend to postincrement
114  return (*this);
115  }
template<class _Container >
insert_iterator& insert_iterator< _Container >::operator= ( const typename _Container::value_type &  _Val)
inline
89  { // insert into container and increment stored iterator
90  iter = container->insert(iter, _Val);
91  ++iter;
92  return (*this);
93  }
_Container::iterator iter
Definition: iterator:119
_Container * container
Definition: iterator:118
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<class _Container >
insert_iterator& insert_iterator< _Container >::operator= ( typename _Container::value_type &&  _Val)
inline
96  { // push value into container
97  iter = container->insert(iter, _STD move(_Val));
98  ++iter;
99  return (*this);
100  }
_Container::iterator iter
Definition: iterator:119
_Container * container
Definition: iterator:118
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349
_FwdIt const _Ty _Val
Definition: algorithm:1938

Member Data Documentation

template<class _Container >
_Container* insert_iterator< _Container >::container
protected
template<class _Container >
_Container::iterator insert_iterator< _Container >::iter
protected

The documentation for this class was generated from the following file: