public:
using Type = Addr;
- /** Explicit constructor assigning a value. */
+ /**
+ * Explicit constructor assigning a value.
+ *
+ * @ingroup api_channel_addr
+ * @{
+ */
explicit constexpr ChannelAddr(Type _a) : a(_a) { }
/** Converting back to the value type. */
constexpr bool operator==(const ChannelAddr &b) const { return a == b.a; }
constexpr bool operator!=(const ChannelAddr &b) const { return a != b.a; }
+ /** @} */ // end of api_channel_addr
+
private:
/** Member holding the actual value. */
Type a;
class ChannelAddrRange
{
public:
+ /**
+ * @ingroup api_channel_addr
+ * @{
+ */
constexpr ChannelAddrRange()
: ChannelAddrRange(ChannelAddr(1), ChannelAddr(0)) {}
return a >= _start && a <= _end;
}
+ /** @} */ // end of api_channel_addr
+
protected:
ChannelAddr _start;
ChannelAddr _end;
};
}
+/**
+ * @ingroup api_channel_addr
+ */
std::ostream &operator<<(std::ostream &out, const ChannelAddr &addr);
#endif // __BASE_CHANNEL_ADDR_HH__