protozero: Expose bool op + get() on MessageHandle
The bool operator was previously hidden behind MessageHandleBase - and
the get() method is useful e.g. if you want to pass a pointer of to the
pbzero object to a helper function.
Change-Id: I33a99da8acfb7e47415dabee0c15ed99a1ba9712
diff --git a/include/perfetto/protozero/message_handle.h b/include/perfetto/protozero/message_handle.h
index fd21d2e..a34693c 100644
--- a/include/perfetto/protozero/message_handle.h
+++ b/include/perfetto/protozero/message_handle.h
@@ -108,6 +108,8 @@
MessageHandle() : MessageHandle(nullptr) {}
explicit MessageHandle(T* message) : MessageHandleBase(message) {}
+ explicit operator bool() const { return MessageHandleBase::operator bool(); }
+
T& operator*() const {
return static_cast<T&>(MessageHandleBase::operator*());
}
@@ -115,6 +117,8 @@
T* operator->() const {
return static_cast<T*>(MessageHandleBase::operator->());
}
+
+ T* get() const { return static_cast<T*>(MessageHandleBase::operator->()); }
};
} // namespace protozero