8#include <AH/Containers/Array.hpp>
10#include <AH/STL/limits>
25 constexpr pin_t(uint16_t pin) : pin(pin) {}
28 uint16_t pin = (std::numeric_limits<
decltype(
pin)>
::max() >> 1) + 1;
30 static_assert(std::is_unsigned<
decltype(pin)>::value,
31 "Error: pin_t should be an unsigned integer type");
#define BEGIN_AH_NAMESPACE
#define AH_DIAGNOSTIC_POP()
#define AH_DIAGNOSTIC_WERROR()
constexpr auto max(const T &a, const U &b) -> decltype(a< b ? b :a)
Return the larger of two numbers/objects.
Print & operator<<(Print &os, pin_t p)
constexpr bool operator<(pin_t a, pin_t b)
constexpr pin_t operator*(pin_t a, pin_t b)
constexpr pin_t operator+(pin_t a, pin_t b)
constexpr bool operator==(pin_t a, pin_t b)
constexpr bool operator<=(pin_t a, pin_t b)
constexpr bool operator!=(pin_t a, pin_t b)
constexpr bool operator>(pin_t a, pin_t b)
constexpr bool operator>=(pin_t a, pin_t b)
constexpr pin_t operator-(pin_t a, pin_t b)
uint16_t analog_t
The type returned from analogRead and similar functions.
constexpr pin_t NO_PIN
A special pin number that indicates an unused or invalid pin.
An array wrapper for easy copying, comparing, and iterating.
Type for storing pin numbers of Extended Input/Output elements.
constexpr pin_t()=default
Default constructor (NO_PIN).
uint16_t pin
The actual underlying pin number.
pin_t & operator-=(pin_t b)
constexpr pin_t(uint16_t pin)
Constructor from integer.
pin_t & operator+=(pin_t b)