Upgrade Wagyu to version 0.5.0

This commit is contained in:
Eric Fischer
2020-08-25 17:00:50 -07:00
parent ddb79937d9
commit e0c7f1b91a
55 changed files with 794 additions and 576 deletions
+50
View File
@@ -0,0 +1,50 @@
#pragma once
/**
* To enable this by the program, define USE_WAGYU_INTERRUPT before including wagyu.hpp
* To request an interruption, call `interrupt_request()`. As soon as Wagyu detects the request
* it will raise an exception (`std::runtime_error`).
*/
#ifdef USE_WAGYU_INTERRUPT
namespace {
thread_local bool WAGYU_INTERRUPT_REQUESTED = false;
}
namespace mapbox {
namespace geometry {
namespace wagyu {
static void interrupt_reset(void) {
WAGYU_INTERRUPT_REQUESTED = false;
}
static void interrupt_request(void) {
WAGYU_INTERRUPT_REQUESTED = true;
}
static void interrupt_check(void) {
if (WAGYU_INTERRUPT_REQUESTED) {
interrupt_reset();
throw std::runtime_error("Wagyu interrupted");
}
}
} // namespace wagyu
} // namespace geometry
} // namespace mapbox
#else /* ! USE_WAGYU_INTERRUPT */
namespace mapbox {
namespace geometry {
namespace wagyu {
static void interrupt_check(void) {
}
} // namespace wagyu
} // namespace geometry
} // namespace mapbox
#endif /* USE_WAGYU_INTERRUPT */