http://programmingexamples.net/w/index.php?title=CPP/Boost/Iterators/IndirectIterator&feed=atom&action=history
CPP/Boost/Iterators/IndirectIterator - Revision history
2024-03-28T08:42:15Z
Revision history for this page on the wiki
MediaWiki 1.23.5
http://programmingexamples.net/w/index.php?title=CPP/Boost/Iterators/IndirectIterator&diff=5132&oldid=prev
Daviddoria: Created page with '==IndirectIterator.cpp== <source lang="cpp"> #include <iostream> #include <set> #include <boost/iterator/indirect_iterator.hpp> // Expose the itererator if the container stores…'
2012-01-02T16:17:43Z
<p>Created page with '==IndirectIterator.cpp== <source lang="cpp"> #include <iostream> #include <set> #include <boost/iterator/indirect_iterator.hpp> // Expose the itererator if the container stores…'</p>
<p><b>New page</b></p><div>==IndirectIterator.cpp==<br />
<source lang="cpp"><br />
#include <iostream><br />
#include <set><br />
<br />
#include <boost/iterator/indirect_iterator.hpp><br />
<br />
// Expose the itererator if the container stores objects.<br />
// class MyCollection<br />
// {<br />
// public:<br />
// // Iterator interface<br />
// typedef std::set<int>::iterator iterator;<br />
// typedef std::set<int>::const_iterator const_iterator;<br />
// <br />
// iterator begin() { return objects.begin(); }<br />
// <br />
// iterator end() { return objects.end(); }<br />
// <br />
// private:<br />
// <br />
// std::set<int> objects;<br />
// };<br />
<br />
// Expose the itererator if the container stores pointers.<br />
class MyCollection<br />
{<br />
public:<br />
MyCollection()<br />
{<br />
objects.insert(new int(3));<br />
}<br />
// Iterator interface<br />
//typedef boost::indirect_iterator<std::set<int> > iterator;<br />
typedef boost::indirect_iterator<std::set<int*>::iterator> iterator;<br />
<br />
iterator begin() { return objects.begin(); }<br />
<br />
iterator end() { return objects.end(); }<br />
<br />
private:<br />
<br />
std::set<int*> objects;<br />
};<br />
<br />
int main()<br />
{<br />
MyCollection myCollection;<br />
<br />
for(MyCollection::iterator iterator = myCollection.begin(); iterator != myCollection.end(); iterator++)<br />
{<br />
std::cout << " " << *iterator;<br />
}<br />
return 0;<br />
}<br />
<br />
<br />
</source><br />
<br />
==CMakeLists.txt==<br />
<source lang="cmake"><br />
<br />
cmake_minimum_required(VERSION 2.6)<br />
<br />
Project(IndirectIterator)<br />
<br />
ADD_EXECUTABLE(IndirectIterator IndirectIterator.cpp)<br />
</source></div>
Daviddoria