From 7c06b903f3493db95fcf4bd42cccc59e3b4d0692 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Thu, 11 Jul 2013 21:09:51 +0900 Subject: Use std::unique_ptr for ValueBase object hierarchy --- src/ValueBaseStructParserStateMachine.h | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src/ValueBaseStructParserStateMachine.h') diff --git a/src/ValueBaseStructParserStateMachine.h b/src/ValueBaseStructParserStateMachine.h index 38834438..a4b0c513 100644 --- a/src/ValueBaseStructParserStateMachine.h +++ b/src/ValueBaseStructParserStateMachine.h @@ -55,8 +55,8 @@ class ValueBaseStructParserState; // value holder. class ValueBaseStructParserStateMachine : public StructParserStateMachine { public: - typedef std::shared_ptr ResultType; - static const std::shared_ptr& noResult(); + typedef std::unique_ptr ResultType; + static std::unique_ptr noResult(); struct NumberData { int64_t number; @@ -82,7 +82,7 @@ public: CXX11_OVERRIDE; virtual void boolCallback(bool bval) CXX11_OVERRIDE; - std::shared_ptr getResult() const; + std::unique_ptr getResult(); virtual void reset() CXX11_OVERRIDE; @@ -93,9 +93,10 @@ public: void popArrayFrame(); void popDictFrame(); void pushFrame(); - void setCurrentFrameValue(const std::shared_ptr& value); - const std::shared_ptr& getCurrentFrameValue() const; - void setCurrentFrameName(const std::string& name); + void setCurrentFrameValue(std::unique_ptr value); + const std::unique_ptr& getCurrentFrameValue() const; + std::unique_ptr popCurrentFrameValue(); + void setCurrentFrameName(std::string name); void pushDictState(); void pushDictKeyState(); @@ -107,7 +108,7 @@ public: void pushBoolState(); void pushNullState(); private: - rpc::XmlRpcRequestParserController* ctrl_; + std::unique_ptr ctrl_; std::stack stateStack_; SessionData sessionData_; }; -- cgit