Re: [eigen] On the implementation of STL iterator for Eigen::Matrix |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] On the implementation of STL iterator for Eigen::Matrix
- From: Joseph Mirabel <joseph.mirabel@xxxxxxx>
- Date: Wed, 3 Oct 2018 10:25:07 +0200
- Autocrypt: addr=joseph.mirabel@xxxxxxx; prefer-encrypt=mutual; keydata= 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 tuiytIlVETHqaQ==
- Openpgp: preference=signencrypt
Dear Gael,
Thank you for your great job.
Hopefully, I will not add more doubts with my suggestions.
for(auto x : A.irows()) { ... }
for(auto x : A.icols()) { ... }
for(auto x : A.icoeffs()) { ... }
(or iRows, to make sure the eyes do not remove the 'i')
the prefix i being for iterator. Users need to understand that iterator
methods are prefixed with i. Once, this is known, I think there is no
hard time remembering names for the one who writes the code. And I do
not see ambiguities for the one who reads it.
There are also longer options or the use of an intermediate class, like:
for(auto x : A.iterator().rows()) { ... }
> for(auto x : A.rowwise()) { ... }
I agree it is ambiguous. I would need to check the doc.
> for(auto x : A.allRows()) { ... }
> for(auto x : A.rowSet()) { ... }
Both are clear to me.
Best regards,
Joseph