[ Web Proxy ]
URL:
Viewing: http://ja.cppreference.com/cpp/iterator/move_iterator [Back]  [Original]

std::move_iterator - cppreference.com
cppreference.com

std::move_iterator

: cppreference.com
 
C++
(C++20)
(C++20)
(C++17)
(C++11)
(C++11)
(C++11)
 
(C++11)
(C++11)
(C++11)(C++14)
(C++11)(C++14)
(C++17)(C++20)
(C++14)(C++14)
(C++14)(C++14)
(C++17)
(C++17)
 
 
<tbody> </tbody>
template< class Iter > class move_iterator;
(C++11)

std::move_iterator ( LegacyInputIterator )

iterator_type Iter
iterator_category

std::iterator_traits<Iter>::iterator_category

(C++20)

std::iterator_traits<Iter>::iterator_category std::derived_from<std::random_access_iterator_tag> std::random_access_iterator_tag std::iterator_traits<Iter>::iterator_category

(C++20)
iterator_concept
(C++20)
std::input_iterator_tag
value_type

std::iterator_traits<Iter>::value_type

(C++20)

std::iter_value_t<Iter>

(C++20)
difference_type

std::iterator_traits<Iter>::difference_type

(C++20)

std::iter_difference_t<Iter>

(C++20)
pointer Iter
reference

value_type&&

(C++17)

std::iterator_traits<Iter>::reference () std::iterator_traits<Iter>::reference

(C++17)
(C++20)

std::iter_rvalue_reference_t<Iter>

(C++20)


() [edit]

() [edit]

() [edit]

() [edit]

() [edit]

() [edit]

current (private) base()
()


() [edit]

() [edit]

() [edit]
2
() [edit]

() [edit]
(C++20)

() [edit]
(C++20)
2
() [edit]

#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>
#include <numeric>
#include <string>

int main()
{
    std::vector<std::string> v{"this", "is", "an", "example"};

    std::cout << "Old contents of the vector: ";
    for (auto& s : v)
        std::cout << '"' << s << "\" ";

    typedef std::vector<std::string>::iterator iter_t;
    std::string concat = std::accumulate(
                             std::move_iterator<iter_t>(v.begin()),
                             std::move_iterator<iter_t>(v.end()),
                             std::string());  // std::make_move_iterator 

    std::cout << "\nConcatenated as string: " << concat << '\n'
              << "New contents of the vector: ";
    for (auto& s : v)
        std::cout << '"' << s << "\" ";
    std::cout << '\n';
}

:

Old contents of the vector: "this" "is" "an" "example"
Concatenated as string: thisisanexample
New contents of the vector: "" "" "" ""

std::move_iterator
() [edit]
std::move_iterator
() [edit]

Web Proxy Viewer  |  New URL  |  Original Page