summaryrefslogtreecommitdiff
path: root/bindings/cpp/upb/def.hpp
diff options
context:
space:
mode:
authorJoshua Haberman <jhaberman@gmail.com>2011-09-04 19:29:36 -0700
committerJoshua Haberman <jhaberman@gmail.com>2011-09-04 19:29:36 -0700
commit621c0cdcb5efc4f7c2382031becded018ef0b62b (patch)
treed6af78ef0872c9db0f48c99e6c93b8d4c43fa689 /bindings/cpp/upb/def.hpp
parent8f2758dda2ba12b78ae8f8c7170decc5e88dd28c (diff)
Const invasion: large parts of upb made const-correct.
Diffstat (limited to 'bindings/cpp/upb/def.hpp')
-rw-r--r--bindings/cpp/upb/def.hpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/bindings/cpp/upb/def.hpp b/bindings/cpp/upb/def.hpp
index 6500243..d64625c 100644
--- a/bindings/cpp/upb/def.hpp
+++ b/bindings/cpp/upb/def.hpp
@@ -17,9 +17,14 @@ namespace upb {
class MessageDef : public upb_msgdef {
public:
+ // Converting from C types to C++ wrapper types.
static MessageDef* Cast(upb_msgdef *md) { return (MessageDef*)md; }
+ static const MessageDef* Cast(const upb_msgdef *md) {
+ return (const MessageDef*)md;
+ }
- void Unref() { return upb_msgdef_unref(this); }
+ void Ref() const { upb_msgdef_ref(this); }
+ void Unref() const { upb_msgdef_unref(this); }
private:
MessageDef();
@@ -28,14 +33,20 @@ class MessageDef : public upb_msgdef {
class SymbolTable : public upb_symtab {
public:
+ // Converting from C types to C++ wrapper types.
static SymbolTable* Cast(upb_symtab *s) { return (SymbolTable*)s; }
+ static const SymbolTable* Cast(const upb_symtab *s) {
+ return (SymbolTable*)s;
+ }
+
static SymbolTable* New() { return Cast(upb_symtab_new()); }
- void Unref() { return upb_symtab_unref(this); }
+ void Ref() const { upb_symtab_unref(this); }
+ void Unref() const { upb_symtab_unref(this); }
// If the given name refers to a message in this symbol table, returns a new
// ref to that MessageDef object, otherwise returns NULL.
- MessageDef* LookupMessage(const char *name) {
+ const MessageDef* LookupMessage(const char *name) const {
return MessageDef::Cast(upb_symtab_lookupmsg(this, name));
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback