27constexpr MethodId WrapMethodId(uint32_t
id);
28constexpr uint32_t UnwrapMethodId(MethodId
id);
34 constexpr explicit MethodId(uint32_t
id) : id_(
id) {}
35 friend constexpr MethodId internal::WrapMethodId(uint32_t
id);
36 friend constexpr uint32_t internal::UnwrapMethodId(
MethodId id);
41 return internal::UnwrapMethodId(lhs) == internal::UnwrapMethodId(rhs);
44constexpr bool operator!=(MethodId lhs, MethodId rhs) {
return !(lhs == rhs); }
48constexpr bool operator<(MethodId lhs, MethodId rhs) {
49 return internal::UnwrapMethodId(lhs) < internal::UnwrapMethodId(rhs);
52constexpr bool operator>(MethodId lhs, MethodId rhs) {
return rhs < lhs; }
54constexpr bool operator<=(MethodId lhs, MethodId rhs) {
return !(lhs > rhs); }
56constexpr bool operator>=(MethodId lhs, MethodId rhs) {
return !(lhs < rhs); }
60constexpr MethodId WrapMethodId(uint32_t
id) {
return MethodId(
id); }
61constexpr uint32_t UnwrapMethodId(MethodId
id) {
return id.id_; }
69struct hash<
pw::rpc::MethodId> {
71 return hash<uint32_t>{}(::pw::rpc::internal::UnwrapMethodId(
id));
Definition: method_id.h:32
The Pigweed namespace.
Definition: alignment.h:27