cginternals / glbinding

A C++ binding for the OpenGL API, generated using the gl.xml specification.
https://glbinding.org
MIT License
831 stars 93 forks source link

What's the status of noexcept? #312

Open Tyyppi77 opened 4 years ago

Tyyppi77 commented 4 years ago

Hi there, thanks for the awesome library! Are there any plans to support noexcept for the public bindings provided by the library? I found that #115 mentions this but that was 4.5 years ago.

Personally I find this the only downside of the library over old C-bindings, as IIRC C-headers are treated as noexcept by default, whereas here at least my Visual Studio 2019 warns about incorrect noexcept usage inside noexcept functions when Core Guideline Checks are enabled.

I understand that this might be challenging due to the existence of setAfterCallback, but I figured I'd at least ask.

scheibel commented 4 years ago

We may add noexcept to most of the signatures. Even for cases as setAfterCallback this could be added. However, throwing or unwinding exceptions within noexcept functions seems to issue an immediate termination of the program. Thus, we want to make absolutely sure there will be no exception thrown.