Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This patch marks as noexcept absolutely everything that could be under
C++11 rules. Excluded are, obviously, anything that intentionally throws,
and those are very few after Owen's recent Imath overhaul and my changes
to eliminate the weird integer versions of normalize et al.
This patch also makes most of numeric_limits constexpr, per
C++11 rules. But a few are not constexpr yet because parts of half
still need to be fully constexpr-plumbed, and there are some tricky
parts (and maybe not 100% possible in C++11). I may revisit this in a
later patch.
Using
noexcept
is a promise that the caller to your function won't needto handle exceptions. If your function calls something that turns out to
throw, it's on you to catch it, or else the application will crash with
an uncaught exception.
It's important that this get a thorough review. I really need a few
keen eyes to make sure that I haven't inadvertently marked anything
noexcept if it calls things (including outside Imath itself) that
might throw exceptions. (I mean, we can fix those bugs later, but I'd
prefer to find them now rather than in the heat of production.)
Closes #64
Signed-off-by: Larry Gritz lg@larrygritz.com