master
mouse-demo
dankamongmen/mosaicworld
dankamongmen/unibilium
dankamongmen/octrees-for-victory
gh-pages
dankamongmen/windows-tester
dankamongmen/pile-drop-graphics
dankamongmen/DRMmeharder
dankamongmen/fbconscrollamatic
dankamongmen/iterm2complete
dankamongmen/linuxfbdumb
dankamongmen/rationalize-rgba
dankamongmen/thirdpass
dankamongmen/libsixel
dankamongmen/sixel-quantize
dankamongmen/sixel-speedup
dankamongmen/libvlc
dankamongmen/split-em-up
dankamongmen/ltr
dankamongmen/clock_nanosleep_portable
dankamongmen/xcb
github-action
dankamongmen/speedypainter
dankamongmen/slickgoose
dankamongmen/speedy-blend
v3.0.11
v3.0.10
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.4.9
v2.4.8
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.18
v2.3.17
v2.3.16
v2.3.15
v2.3.14
v2.3.13
v2.3.12
v2.3.11
v2.3.10
v2.3.9
v2.3.8
v2.3.7
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.11
v2.2.10
v2.2.9
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.8
v2.1.7
v2.1.5
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.12
v2.0.11
v2.0.10
v2.0.9
v2.0.8
v2.0.7
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v1.7.6
v1.7.5
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.6.20
v1.6.19
v1.6.17
v1.6.15
v1.6.12
v1.6.11
v1.6.10
v1.6.9
v1.6.6
v1.6.3
v1.6.1
v1.6.0
v1.5.3
v1.5.2
v1.5.1
v1.5.0
v1.4.5
v1.4.4.1
v1.4.3
v1.4.2.4
v1.4.2.3
v1.4.1
v1.4.0
v1.3.4
v1.3.3
v1.3.2
v1.3.1
v1.3.0
v1.2.9
v1.2.8
v1.2.7
v1.2.6
v1.2.5
v1.2.4
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.1.8
v1.1.7
v1.1.6
v1.1.5
v1.1.4
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.9
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.4.0
v0.3.0
v0.2.0
v0.1.0
v0.0.9
v1.6.18
${ noResults }
2 Commits (b56f5989bdc9167606706e21166b77e0e9d6fae5)
Author | SHA1 | Message | Date |
---|---|---|---|
Marek Habersack | 64eeb95f1e |
[C++] Optionally enable throwing exceptions on errors
Nick prefers error handling based on exceptions in all cases, while I prefer to save exception handling for truly exceptional situations - function parameter validation and class constructor. However, there's no need to not support both approaches, to be chosen at the discretion of the developer. NCPP follows RAII and all classes throw exceptions from their constructors in case they cannot initialize properly. Likewise, functions taking pointers that are required validate them and throw exceptions whenever the requirement isn't met. This commit goes one step further in that it enables optional validation of notcurses function return values and throwing an exception (`ncpp::call_error`) should the function signal an error. This is disabled by default but it can be enabled by defining the `NCPP_EXCEPTIONS_PLEASE` macro (preferably on the command line or before *each* inclusion of any NCPP headers). Out of necessity, this breaks the ABI (plus I found a handful of minor issues in the code), but I think it's worth having this support in place. |
5 years ago |
Marek Habersack | 75a90461dd | Add C++ bindings | 5 years ago |