// // upb - a minimalist implementation of protocol buffers. // // Copyright (c) 2011 Google Inc. See LICENSE for details. // Author: Josh Haberman #ifndef UPB_HPP #define UPB_HPP #include "upb/upb.h" #include namespace upb { typedef upb_success_t Success; class Status : public upb_status { public: Status() { upb_status_init(this); } ~Status() { upb_status_uninit(this); } bool ok() const { return upb_ok(this); } bool eof() const { return upb_eof(this); } const char *GetString() const { return upb_status_getstr(this); } void SetEof() { upb_status_seteof(this); } void SetErrorLiteral(const char* msg) { upb_status_seterrliteral(this, msg); } void Clear() { upb_status_clear(this); } }; class Value : public upb_value { public: Value(const upb_value& val) { *this = val; } Value() {} }; INLINE std::ostream& operator<<(std::ostream& out, const Status& status) { out << status.GetString(); return out; } } // namespace upb #endif