mirror of
https://github.com/halleysfifthinc/AVCLAN-Mockingboard.git
synced 2026-08-11 08:22:52 +00:00
5208e083f3
- Peripheral::read/send now return `expected<unique_ptr<Frame>, Error>` for a unified success/error interface. - Peripheral::route returns `expected<unique_ptr<Frame>, Error>` to distinguish intent: (intentional) non-response vs unable to respond - Other functions with optional message semantics (handle,poll,react) return a unique_ptr whose ownership-state indicates response intent (i.e. send new message) Bundled necessary changes: - Switch Frame allocation from global to local (enabled via member function new/delete) - Add new header-library tl::expected to shim avr-libstdcpp Unrelated: Defensive `continue` added after `route`, to reduce Bus activity check latency Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
22 lines
696 B
Diff
22 lines
696 B
Diff
diff --git a/include/tl/optional.hpp b/include/tl/optional.hpp
|
|
index e9c59c2..1ff3d4a 100644
|
|
--- a/include/tl/optional.hpp
|
|
+++ b/include/tl/optional.hpp
|
|
@@ -21,7 +21,6 @@
|
|
#define TL_OPTIONAL_VERSION_MINOR 1
|
|
#define TL_OPTIONAL_VERSION_PATCH 0
|
|
|
|
-#include <exception>
|
|
#include <functional>
|
|
#include <new>
|
|
#include <type_traits>
|
|
@@ -664,7 +663,7 @@ struct nullopt_t {
|
|
static constexpr nullopt_t nullopt{nullopt_t::do_not_use{},
|
|
nullopt_t::do_not_use{}};
|
|
|
|
-class bad_optional_access : public std::exception {
|
|
+class bad_optional_access {
|
|
public:
|
|
bad_optional_access() = default;
|
|
const char *what() const noexcept { return "Optional has no value"; }
|