An iterator is an object-oriented programming pattern which for the most part functions similarly to a pointer to an object inside a collection with the added ability to traverse through the collection in a defined manner, agnostic of the actual implementation or even object addresses in physical ...
-1
votes
0answers
15 views
Copying one list to another [on hold]
I am copying one ArrayList into another using an iterator:
...
1
vote
0answers
36 views
Finding a Cartesian product of multiple lists
I came up with an extension method to find a Cartesian product of multiple IEnumerable sets. I was able to achieve lazy enumeration via ...
2
votes
2answers
38 views
2
votes
3answers
203 views
JavaScript Iteration
In my current project I have objects of the following structure:
CanvasBundle - Object
Some elements...
gridCanvas
axesCanvas
...
3
votes
2answers
56 views
Custom C++ iterator
So I have written a custom iterator for std::map that allows access to just the "values" of the map and I was wondering if it is the "correct" way to implement ...
4
votes
2answers
76 views
Input iterator in C++
For educational purposes and to understand how iterators are working in C++, I've create an input iterator and I would like others to look at and provide any feedback on my code.
...
2
votes
0answers
36 views
An iterator returning all possible solutions to n-queen problem in Java - follow-up
(See the initial iteration.)
Now I have slightly improved performance of the iterator. Whenever we have set a queen at a particular board cell, the previous iteration sacrifices \$\mathcal{O}(n)\$ ...
2
votes
0answers
37 views
An iterator returning all possible solutions to n-queen problem in Java
(See the next iteration.)
Given a positive integer \$n\$, I have an iterator that returns all possible solutions to \$n\$-queens problem one by one:
QueenIterableV1.java:
...
5
votes
1answer
82 views
Yet another Pythonic range implementation for C++
I recently had the need to loop from zero to some limit only known at runtime. Instead of writing:
...
2
votes
0answers
48 views
Exposing Iterators while Trully Hiding Their Implementation
While implementing classes composed of various collections, I've found that it's pretty hard to completely hide the type of collection used, while still allowing C++ style operations on iterators.
...
7
votes
1answer
64 views
RFC 4180-compliant CSV parser in Java
While looking at a recent question, I realized that there is no CSV parser in the standard Java library. I decided to write one that complies with RFC 4180. Highlights of the standard include:
...
5
votes
0answers
80 views
An iterator returning all possible permutations of a list in Java
I have this class that iterates over all permutations of an input list:
PermutationIterable.java:
...
1
vote
2answers
60 views
Combination generator in Java - 2nd iteration
I have refactored the previous combination generator, and now it is an iterator returning combinations as lists. It hides larger constant factors as the previous version, yet it is really easy to use:
...
1
vote
2answers
31 views
multirange iterator
I'm doing some boring math with lot of sums over lot of variables. So, instead of nesting for loops I have decided to use something like this:
...
2
votes
2answers
39 views
Split up an iterable into batches
I was writing a program that had a list of e-mail messages. It needed to group them into batches, with the condition that each batch must have at max 20 messages, and be maximally 50k in size (no ...
8
votes
1answer
77 views
Scala implementation of @rolfl's integer-partitioning algorithm
While reviewing @Martijn's Distinct sums of integers (finding all combinations of positive integers that sum to a given number), I proposed the following solution:
...
7
votes
3answers
929 views
Flags on steroids
What is so bad about [Flags] enum? It does not support IEnumerable<T> anyhow, so to get one we need to use syntax like ...
3
votes
1answer
59 views
Range iterator in ES6 similar to Python and Ruby for
Background and Purpose
For those unaccustomed to Ruby, Ruby supports range literals i.e. 1..4 meaning 1, 2, 3, 4 and ...
9
votes
3answers
92 views
Finding if sequential numbers for total exists
Question:
Given a sequence of positive integers A and an integer T, return whether there is a continuous sequence of A that sums up to exactly T
Example:
...
10
votes
1answer
101 views
Max element of input iterator range
I came across this SO question on why std::max_element requires a ForwardIterator (as apposed to an ...
8
votes
1answer
95 views
Let's “Iterator” through Fibonacci, forever and ever
Following-up to my previous question, this class is now based on an iterator. The class, instead of forcing the programmer to use up a bunch of memory just to get each progressive number once, they ...
11
votes
1answer
63 views
iterating over the values of a list of ordered dictionaries
I am facing the following problem: I have a special data structure that is a dictionary whose keys are integers (dimensions). The values are also dictionaries whose keys are strings (geometric types) ...
5
votes
0answers
41 views
Using the llvm::iterator_adaptor_base
I'm currently working with the LLVM JIT framework. There is some graph I had to implement for internal cost bench-marking. It has cyclic node dependencies, so I have to use ...
5
votes
2answers
241 views
Mapping & Sorting Randomly Generated Numbers
Below is the assignment I was given and the coding is what I have came up with. I would appreciate criticism on how I did and on ways to have gone differently about it.
You want to number your ...
6
votes
2answers
151 views
Random access iterator for custom data type in C++
I am working with an array-like data container through a 3rd party API. So I can not change the container itself to add iterators. There are many different array-like classes, and each have a specific ...
5
votes
1answer
65 views
The final word on contiguous iterators
Following the paradigms of SCARY iterators, there should only be a single iterator-type for contiguous iterators per value-type.
Here my code for that iterator, working with C++11+:
...
5
votes
1answer
86 views
Pythonish integer range in Java - follow-up
(See the previous iteration.)
I have refactored the Range; now it looks like this:
Range.java:
...
12
votes
3answers
932 views
Pythonish integer range in Java
Introduction
After getting stuck with a Pythonish integer range in C++, I rewrote the facility in Java. In Python you can say:
...
5
votes
1answer
137 views
Pythonish integer range in C++
Python has that range:
>>> range(10, -20, -3)
[10, 7, 4, 1, -2, -5, -8, -11, -14, -17]
I have this C++ implementation of exactly the same facility:
range.h:
...
2
votes
3answers
48 views
Reimplementing enumerate() to produce a sequence or iterator
Apparently it is possible to implement enumerate so it produces a sequence when given a sequence, and produces an iterable otherwise. Sequence can be safely ...
3
votes
2answers
106 views
Singly-linked list implementation with iterators
Taking into account everything you guys told me last time I posted, I came up with this implementation of a singly-linked list, in which the first and last elements are known.
I tried to make the ...
8
votes
2answers
203 views
Filtered Iterator
I have written a wrapper for Java's Iterator class using Java 7, which is designed to only iterate items that match a certain filter.
When the filter is null, all ...
6
votes
1answer
63 views
Improving multiple assignment using an iterator function
Often I need to perform multiple assignment from a sequence
(e.g. from the result of a split()) but with some semantics
that, AFAIK, are not available in the ...
3
votes
1answer
80 views
Binary trees in Rust: more iterators! (non-consuming variant)
This is a follow-up to Binary trees in Rust: iterators, where Shepmaster suggested that I implement a non-consuming iterator.
This was relatively straightforward.
I chose to mirror the design of the ...
5
votes
1answer
132 views
Binary trees in Rust: iterators
This is a follow-up to Basic binary tree manipulation in Rust, where Shepmaster suggested that I implement the Iterator trait for the binary tree.
This ended up ...
6
votes
1answer
53 views
Saving and resuming position while iterating over a container
Background:
I'm in the process of writing a relatively simple behavior tree driven AI system for a game that I'm working on. Basically, the behavior tree is made up of individual gameplay tasks ...
8
votes
2answers
144 views
Yield statement in a using block from a clarity point of view
I want an opinion of the community about readability and maintainability of the following code.
This is quite a rare case when yield statement included in a using construction.
I know that this code ...
0
votes
2answers
124 views
Implementation of Vector in C++
This is a simple implementation of vector in C++. Please offer your reviews to improve the code.
...
4
votes
3answers
162 views
Using an IEnumerator without a foreach loop in order to simulate a state machine
I am working with an object that needs to run an ExecuteEffect() method. Sometimes, the ExecuteEffect() only needs to run once, ...
7
votes
3answers
354 views
Implementing xrange
I wanted to learn about Iterable and Iterators and hence thought about getting my hands dirty rather than reading theory and ...
8
votes
2answers
214 views
Iterating over Dungeon Map
I'm working on an RPG so of course I have to have some dungeons. I've got the dungeon generation working, with the output being a DungeonTileType[][].
Now I ...
8
votes
1answer
93 views
Chain multiple containers
Python has itertools.chain(), but C++ has nothing. This is my attempt to implement such a thing. Looking mainly for comments about potentially smarter ways of doing ...
6
votes
3answers
75 views
begin and end overloads for istream_iterator
I wrote this pretty straight forward begin and end overloads for istream_iterator.
Is this standards compliant? Any problems with usage?
...
6
votes
2answers
512 views
Implement Java hasNext() and next() in C++
Recently came upon this question asked in interview with major tech company.
Implement Java's next and hasNext function in your favorite
programming language.
Here is the solution I came up ...
5
votes
2answers
721 views
3
votes
1answer
59 views
Directed graph path enumerator in Java - follow-up
I have refactored the graph path enumerator. DirectedGraphNode was not changed, so refer to the link above in case you want to have a look at it. The node type is ...
4
votes
2answers
89 views
Directed graph path enumerator in Java
I have this iterator class that expects in its constructor two directed graph nodes, source and target, and upon each ...
3
votes
1answer
95 views
Chaining function for range-based for loop
Motivation: I'm relatively new to C++. I'm writing a function meant to be used with range-based for loops. The goal is to be able to iterate over multiple containers at once, each in turn (essentially ...
3
votes
3answers
95 views
Linked list implementation - follow-up
Follow-up to this question as recommended.
Can this code be improved from an OOP paradigm perspective?
...
1
vote
1answer
86 views
OOP paradigm implementation of a linked list
Can this code be improved from an OOP paradigm perspective?
...