pw_digital_io: move type trait definition
Specialization `internal::Requires<class DigitalInterrupt>` was defined
in `pw_digital_io.h` instead of `internal/conversions.h`. This was
missed when moving specializations in the original change.
Change-Id: I205ad9dc5524938cf5bfa8db4be3ea8cd93118c4
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/98660
Commit-Queue: Anton Markov <amarkov@google.com>
Reviewed-by: Wyatt Hepler <hepler@google.com>
diff --git a/pw_digital_io/public/pw_digital_io/digital_io.h b/pw_digital_io/public/pw_digital_io/digital_io.h
index bbb565b..483f1a6 100644
--- a/pw_digital_io/public/pw_digital_io/digital_io.h
+++ b/pw_digital_io/public/pw_digital_io/digital_io.h
@@ -230,12 +230,6 @@
// Use this class in APIs when only interrupt functionality is required.
// Extend this class to implement a line that only supports interrupts.
//
-template <>
-struct internal::Requires<class DigitalInterrupt> {
- static constexpr bool input = false;
- static constexpr bool output = false;
- static constexpr bool interrupt = true;
-};
class DigitalInterrupt
: public DigitalIoOptional,
public internal::Conversions<DigitalInterrupt, DigitalIoOptional> {
diff --git a/pw_digital_io/public/pw_digital_io/internal/conversions.h b/pw_digital_io/public/pw_digital_io/internal/conversions.h
index e0acde9..ec2585d 100644
--- a/pw_digital_io/public/pw_digital_io/internal/conversions.h
+++ b/pw_digital_io/public/pw_digital_io/internal/conversions.h
@@ -97,6 +97,13 @@
// declarations are in the correct namespace.
template <>
+struct internal::Requires<class DigitalInterrupt> {
+ static constexpr bool input = false;
+ static constexpr bool output = false;
+ static constexpr bool interrupt = true;
+};
+
+template <>
struct internal::Requires<class DigitalIn> {
static constexpr bool input = true;
static constexpr bool output = false;