diff --git a/src/mlpack/core/cereal/pointer_wrapper.hpp b/src/mlpack/core/cereal/pointer_wrapper.hpp index 9385b19595..af31d13747 100644 --- a/src/mlpack/core/cereal/pointer_wrapper.hpp +++ b/src/mlpack/core/cereal/pointer_wrapper.hpp @@ -20,14 +20,10 @@ template class pointer_wrapper { public: + pointer_wrapper(T*& pointer) + : localPointer(pointer) + {} - pointer_wrapper(T * pointer) - { - localPointer = std::move(pointer); - std::cout << "address of local ptr" << localPointer << std::endl; - std::cout << "address of pointer" << pointer << std::endl; - } - template void save(Archive& ar, const unsigned int /*version*/) const { @@ -38,17 +34,15 @@ public: template void load(Archive& ar, const unsigned int /*version*/) { - std::unique_ptr smartPointer; - ar(CEREAL_NVP(smartPointer)); - this->localPointer = smartPointer.release(); - std::cout << "The value of localPointer is : " << *localPointer << std::endl; - std::cout << "The addresss of localPointer is : " << &localPointer << std::endl; + std::unique_ptr smartPointer; + ar(CEREAL_NVP(smartPointer)); + localPointer = smartPointer.release(); } + T*& release() { return localPointer; } + private: - T* localPointer; - - + T*& localPointer; }; template