iterator

Is it possible to output the permutations of 1,...,n using only iterators?

Here a couple of examples in a pseudocode to show what I mean. This produces the combinations (selections disregarding order without repetition) of 1,...,n taking 3 at a time. Do[Print[i,j,k], {i,1...n-2}, {j,i+1...n-1}, {k,j+1...n}] The loop works from left to right---for each i, the iterator j will go through its values and for ea...

Peek the next element in STL container

is it possible to peek next element in a container which the iterator currently points to without changing the iterator? For example in std::set, int myArray[]= {1,2,3,4}; set <int> mySet(myArray, myArray+4); set <int>::iterator iter = mySet.begin(); //peek the next element in set without changing iterator. mySet.erase(iter); //erase...

Boost: Function Output Iterator, reinventing the wheel

Normally someone would just go and grab Boost's Function Output Iterator but I'm not allowed to use Boost at work. That said, I just want to use the copy function to traverse a collection, call a function on each item, take the output of that function, and finally push_back it onto another collection. I've written some code: #include ...

access data of struts2 nested iterator in action

<s:iterator var="parent" value="studentList"> <s:iterator var="child1" value="#parent.subjectList"> <s:property value="%{subjectName}" />: <s:textfield id="subject" name="%parent.subject.id}" theme="simple" /> </s:iterator> </s:iterator> I have a jsp page with the above code. I have two lists i) studentList, ii)...

Writing algorithm functions for STL

I have a std::set which is of type point struct point { int x; int y; int z; }; Suppose I want to perform three different operation on each variable in set i.e Find the smallest number from x variables. Get missing elements from y variables using set difference. Get product of all z variables. At this point, should i use thr...

Simplify/Neatify this two-way loop?

I've got my wires crossed somewhere (or I had not enough sleep). I need a two-way loop, and my current code is just plain ugly. Problem: I am running along a linear datastructre using an index. I have an starting index, lets say 120. I want to run alternating into both directions. Example: 120,121,119,122,118,123,117,... I have a sto...

C++: How do I write a function that accepts an iterator and inserts elements?

template<class Container> void BlitSurface::ExtractFrames(Container & output, int frame_width, int frame_height, int frames_per_row, int frames_per_column, bool padding) const { SDL_Surface ** temp_surf = SDL_Ex_ExtractFrames(_surface, frame_width, fram...

How do I avoid invoking the copy constructor with insertion iterators.

template<typename OutputIterator> void BlitSurface::ExtractFrames(OutputIterator it, int frame_width, int frame_height, int frames_per_row, int frames_per_column, bool padding) const { SDL_Surface ** temp_surf = SDL_Ex_ExtractFrames(_surfa...

Java - Swapping Values and Keys in one Map?

I am making an encrypt and decrypt program for my programming class, however I am a year ahead of the group so I thought I'd simplify things by using what I learned last year. I decided to use a Tree Map. What the program does is it takes in a file, reads the first line which contains the encrypt data of how the letters will be coded. It...

How do I subclass collections.Iterator?

According to the documentation on ABCs, I should just have to add a next method to be able to subclass collections.Iterator. So, I'm using the following class: class DummyClass(collections.Iterator): def next(self): return 1 However, I get an error when I try to instantiate it: >>> x = DummyClass() Traceback (most recent...

Segmentation fault on list.begin()

I have this member function in my Folder class: string _recFullPath() { list<Folder*> folders; list<Folder*>::iterator it = folders.begin(); folders.push_front(this); it = folders.begin(); while((*it)->hasParent()) { folders.push_front((*it)->parent()); it = folders.begin(); } folders.push_back(this); for(it = folders.begin(...

Safely traversing a raw Iterator in Java?

I'm using a third party library that returns a raw Iterator, e.g. Iterator<?> children = element.getChildElements(); I know the actual type, but I don't necessarily trust the third party lib to stick with it in the future. There are two (that I can think of) somewhat risky ways to traverse this: @SuppressWarnings("unchecked") Iterat...

iterator block to LINQ

I'm having a hard time finding the right LINQ syntax to use for the following iterator block: class Program { class Operation { public IEnumerable<Operation> NextOperations { get; private set; } } class Item { } static Item GetItem(Operation operation) { return new Item(); } static IEnum...

Java for each, but multiple iterator types?

I have a class Polygon on which I wish to implement two iterators: one to run through all elements (vertices and edges in alternating order) just ONCE, and another to run through them ad infinitum (cyclically). From a for-each usage standpoint, my guess is that I am only going to be able to have one of the above be the default iterator ...

Using count() on a class that implements Iterator in PHP

Quick question really: I've seen in bits of code in the past where the code could call count() on a object that implements Iterator, for custom Iterator classes. I've written a class that implements Iterator and works fine in a foreach loop, but I was just wondering if there was an extra class I had to extend or function I had to imple...

how to work with const in a map?

I'm having problems with this call: m_baseMap.find(baseName)->second->AddVehicale(vehicaleToAdd); There's a red line under m_baseMap, the error is : "the object has type qualifiers that are not compatible with the member function". The base map is defined as the following: map <string, const Base*> m_baseMap; How can I fix it? ...

list(y) behavior is "wrong" on first call

I have an iterator with a __len__ method defined. Questions: If you call list(y) and y has a __len__ method defined, then __len__ is called.    1) Why? In my output, you will see that the len(list(y)) is 0 on the first try. If you look at the list output, you will see that on the first call, I receive an empty list, and on the seco...

Generic Array Creation vs Array.newInstance()

I'm writing a class which has two ArrayList fields. One is for containing custom objects. The other is for containing custom collection objects (which may also have these fields): private ArrayList<SomeClass> myObjList; // Just objects private ArrayList<SomeCollectionClass> myCollectionList; // Collections of objects ...

STL, list, iterator

Hello everybody! Exscusme buy my English ))) I have this problem: I must iterate items in STL list with posible editing items: remove, add, edit. This is my approach: void MoveOnNewPlace(Tree& parent, Tree& child) { Tree *temp=&parent; while(temp->GetParent()!=temp && temp->GetItem().GetChar()=='(') temp=temp->GetPar...

std::vector iterator invalidation

There have been a few questions regarding this issue before; my understanding is that calling std::vector::erase will only invalidate iterators which are at a position after the erased element. However, after erasing an element, is the iterator at that position still valid (provided, of course, that it doesn't point to end() after the e...