From: Murphy, J. T. <jtm...@an...> - 2011-07-26 11:59:50
|
Kashif, First, look at the 'ask' methods of the AgentSet. These iterate through the agents in the set and perform the specified function for you. See the ZombieObserver.cpp 'go()' method for an example. If you must do it manually: as_iterator AgentSet::begin() - returns an iterator that represents the beginning of the agent set as_iterator AgentSet::end() - returns an iterator that represents the end of the agent set The data type is as_iterator; alternative versions exist for const iterators: const_as_iterator::AgentSet::begin() const const_as_iterator::AgentSet::end() const Something like: repast::relogo::AgentSet<ReLogoDemoAgent> myAgentSet; get(myAgentSet); repast::relogo::AgentSet<ReLogoDemoAgent>::as_iterator myIterator = myAgentSet.begin(); repast::relogo::AgentSet<ReLogoDemoAgent>::as_iterator endIter = myAgentSet.end(); while(myIterator != endIter){ std::cout << (*myIterator)->getId() << std::endl; myIterator++; } This will loop through the list of agents. Notice the dereferencing on myIterator when it is used in the loop; the iterator points to a pointer that must be dereferenced to use to point to the agent. Best, John -- John T. Murphy Computational Postdoctoral Fellow Decision and Information Sciences and Argonne Leadership Computing Facility Argonne National Laboratory jtm...@an... From: Kashif Zia <ka...@pe...<mailto:ka...@pe...>> Date: Tue, 26 Jul 2011 02:28:14 -0500 To: "rep...@li...<mailto:rep...@li...>" <rep...@li...<mailto:rep...@li...>> Subject: [Repast-interest] REpast HPC: iterate through AgentSet Hello Everyone I have an agentset. Want to iterate through it. Need a quick tip… Best --- Kashif Zia PhD Candidate Institut für Pervasive Computing, Johannes Kepler Universität Linz, Altenberger Straße 69, A-4040 Linz Room: P105, Phone: +43-732-2468-9673, Fax: +43-732-2468-8426 E-Mail: ka...@pe...<mailto:ka...@pe...> |