Skip to content

Conversation

hollasch
Copy link
Collaborator

We try to keep our use of C++ dead simple for non-C++ programmers to read easily, but there are cases where we need to yield a bit. (For example, using shared pointers to keep memory management simple.)

In order to use the std::sort() function, we need to provide or use begin and end iterators. With the recent change to our estimate_halfway.cc program, we had different ways of using such iterators.

The BVH code used the member functions begin() and end(), while the estimate_halfway program used argument promotion from an array and the array plus an integer offset.

To standardize both and reduce variance, this change uses the currently-recommended practice of using std::begin(thing) and std::end(thing).

For now, I'm avoiding spending any text explaining to the non-C++ reader what these are, in the hopes that the meaning can be easily deduced.

We try to keep our use of C++ dead simple for non-C++ programmers to
read easily, but there are cases where we need to yield a bit. (For
example, using shared pointers to keep memory management simple.)

In order to use the std::sort() function, we need to provide or use
begin and end iterators. With the recent change to our
`estimate_halfway.cc` program, we had different ways of using such
iterators.

The BVH code used the member functions `begin()` and `end()`, while the
`estimate_halfway` program used argument promotion from an array and the
array plus an integer offset.

To standardize both and reduce variance, this change uses the
currently-recommended practice of using `std::begin(thing)` and
`std::end(thing)`.

For now, I'm avoiding spending any text explaining to the non-C++ reader
what these are, in the hopes that the meaning can be easily deduced.
@hollasch hollasch added this to the v4.0.0 milestone Apr 26, 2024
@hollasch hollasch requested a review from a team April 26, 2024 19:47
@hollasch hollasch self-assigned this Apr 26, 2024
@rupsis
Copy link
Contributor

rupsis commented Apr 26, 2024

We need the corresponding book changes as well?

@hollasch
Copy link
Collaborator Author

Gah!

@hollasch hollasch merged commit 4a9da46 into dev Apr 29, 2024
@hollasch hollasch deleted the iterators-begin-end branch April 29, 2024 17:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants