iterator

How to Use getViewableIterator in POI

I'm currently using POI to attempt to extract text out of a batch of Word documents and I need to be able to determine what entries a document contains. I've been able to get as far as pulling the document root and pulling the first entry but I want to be able to view all entries. the getEntries() method seems to provide this functiona...

C++ iterators & loop optimization

I see a lot of c++ code that looks like this: for( const_iterator it = list.begin(), const_iterator ite = list.end(); it != ite; ++it) As opposed to the more concise version: for( const_iterator it = list.begin(); it != list.end(); ++it) Will there be any difference in speed between these two conventions? Naively the...

Simple iterator looping gives unexpected result

I am sure it's an obvious error with my logic, but I can't seem to work out what I am doing wrong. Quite simply I have an array list of security codes, I want to compute the correlation between each combination of security codes. My code is as follows: private void crossCorr(ArrayList<String> codes, HashMap<String, Stock> stockMap){ /...

Java iterator over an empty collection of a parameterized type

In Java, I need to return an Iterator from my method. My data comes from another object which usually can give me an iterator so I can just return that, but in some circumstances the underlying data is null. For consistency, I want to return an "empty" iterator in that case so my callers don't have to test for null. I wanted to write ...

How to check whether STL iterator points at anything?

I want to do something like this: std::vector<int>::iterator it; // /cut/ search for something in vector and point iterator at it. if(!it) //check whether found do_something(); But there is no operator! for iterators. How can I check whether iterator points at anything? ...

Binary word trees

I have barely squeaked by my last cs class and now I am in data structures. I am building a binary tree structure from scratch and I am a little confused on how the iterator will work. I understand how they work in double linked lists, but am not sure how this one will work................ thanks. ...

Python Iterator Help + lxml

I have this script- import lxml from lxml.cssselect import CSSSelector from lxml.etree import fromstring from lxml.html import parse website = parse('http://xxx.com').getroot() selector = website.cssselect('.name') for i in range(0,18): print selector[i].text_content() As you can see the for loop stops after a number of ti...

Python style iterators in C

The "yield" statement in python allows simple iteration from a procedure, and it also means that sequences don't need to be pre-calculated AND stored in a array of "arbitrary" size. Is there a there a similar way of iterating (with yield) from a C procedure? ...

Safe to store list::iterator for later use?

Suppose I have a list, in which no new nodes are added or deleted. However, the nodes may be shuffled around. Is it safe to save an iterator, pointing to a node in the list, and access it at some arbitrarily later time? Edit (followup question): The documentation for list::splice() says that it removes elements from the argument list....

C++ Iterators Considered Harmful?

At the Boost library conference today, Andrei Alexandrescu author of the book Modern C++ Design and the Loki C++ library, spoke about why iterators are bad, and he had a better solution. I tried to read the presentation slides, but could not get much out of them. I have these questions for the StackOverflow community: Are iterators ba...

Custom Iterator in C++

I have a class TContainer that is an aggregate of several stl collections pointers to TItems class. I need to create an Iterator to traverse the elements in all the collections in my TContainer class abstracting the client of the inner workings. What would be a good way to do this?. Should I crate a class that extends an iterator (if ...

What's wrong with passing C++ iterator by reference?

I've written a few functions with a prototype like this: template <typename input_iterator> int parse_integer(input_iterator &begin, input_iterator end); The idea is that the caller would provide a range of characters, and the function would interpret the characters as an integer value and return it, leaving begin at one past the last...

Java date iterator factory, with rules specifying how to calculate the intervals

I am looking for a Java class where I can specify a set of date rules, such as "every 3rd sunday" and "the first occurrence of a monday every second month". I want to be able to get something like an infinite iterator out of it (.next() would return the next date matching the rules set). I think I'd be able to build it myself - but cale...

iterator for replacing list members in Java?

Hmmm... the Java Iterator<T> has a remove() method but not a replace(T replacement) method. Is there an efficient way to replace selected items in a List? I can use a for-loop to call get(i) and set(i) which is fine for ArrayList, but would suck for a linked list. ...

C++: First element of vector "corrupting"

I have a class (foo) that contains a vector. If i try iterating over the elements in the vector like so: for(vector<random>::iterator it = foo.getVector().begin(); it != foo.getVector().end(); ++it) { cout << (*it) << endl; } The first element is always corrupted and returns garbage data. However, if do something like: ...

Can I iterate over the elements that are in one range of iterators but not in another?

Let's say I have a sequential container, and a range (pair of iterators) within that container of elements that are currently 'active'. At some point, I calculate a new range of elements that should be active, which may overlap the previous range. I want to then iterate over the elements that were in the old active range but that are not...

C++: How come random deletion from a std::vector is faster than a std::list?

How come that random deletion from a std::vector is faster than a std::list? What I'm doing to speed it up is swapping the random element with the last and then deleting the last. I would have thought that the list would be faster since random deletion is what it was built for. for(int i = 500; i < 600; i++){ swap(vector1[i], vector...

Is it possible to write multiple iterators for a type in C#?

So for a type like: CoolCollection<T> you could have: foreach (T item in coolCollection) { ... } foreach (CoolNode node in coolCollection) { ... } If this isn't possible, maybe like foreach2, or some other way to iterate. Often times, I would really like more than 1 way of iterating on a type. EDIT: Sorry if it wasn't cle...

What does this code in "vector" mean? (C++)

I created a program, and it uses the vector.h #include, and iterators, etc... But when I run the program, under certain circumstances (I'm still trying to figure out what those would be) I get an assertion error refering me to line 98 of vector.h. I went to line 98 of vector.h and got this: #if _HAS_ITERATOR_DEBUGGING if (this->_...

Python: Elegant way of dual/multiple iteration over the same list

I've written a bit of code like the following to compare items with other items further on in a list. Is there a more elegant pattern for this sort of dual iteration? jump_item_iter = (j for j in items if some_cond) try: jump_item = jump_item_iter.next() except StopIteration: return for item in items: if jump_item is item: ...