| Patrick Venture | 863b924 | 2018-03-08 08:29:23 -0800 | [diff] [blame] | 1 | #pragma once |
| 2 | |||||
| 3 | /* Interface that implements an exception throwing read method. */ | ||||
| 4 | |||||
| 5 | #include "interfaces.hpp" | ||||
| 6 | |||||
| Patrick Venture | a076487 | 2020-08-08 07:48:43 -0700 | [diff] [blame] | 7 | namespace pid_control |
| 8 | { | ||||
| 9 | |||||
| Patrick Venture | da4a5dd | 2018-08-31 09:42:48 -0700 | [diff] [blame] | 10 | class ReadOnly : public WriteInterface |
| Patrick Venture | 863b924 | 2018-03-08 08:29:23 -0800 | [diff] [blame] | 11 | { |
| Patrick Venture | da4a5dd | 2018-08-31 09:42:48 -0700 | [diff] [blame] | 12 | public: |
| Patrick Williams | 8c05112 | 2023-05-10 07:50:59 -0500 | [diff] [blame] | 13 | ReadOnly() : WriteInterface(0, 0) {} |
| Patrick Venture | 863b924 | 2018-03-08 08:29:23 -0800 | [diff] [blame] | 14 | |
| Patrick Venture | da4a5dd | 2018-08-31 09:42:48 -0700 | [diff] [blame] | 15 | void write(double value) override; |
| Patrick Venture | 863b924 | 2018-03-08 08:29:23 -0800 | [diff] [blame] | 16 | }; |
| 17 | |||||
| Patrick Venture | da4a5dd | 2018-08-31 09:42:48 -0700 | [diff] [blame] | 18 | class ReadOnlyNoExcept : public WriteInterface |
| Patrick Venture | 863b924 | 2018-03-08 08:29:23 -0800 | [diff] [blame] | 19 | { |
| Patrick Venture | da4a5dd | 2018-08-31 09:42:48 -0700 | [diff] [blame] | 20 | public: |
| Patrick Williams | 8c05112 | 2023-05-10 07:50:59 -0500 | [diff] [blame] | 21 | ReadOnlyNoExcept() : WriteInterface(0, 0) {} |
| Patrick Venture | 863b924 | 2018-03-08 08:29:23 -0800 | [diff] [blame] | 22 | |
| Patrick Venture | da4a5dd | 2018-08-31 09:42:48 -0700 | [diff] [blame] | 23 | void write(double value) override; |
| Patrick Venture | 863b924 | 2018-03-08 08:29:23 -0800 | [diff] [blame] | 24 | }; |
| Patrick Venture | a076487 | 2020-08-08 07:48:43 -0700 | [diff] [blame] | 25 | |
| 26 | } // namespace pid_control | ||||