[
https://issues.apache.org/jira/browse/GIRAPH-221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alessandro Presta updated GIRAPH-221:
-------------------------------------
Description:
Is there any particular reason why BasicVertex implements Iterable?
It seems to me that doing
{code:java}
for (I neighbor : vertex)
{code}
is not that explicit, and
{code:java}
for (I neighbor : this)
{code}
gets even obscure (which may be why all examples in the codebase explicitly
instantiate an iterator and call next()).
What I propose is a more explicit
{code:java}
Iterator<I> outEdgesIterator()
{code}
and also a convenient
{code:java}
Iterable<I> outEdges()
{code}
so, for example, an algorithm can use
{code:java}
for (int neighbor : outEdges())
{code}
was:
Is there any particular reason why BasicVertex implements Iterable?
It seems to me that doing
{code:java}
for (I neighbor : vertex)
{code}
is not that explicit, and
{code:java}
for (I neighbor : this)
{code}
gets even obscure (which may be why all examples in the codebase explicitly
instantiate an iterator and call next()).
What I propose is a more explicit
{code:java}
Iterable<I> outEdgesIterator()
{code}
and also a convenient
{code:java}
Iterable<I> outEdges()
{code}
so, for example, an algorithm can use
{code:java}
for (int neighbor : outEdges())
{code}
> Make iteration over edges more explicit
> ---------------------------------------
>
> Key: GIRAPH-221
> URL: https://issues.apache.org/jira/browse/GIRAPH-221
> Project: Giraph
> Issue Type: Improvement
> Components: graph
> Reporter: Alessandro Presta
> Assignee: Alessandro Presta
> Priority: Minor
>
> Is there any particular reason why BasicVertex implements Iterable?
> It seems to me that doing
> {code:java}
> for (I neighbor : vertex)
> {code}
> is not that explicit, and
> {code:java}
> for (I neighbor : this)
> {code}
> gets even obscure (which may be why all examples in the codebase explicitly
> instantiate an iterator and call next()).
> What I propose is a more explicit
> {code:java}
> Iterator<I> outEdgesIterator()
> {code}
> and also a convenient
> {code:java}
> Iterable<I> outEdges()
> {code}
> so, for example, an algorithm can use
> {code:java}
> for (int neighbor : outEdges())
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira