C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
C++ Output Iterator
Insert Iterator
Syntaxtemplate<class Container, class Iterator> insert_iterator<container> inserter(Container &x,Iterator it); Parametersx: It is the container on which the new element is to be inserted. it: It is an iterator object pointing to the position which is to be modified. Let's see a simple example: #include <iostream> // std::cout #include <iterator> // std::front_inserter #include <vector> // std::list #include <algorithm> // std::copy using namespace std; int main () { vector<int> v1,v2; for (int i=1; i<=5; i++) { v1.push_back(i); v2.push_back(i+2); } vector<int>::iterator it = v1.begin(); advance (it,3); copy (v2.begin(),v2.end(),inserter(v1,it)); cout<<"Elements of v1 are :"; for ( it = v1.begin(); it!= v1.end(); ++it ) cout << ' ' << *it; cout << '\n'; return 0; } Output: Elements of v1 are : 1 2 3 3 4 5 6 7 4 5 In the above example, insert_iterator is applied on the copy algorithm to insert the elements of the vector v2 into the vector v1 at a specified position pointed by it. Ostream iterator
Syntaxtemplate<class T, class charT=char, class traits=char_traits<charT>> class ostream_iterator; Member functions of Ostream Iterator class Ostream_iterator<T, charT, traits>& operator=(const T& value); Ostream_iterator<T, charT, traits>& operator*(); Ostream_iterator<T, charT, traits>& operator++(); Ostream_iterator<T, charT, traits>& operator++(int); Parameters
Let's see a simple example: #include <iostream> #include<iterator> #include<vector> #include<algorithm> using namespace std; int main() { vector<int> v; for(int i=1;i<=5;i++) { v.push_back(i*10); } ostream_iterator<int> out(cout,","); copy(v.begin(),v.end(),out); return 0; } Output: 10,20,30,40,50 In the above example, out is an object of the ostream_iterator used to add the delimiter ',' between the vector elements. Let's see another simple example of ostream iterator: #include <iostream> #include<iterator> #include<vector> #include<algorithm> using namespace std; int main() { ostream_iterator<int> out(cout,","); *out = 5; out++; *out = 10; out++; *out = 15; return 0; } Output: 5,10,15, Features Of Output Iterator
X==Y; invalid X!=Y; invalid
*X=7;
X++; ++X; Limitations Of Output Iterator
Suppose 'A' is an output iterator type and 'x' is a integer variable: *A = x; // valid x = *A; // invalid
Suppose 'A' is an output iterator type: A++; // not valid ++A; // not valid
Suppose 'A' and 'B' are the two iterators: A = =B; // not valid A = =B; // not valid
Suppose 'A' is an output iterator: A + 2; // invalid A + 5; // invalid |