7#include <AH/STL/limits>
21 (std::numeric_limits<pin_int_t>::max() >> 1) + 1;
34 static_assert(std::is_unsigned<
decltype(
pin)>::value,
35 "Error: pin_t should be an unsigned integer type");
#define BEGIN_AH_NAMESPACE
bool operator!=(ArraySlice< T1, N1, Reverse1, Const1 > a, ArraySlice< T2, N2, Reverse2, Const2 > b)
Slice != Slice.
Array< decltype(T1 {} - T2 {}), N1 > operator-(ArraySlice< T1, N1, Reverse1, Const1 > a, ArraySlice< T2, N2, Reverse2, Const2 > b)
Slice - Slice.
Array< decltype(T1 {} *T2 {}), N1 > operator*(ArraySlice< T1, N1, Reverse1, Const1 > a, T2 b)
Slice * Scalar.
bool operator==(ArraySlice< T1, N1, Reverse1, Const1 > a, ArraySlice< T2, N2, Reverse2, Const2 > b)
Slice == Slice.
ArraySlice< T, N, Reverse, Const >::iterator operator+(typename ArraySlice< T, N, Reverse, Const >::iterator::difference_type n, typename ArraySlice< T, N, Reverse, Const >::iterator a)
<T, N, Reverse, Const>iterator
A namespace with alternatives to the standard Arduino IO functions that can be used with extended IO ...
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)
std::enable_if_t< std::is_arithmetic< T >::value, Print & > operator<<(Print &os, const AH::ArraySlice< T, N, Reverse, Const > &a)
Array< pin_t, N > PinList
An easy alias for arrays of pins.
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.
constexpr pin_int_t NO_PIN_INT
uint_fast16_t pin_int_t
Integer type used internally to store the index of (extended) GPIO pins.
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).
pin_t & operator+=(pin_int_t b)
pin_int_t pin
The actual underlying pin number.
constexpr pin_t(pin_int_t pin)
Constructor from integer.
pin_t & operator-=(pin_int_t b)
Type for storing pin numbers of Extended Input/Output elements.