cplusplus
.com
TUTORIALS
REFERENCE
ARTICLES
FORUM
C++
Tutorials
Reference
Articles
Forum
Reference
C library:
<cassert> (assert.h)
<cctype> (ctype.h)
<cerrno> (errno.h)
C++11
<cfenv> (fenv.h)
<cfloat> (float.h)
C++11
<cinttypes> (inttypes.h)
<ciso646> (iso646.h)
<climits> (limits.h)
<clocale> (locale.h)
<cmath> (math.h)
<csetjmp> (setjmp.h)
<csignal> (signal.h)
<cstdarg> (stdarg.h)
C++11
<cstdbool> (stdbool.h)
<cstddef> (stddef.h)
C++11
<cstdint> (stdint.h)
<cstdio> (stdio.h)
<cstdlib> (stdlib.h)
<cstring> (string.h)
C++11
<ctgmath> (tgmath.h)
<ctime> (time.h)
C++11
<cuchar> (uchar.h)
<cwchar> (wchar.h)
<cwctype> (wctype.h)
Containers:
C++11
<array>
<deque>
C++11
<forward_list>
<list>
<map>
<queue>
<set>
<stack>
C++11
<unordered_map>
C++11
<unordered_set>
<vector>
Input/Output:
<fstream>
<iomanip>
<ios>
<iosfwd>
<iostream>
<istream>
<ostream>
<sstream>
<streambuf>
Multi-threading:
C++11
<atomic>
C++11
<condition_variable>
C++11
<future>
C++11
<mutex>
C++11
<thread>
Other:
<algorithm>
<bitset>
C++11
<chrono>
C++11
<codecvt>
<complex>
<exception>
<functional>
C++11
<initializer_list>
<iterator>
<limits>
<locale>
<memory>
<new>
<numeric>
C++11
<random>
C++11
<ratio>
C++11
<regex>
<stdexcept>
<string>
C++11
<system_error>
C++11
<tuple>
C++11
<type_traits>
C++11
<typeindex>
<typeinfo>
<utility>
<valarray>
<iterator>
iterator
iterator_traits
functions
advance
back_inserter
C++11
begin
distance
C++11
end
front_inserter
inserter
C++11
make_move_iterator
C++11
next
C++11
prev
iterator categories
bidirectional_iterator_tag
forward_iterator_tag
input_iterator_tag
output_iterator_tag
random_access_iterator_tag
predefined iterators
back_insert_iterator
front_insert_iterator
insert_iterator
istream_iterator
istreambuf_iterator
C++11
move_iterator
ostream_iterator
ostreambuf_iterator
reverse_iterator
move_iterator
C++11
move_iterator::move_iterator
member functions
C++11
move_iterator::base
C++11
move_iterator::operator-
C++11
move_iterator::operator--
C++11
move_iterator::operator-=
C++11
move_iterator::operator->
C++11
move_iterator::operator[]
C++11
move_iterator::operator*
C++11
move_iterator::operator+
C++11
move_iterator::operator++
C++11
move_iterator::operator+=
C++11
move_iterator::operator=
non-member overloads
C++11
operator- (move_iterator)
C++11
operator+ (move_iterator)
C++11
relational operators (move_iterator)
Reference
<iterator>
move_iterator
operator-
public member function
<iterator>
std::
move_iterator
::operator-
move_iterator operator- (difference_type n) const;
Subtraction operator
Returns a
move iterator
pointing to the element located
n
positions before the element the iterator currently points to.
Internally, the function reflects the operation onto the
base iterator
and returns a
move iterator
constructed with the resulting value.
Note that this function requires the
base iterator
to be a
random-access iterator
.
This operator is also overloaded as a non-member function to return the difference of subtracting iterators: see
operator-
).
Parameters
n
Number of elements to offset backwards.
Member type
difference_type
is an alias of the
base iterator
's own difference type.
Return value
A
move iterator
pointing to the element
n
positions before the currently pointed one.
Data races
The object is accessed.
The iterator returned can be used to access or modify elements.
Exception safety
Provides the same level of guarantee as the operations internally applied to the
base iterator
.
See also
move_iterator::operator+
Addition operator
(public member function)
move_iterator::operator--
Decrease iterator position
(public member function)
move_iterator::operator-=
Decrease iterator
(public member function)