diff options
Diffstat (limited to 'staging_vespalib')
-rw-r--r-- | staging_vespalib/src/vespa/vespalib/objects/object2slime.cpp | 22 | ||||
-rw-r--r-- | staging_vespalib/src/vespa/vespalib/objects/object2slime.h | 4 |
2 files changed, 13 insertions, 13 deletions
diff --git a/staging_vespalib/src/vespa/vespalib/objects/object2slime.cpp b/staging_vespalib/src/vespa/vespalib/objects/object2slime.cpp index 7bfacc778bd..dc2bc3ef01c 100644 --- a/staging_vespalib/src/vespa/vespalib/objects/object2slime.cpp +++ b/staging_vespalib/src/vespa/vespalib/objects/object2slime.cpp @@ -6,7 +6,7 @@ namespace vespalib { Object2Slime::Object2Slime(slime::Cursor & cursor) - : _cursor(&cursor), + : _cursor(cursor), _stack() { } @@ -21,10 +21,10 @@ Object2Slime::openStruct(const vespalib::string &name, const vespalib::string &t _stack.push_back(_cursor); if (name.empty()) { - _cursor = & _cursor->setObject(type); + _cursor = _cursor.get().setObject(type); } else { - _cursor = & _cursor->setObject(name); - _cursor->setString("[type]", type); + _cursor = _cursor.get().setObject(name); + _cursor.get().setString("[type]", type); } } @@ -38,37 +38,37 @@ Object2Slime::closeStruct() void Object2Slime::visitBool(const vespalib::string &name, bool value) { - _cursor->setBool(name, value); + _cursor.get().setBool(name, value); } void Object2Slime::visitInt(const vespalib::string &name, int64_t value) { - _cursor->setLong(name, value); + _cursor.get().setLong(name, value); } void Object2Slime::visitFloat(const vespalib::string &name, double value) { - _cursor->setDouble(name, value); + _cursor.get().setDouble(name, value); } void Object2Slime::visitString(const vespalib::string &name, const vespalib::string &value) { - _cursor->setString(name, value); + _cursor.get().setString(name, value); } void Object2Slime::visitNull(const vespalib::string &name) { - _cursor->setNix(name); + _cursor.get().setNix(name); } void Object2Slime::visitNotImplemented() { - _cursor->setNix("not_implemented"); + _cursor.get().setNix("not_implemented"); } -} // namespace vespalib +} diff --git a/staging_vespalib/src/vespa/vespalib/objects/object2slime.h b/staging_vespalib/src/vespa/vespalib/objects/object2slime.h index f4bd66275ed..50d22b29969 100644 --- a/staging_vespalib/src/vespa/vespalib/objects/object2slime.h +++ b/staging_vespalib/src/vespa/vespalib/objects/object2slime.h @@ -15,8 +15,8 @@ namespace slime { class Cursor; } class Object2Slime : public ObjectVisitor { private: - slime::Cursor * _cursor; - std::vector<slime::Cursor *> _stack; + std::reference_wrapper<slime::Cursor> _cursor; + std::vector<std::reference_wrapper<slime::Cursor>> _stack; public: Object2Slime(slime::Cursor & cursor); |